Bug#1054535: neuron: There is a compilation error for Neuron on the LoongArch machine.

wuruilong wuruilong at loongson.cn
Wed Oct 25 10:33:57 BST 2023


Source: neuron
Version: 8.2.2-5
Severity: normal
X-Debbugs-Cc: wuruilong at loongson.cn

Dear Maintainer,

  There is a compilation error for Neuron on the loongarch machine. 
Tested the patch attached to the email on the LoongArch machine and it resolved the issue.

wuruilong

-- System Information:
Debian Release: trixie/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: loong64 (loongarch64)

Kernel: Linux 5.10.0-60.96.0.126.oe2203.loongarch64 (SMP w/32 CPU threads)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
-------------- next part --------------
Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 neuron (8.2.2-5) unstable; urgency=medium
 .
   * Fix paths and dependencies to fix building models
     with nrnivmodl
   * tests: Add test for model compilation
Author: Matthias Klumpp <mak at debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
Bug: <upstream-bugtracker-url>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: (no|not-needed|<patch-forwarded-url>)
Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
Reviewed-By: <name and email of someone who approved/reviewed the patch>
Last-Update: 2023-10-25

--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeCache.txt
@@ -0,0 +1,1700 @@
+# This is the CMakeCache file.
+# For build in directory: /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//path to the bison executable
+BISON_EXECUTABLE:FILEPATH=/usr/bin/bison
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=-Wl,-z,relro
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//No help, variable specified on the command line.
+CMAKE_EXPORT_NO_PACKAGE_REGISTRY:UNINITIALIZED=ON
+
+//No help, variable specified on the command line.
+CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:UNINITIALIZED=ON
+
+//Value Computed by CMake.
+CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/pkgRedirects
+
+//No help, variable specified on the command line.
+CMAKE_FIND_USE_PACKAGE_REGISTRY:UNINITIALIZED=OFF
+
+//Binary install target
+CMAKE_INSTALL_BINDIR:STRING=lib/nrn/bin
+
+//Data install target
+CMAKE_INSTALL_DATADIR:STRING=share/nrn
+
+//Include file target directory
+CMAKE_INSTALL_INCLUDEDIR:STRING=include
+
+//Library install target
+CMAKE_INSTALL_LIBDIR:STRING=lib/nrn
+
+//No help, variable specified on the command line.
+CMAKE_INSTALL_LOCALSTATEDIR:UNINITIALIZED=/var
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr
+
+//No help, variable specified on the command line.
+CMAKE_INSTALL_RPATH:UNINITIALIZED=/usr/lib/nrn
+
+//No help, variable specified on the command line.
+CMAKE_INSTALL_RUNSTATEDIR:UNINITIALIZED=/run
+
+//No help, variable specified on the command line.
+CMAKE_INSTALL_SYSCONFDIR:UNINITIALIZED=/etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=-Wl,-z,relro
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=https://www.neuron.yale.edu/neuron/
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=NEURON
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=8.2.2
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=8
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=2
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=2
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=-Wl,-z,relro
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//No help, variable specified on the command line.
+CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:UNINITIALIZED=ON
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//Path to a program.
+CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=ON
+
+//Path to a library.
+CURSES_CURSES_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/libcurses.so
+
+//Path to a library.
+CURSES_FORM_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/libform.so
+
+//Path to a file.
+CURSES_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+CURSES_NCURSES_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/libncurses.so
+
+//Path to a program.
+CYTHON_EXECUTABLE:FILEPATH=/usr/bin/cython3
+
+//No help, variable specified on the command line.
+FETCHCONTENT_FULLY_DISCONNECTED:UNINITIALIZED=ON
+
+//path to the flex executable
+FLEX_EXECUTABLE:FILEPATH=/usr/bin/flex
+
+//Path to the flex headers
+FLEX_INCLUDE_DIR:PATH=FLEX_INCLUDE_DIR-NOTFOUND
+
+//Path to the fl library
+FL_LIBRARY:FILEPATH=FL_LIBRARY-NOTFOUND
+
+//Git command line client
+GIT_EXECUTABLE:FILEPATH=/usr/bin/git
+
+//Path to a file.
+IV_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a file.
+IV_LIB_DIR:PATH=IV_LIB_DIR-NOTFOUND
+
+//Executable for running MPI programs.
+MPIEXEC_EXECUTABLE:FILEPATH=/usr/bin/mpiexec
+
+//Maximum number of processors available to run MPI applications.
+MPIEXEC_MAX_NUMPROCS:STRING=1
+
+//Flag used by MPI to specify the number of processes for mpiexec;
+// the next option will be the number of processes.
+MPIEXEC_NUMPROC_FLAG:STRING=-n
+
+//These flags will be placed after all flags passed to mpiexec.
+MPIEXEC_POSTFLAGS:STRING=
+
+//These flags will be directly before the executable that is being
+// run by mpiexec.
+MPIEXEC_PREFLAGS:STRING=
+
+//MPI CXX additional include directories
+MPI_CXX_ADDITIONAL_INCLUDE_DIRS:STRING=
+
+//MPI compiler for CXX
+MPI_CXX_COMPILER:FILEPATH=/usr/bin/mpicxx
+
+//MPI CXX compiler wrapper include directories
+MPI_CXX_COMPILER_INCLUDE_DIRS:STRING=/usr/lib/loongarch64-linux-gnu/openmpi/include;/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi
+
+//MPI CXX compilation definitions
+MPI_CXX_COMPILE_DEFINITIONS:STRING=
+
+//MPI CXX compilation options
+MPI_CXX_COMPILE_OPTIONS:STRING=
+
+//Path to a file.
+MPI_CXX_HEADER_DIR:PATH=/usr/lib/loongarch64-linux-gnu/openmpi/include
+
+//MPI CXX libraries to link against
+MPI_CXX_LIB_NAMES:STRING=mpi_cxx;mpi
+
+//MPI CXX linker flags
+MPI_CXX_LINK_FLAGS:STRING=
+
+//If true, the MPI-2 C++ bindings are disabled using definitions.
+MPI_CXX_SKIP_MPICXX:BOOL=OFF
+
+//MPI C additional include directories
+MPI_C_ADDITIONAL_INCLUDE_DIRS:STRING=
+
+//MPI compiler for C
+MPI_C_COMPILER:FILEPATH=/usr/bin/mpicc
+
+//MPI C compiler wrapper include directories
+MPI_C_COMPILER_INCLUDE_DIRS:STRING=/usr/lib/loongarch64-linux-gnu/openmpi/include;/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi
+
+//MPI C compilation definitions
+MPI_C_COMPILE_DEFINITIONS:STRING=
+
+//MPI C compilation options
+MPI_C_COMPILE_OPTIONS:STRING=
+
+//Path to a file.
+MPI_C_HEADER_DIR:PATH=/usr/lib/loongarch64-linux-gnu/openmpi/include
+
+//MPI C libraries to link against
+MPI_C_LIB_NAMES:STRING=mpi
+
+//MPI C linker flags
+MPI_C_LINK_FLAGS:STRING=
+
+//Location of the mpi library for MPI
+MPI_mpi_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so
+
+//Location of the mpi_cxx library for MPI
+MPI_mpi_cxx_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi_cxx.so
+
+//Value Computed by CMake
+NEURON_BINARY_DIR:STATIC=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+//Value Computed by CMake
+NEURON_IS_TOP_LEVEL:STATIC=ON
+
+//Value Computed by CMake
+NEURON_SOURCE_DIR:STATIC=/home/debian-build/wuruilong/demo/neuron-8.2.2
+
+//No help, variable specified on the command line.
+NRN_3RDPARTY_USE_BACKWARD:BOOL=OFF
+
+//No help, variable specified on the command line.
+NRN_3RDPARTY_USE_CATCH2:BOOL=OFF
+
+//Use the git submodule Random123
+NRN_3RDPARTY_USE_RANDOM123:BOOL=OFF
+
+//Avoid embedding absolute paths in generated code (ccache optimisation)
+NRN_AVOID_ABSOLUTE_PATHS:BOOL=OFF
+
+NRN_ClangFormat_EXCLUDES_RE:STRING=
+
+//Use legacy units as default for dynamic units
+NRN_DYNAMIC_UNITS_USE_LEGACY:BOOL=OFF
+
+//Enable pretty-printed backtraces
+NRN_ENABLE_BACKTRACE:BOOL=OFF
+
+//Enable CoreNEURON support
+NRN_ENABLE_CORENEURON:BOOL=OFF
+
+//EnableCode Coverage (make cover_begin, make cover_html)
+NRN_ENABLE_COVERAGE:BOOL=OFF
+
+//Enable Observer to be a subclass of DiscreteEvent
+NRN_ENABLE_DISCRETE_EVENT_OBSERVER:BOOL=ON
+
+//Build documentation
+NRN_ENABLE_DOCS:BOOL=OFF
+
+//Build documentation without building NEURON. It will be assumed
+// that import neuron works, nrnivmodl is in PATH, etc.
+NRN_ENABLE_DOCS_WITH_EXTERNAL_INSTALLATION:BOOL=OFF
+
+//Enable GUI with INTERVIEWS
+NRN_ENABLE_INTERVIEWS:BOOL=ON
+
+//Dynamically load nrnmech shared library
+NRN_ENABLE_MECH_DLL_STYLE:BOOL=ON
+
+//Comma-separated list of detailed models to enable tests of.
+NRN_ENABLE_MODEL_TESTS:STRING=
+
+//Enable installation of NEURON Python module
+NRN_ENABLE_MODULE_INSTALL:BOOL=ON
+
+//Enable CoreNEURON compatibility for MOD files
+NRN_ENABLE_MOD_COMPATIBILITY:BOOL=OFF
+
+//Enable MPI support
+NRN_ENABLE_MPI:BOOL=ON
+
+//Enable dynamic MPI library support
+NRN_ENABLE_MPI_DYNAMIC:BOOL=OFF
+
+//Enable MUSIC support
+NRN_ENABLE_MUSIC:BOOL=OFF
+
+//Enable profiling
+NRN_ENABLE_PROFILING:BOOL=OFF
+
+//Enable Python interpreter support (default python3 fallback to
+// python)
+NRN_ENABLE_PYTHON:BOOL=ON
+
+//Enable dynamic Python version support
+NRN_ENABLE_PYTHON_DYNAMIC:BOOL=ON
+
+//Use relative RPATH in binaries. for relocatable installs/Python
+NRN_ENABLE_REL_RPATH:BOOL=OFF
+
+//Enable rx3d support
+NRN_ENABLE_RX3D:BOOL=ON
+
+//Build shared libraries (otherwise static library)
+NRN_ENABLE_SHARED:BOOL=ON
+
+//Enable unit tests
+NRN_ENABLE_TESTS:BOOL=OFF
+
+//Allow use of Pthreads
+NRN_ENABLE_THREADS:BOOL=ON
+
+//Extra compiler flags for NEURON source files
+NRN_EXTRA_CXX_FLAGS:STRING=
+
+//Extra compiler flags for translated NEURON mechanisms
+NRN_EXTRA_MECH_CXX_FLAGS:STRING=
+
+//No help, variable specified on the command line.
+NRN_MODULE_INSTALL_OPTIONS:STRING=--prefix=/home/debian-build/wuruilong/demo/neuron-8.2.2/debian/tmp/usr
+
+//semicolon (;) separated list of MPI include directories to build
+// against (default to first found mpi)
+NRN_MPI_DYNAMIC:STRING=
+
+//space separated list of flags to be added to host tools (nocmodl,
+// modlunit
+NRN_NMODL_CXX_FLAGS:STRING=-O0
+
+//Set which profiler to build against ('caliper', 'likwid')
+NRN_PROFILER:STRING=caliper
+
+//semicolon (;) separated list of python executables to create
+// interface for (default python3)
+NRN_PYTHON_DYNAMIC:STRING=
+
+//Optimization level for Cython generated files (non-zero may compile
+// slowly)
+NRN_RX3D_OPT_LEVEL:STRING=0
+
+//Comma-separated list of runtime sanitizers to enable. Possible
+// values: address, leak, undefined
+NRN_SANITIZERS:STRING=
+
+NRN_SANITIZERS_UNDEFINED_EXCLUSIONS:STRING=float-divide-by-zero;implicit-signed-integer-truncation;unsigned-integer-overflow
+
+//OFF
+NRN_WHEEL_BUILD:BOOL=OFF
+
+//Use static readline libraries for the wheels.
+NRN_WHEEL_STATIC_READLINE:BOOL=OFF
+
+//Arguments to supply to pkg-config
+PKG_CONFIG_ARGN:STRING=
+
+//pkg-config executable
+PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
+
+//Path to a program.
+PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3
+
+//Path to a library.
+PYTHON_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/libpython3.11.so
+
+//Path to a file.
+Readline_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+Readline_LIBRARY:FILEPATH=/usr/lib/loongarch64-linux-gnu/libreadline.so
+
+//Path to a file.
+Readline_ROOT_DIR:PATH=/usr
+
+//Path to a file.
+TERMCAP_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+TERMCAP_LIBRARIES:FILEPATH=/usr/lib/loongarch64-linux-gnu/libtermcap.so
+
+//Path to a file.
+X11_ICE_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_ICE_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libICE.so
+
+//Path to a file.
+X11_SM_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_SM_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libSM.so
+
+//Path to a file.
+X11_X11_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_X11_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libX11.so
+
+//Path to a file.
+X11_X11_xcb_INCLUDE_PATH:PATH=X11_X11_xcb_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_X11_xcb_LIB:FILEPATH=X11_X11_xcb_LIB-NOTFOUND
+
+//Path to a file.
+X11_XRes_INCLUDE_PATH:PATH=X11_XRes_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_XRes_LIB:FILEPATH=X11_XRes_LIB-NOTFOUND
+
+//Path to a file.
+X11_XShm_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_XSync_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xaccessrules_INCLUDE_PATH:PATH=X11_Xaccessrules_INCLUDE_PATH-NOTFOUND
+
+//Path to a file.
+X11_Xaccessstr_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xau_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xau_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXau.so
+
+//Path to a file.
+X11_Xaw_INCLUDE_PATH:PATH=X11_Xaw_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xaw_LIB:FILEPATH=X11_Xaw_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xcomposite_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xcomposite_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXcomposite.so
+
+//Path to a file.
+X11_Xcursor_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xcursor_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXcursor.so
+
+//Path to a file.
+X11_Xdamage_INCLUDE_PATH:PATH=X11_Xdamage_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xdamage_LIB:FILEPATH=X11_Xdamage_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xdmcp_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xdmcp_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXdmcp.so
+
+//Path to a file.
+X11_Xext_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xext_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXext.so
+
+//Path to a file.
+X11_Xfixes_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xfixes_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXfixes.so
+
+//Path to a file.
+X11_Xft_INCLUDE_PATH:PATH=X11_Xft_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xft_LIB:FILEPATH=X11_Xft_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xi_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xi_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXi.so
+
+//Path to a file.
+X11_Xinerama_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xinerama_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXinerama.so
+
+//Path to a file.
+X11_Xkb_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xkblib_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xlib_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xmu_INCLUDE_PATH:PATH=X11_Xmu_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xmu_LIB:FILEPATH=X11_Xmu_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xpm_INCLUDE_PATH:PATH=X11_Xpm_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xpm_LIB:FILEPATH=X11_Xpm_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xrandr_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xrandr_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXrandr.so
+
+//Path to a file.
+X11_Xrender_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xrender_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXrender.so
+
+//Path to a file.
+X11_Xshape_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xss_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xss_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXss.so
+
+//Path to a file.
+X11_Xt_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xt_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXt.so
+
+//Path to a file.
+X11_Xtst_INCLUDE_PATH:PATH=X11_Xtst_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xtst_LIB:FILEPATH=X11_Xtst_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xutil_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xv_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xv_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXv.so
+
+//Path to a file.
+X11_Xxf86misc_INCLUDE_PATH:PATH=X11_Xxf86misc_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_Xxf86misc_LIB:FILEPATH=X11_Xxf86misc_LIB-NOTFOUND
+
+//Path to a file.
+X11_Xxf86vm_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xxf86vm_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libXxf86vm.so
+
+//Path to a file.
+X11_dpms_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_xcb_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_xcb_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libxcb.so
+
+//Path to a file.
+X11_xcb_composite_INCLUDE_PATH:PATH=X11_xcb_composite_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_composite_LIB:FILEPATH=X11_xcb_composite_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_cursor_INCLUDE_PATH:PATH=X11_xcb_cursor_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_cursor_LIB:FILEPATH=X11_xcb_cursor_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_damage_INCLUDE_PATH:PATH=X11_xcb_damage_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_damage_LIB:FILEPATH=X11_xcb_damage_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_dpms_INCLUDE_PATH:PATH=X11_xcb_dpms_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_dpms_LIB:FILEPATH=X11_xcb_dpms_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_dri2_INCLUDE_PATH:PATH=X11_xcb_dri2_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_dri2_LIB:FILEPATH=X11_xcb_dri2_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_dri3_INCLUDE_PATH:PATH=X11_xcb_dri3_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_dri3_LIB:FILEPATH=X11_xcb_dri3_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_errors_INCLUDE_PATH:PATH=X11_xcb_errors_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_errors_LIB:FILEPATH=X11_xcb_errors_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_ewmh_INCLUDE_PATH:PATH=X11_xcb_ewmh_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_ewmh_LIB:FILEPATH=X11_xcb_ewmh_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_glx_INCLUDE_PATH:PATH=X11_xcb_glx_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_glx_LIB:FILEPATH=X11_xcb_glx_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_icccm_INCLUDE_PATH:PATH=X11_xcb_icccm_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_icccm_LIB:FILEPATH=X11_xcb_icccm_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_image_INCLUDE_PATH:PATH=X11_xcb_image_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_image_LIB:FILEPATH=X11_xcb_image_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_keysyms_INCLUDE_PATH:PATH=X11_xcb_keysyms_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_keysyms_LIB:FILEPATH=X11_xcb_keysyms_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_present_INCLUDE_PATH:PATH=X11_xcb_present_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_present_LIB:FILEPATH=X11_xcb_present_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_randr_INCLUDE_PATH:PATH=X11_xcb_randr_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_randr_LIB:FILEPATH=X11_xcb_randr_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_record_INCLUDE_PATH:PATH=X11_xcb_record_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_record_LIB:FILEPATH=X11_xcb_record_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_render_INCLUDE_PATH:PATH=X11_xcb_render_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_render_LIB:FILEPATH=X11_xcb_render_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_render_util_INCLUDE_PATH:PATH=X11_xcb_render_util_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_render_util_LIB:FILEPATH=X11_xcb_render_util_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_res_INCLUDE_PATH:PATH=X11_xcb_res_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_res_LIB:FILEPATH=X11_xcb_res_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_screensaver_INCLUDE_PATH:PATH=X11_xcb_screensaver_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_screensaver_LIB:FILEPATH=X11_xcb_screensaver_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_shape_INCLUDE_PATH:PATH=X11_xcb_shape_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_shape_LIB:FILEPATH=X11_xcb_shape_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_shm_INCLUDE_PATH:PATH=X11_xcb_shm_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_shm_LIB:FILEPATH=X11_xcb_shm_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_sync_INCLUDE_PATH:PATH=X11_xcb_sync_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_sync_LIB:FILEPATH=X11_xcb_sync_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_util_INCLUDE_PATH:PATH=X11_xcb_util_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_util_LIB:FILEPATH=X11_xcb_util_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xf86dri_INCLUDE_PATH:PATH=X11_xcb_xf86dri_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xf86dri_LIB:FILEPATH=X11_xcb_xf86dri_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xfixes_INCLUDE_PATH:PATH=X11_xcb_xfixes_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xfixes_LIB:FILEPATH=X11_xcb_xfixes_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xinerama_INCLUDE_PATH:PATH=X11_xcb_xinerama_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xinerama_LIB:FILEPATH=X11_xcb_xinerama_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xinput_INCLUDE_PATH:PATH=X11_xcb_xinput_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xinput_LIB:FILEPATH=X11_xcb_xinput_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xkb_INCLUDE_PATH:PATH=X11_xcb_xkb_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xkb_LIB:FILEPATH=X11_xcb_xkb_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xrm_INCLUDE_PATH:PATH=X11_xcb_xrm_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xrm_LIB:FILEPATH=X11_xcb_xrm_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xtest_INCLUDE_PATH:PATH=X11_xcb_xtest_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xtest_LIB:FILEPATH=X11_xcb_xtest_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xv_INCLUDE_PATH:PATH=X11_xcb_xv_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xv_LIB:FILEPATH=X11_xcb_xv_LIB-NOTFOUND
+
+//Path to a file.
+X11_xcb_xvmc_INCLUDE_PATH:PATH=X11_xcb_xvmc_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xcb_xvmc_LIB:FILEPATH=X11_xcb_xvmc_LIB-NOTFOUND
+
+//Path to a file.
+X11_xkbcommon_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_xkbcommon_LIB:FILEPATH=/usr/lib/loongarch64-linux-gnu/libxkbcommon.so
+
+//Path to a file.
+X11_xkbcommon_X11_INCLUDE_PATH:PATH=X11_xkbcommon_X11_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xkbcommon_X11_LIB:FILEPATH=X11_xkbcommon_X11_LIB-NOTFOUND
+
+//Path to a file.
+X11_xkbfile_INCLUDE_PATH:PATH=X11_xkbfile_INCLUDE_PATH-NOTFOUND
+
+//Path to a library.
+X11_xkbfile_LIB:FILEPATH=X11_xkbfile_LIB-NOTFOUND
+
+//The directory containing a CMake configuration file for iv.
+iv_DIR:PATH=/usr/lib/cmake/iv
+
+//Path to a library.
+pkgcfg_lib_NCURSES_ncurses:FILEPATH=/usr/lib/loongarch64-linux-gnu/libncurses.so
+
+//Path to a library.
+pkgcfg_lib_NCURSES_tinfo:FILEPATH=/usr/lib/loongarch64-linux-gnu/libtinfo.so
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: BISON_EXECUTABLE
+BISON_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=27
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=7
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Have function connect
+CMAKE_HAVE_CONNECT:INTERNAL=1
+//Have function gethostbyname
+CMAKE_HAVE_GETHOSTBYNAME:INTERNAL=1
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1
+//Have function remove
+CMAKE_HAVE_REMOVE:INTERNAL=1
+//Have function shmat
+CMAKE_HAVE_SHMAT:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/debian-build/wuruilong/demo/neuron-8.2.2
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//Have library ICE
+CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.27
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_TAPI
+CMAKE_TAPI-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CURSES_CURSES_LIBRARY
+CURSES_CURSES_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CURSES_FORM_LIBRARY
+CURSES_FORM_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CURSES_INCLUDE_PATH
+CURSES_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CURSES_NCURSES_LIBRARY
+CURSES_NCURSES_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CYTHON_EXECUTABLE
+CYTHON_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding BISON
+FIND_PACKAGE_MESSAGE_DETAILS_BISON:INTERNAL=[/usr/bin/bison][v3.8.2()]
+//Details about finding Cython
+FIND_PACKAGE_MESSAGE_DETAILS_Cython:INTERNAL=[/usr/bin/cython3][v0.29.36()]
+//Details about finding FLEX
+FIND_PACKAGE_MESSAGE_DETAILS_FLEX:INTERNAL=[/usr/bin/flex][v2.6.4(2.6)]
+//Details about finding MPI
+FIND_PACKAGE_MESSAGE_DETAILS_MPI:INTERNAL=[TRUE][TRUE][c ][v3.1()]
+//Details about finding MPI_C
+FIND_PACKAGE_MESSAGE_DETAILS_MPI_C:INTERNAL=[/usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so][mpi][/usr/lib/loongarch64-linux-gnu/openmpi/include][TRUE][v3.1()]
+//Details about finding MPI_CXX
+FIND_PACKAGE_MESSAGE_DETAILS_MPI_CXX:INTERNAL=[/usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi_cxx.so][/usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so][mpi_cxx;mpi][/usr/lib/loongarch64-linux-gnu/openmpi/include][TRUE][v3.1()]
+//Details about finding PYTHON
+FIND_PACKAGE_MESSAGE_DETAILS_PYTHON:INTERNAL=/usr/bin/python3
+//Details about finding PythonInterp
+FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/usr/bin/python3][v3.11.6(3)]
+//Details about finding Readline
+FIND_PACKAGE_MESSAGE_DETAILS_Readline:INTERNAL=[/usr/include][/usr/lib/loongarch64-linux-gnu/libreadline.so][v()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//ADVANCED property for variable: FLEX_EXECUTABLE
+FLEX_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: FLEX_INCLUDE_DIR
+FLEX_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: FL_LIBRARY
+FL_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: GIT_EXECUTABLE
+GIT_EXECUTABLE-ADVANCED:INTERNAL=1
+//Have symbol alloca
+HAVE_ALLOCA:INTERNAL=1
+//Have include alloca.h
+HAVE_ALLOCA_H:INTERNAL=1
+//Have symbol bcopy
+HAVE_BCOPY:INTERNAL=1
+//Have symbol bzero
+HAVE_BZERO:INTERNAL=1
+//Have include cxxabi.h
+HAVE_CXXABI_H:INTERNAL=1
+//Result of TRY_COMPILE
+HAVE_DIRENT_H:INTERNAL=TRUE
+//Have include dlfcn.h
+HAVE_DLFCN_H:INTERNAL=1
+//Have symbol doprnt
+HAVE_DOPRNT:INTERNAL=
+//Have include execinfo.h
+HAVE_EXECINFO_H:INTERNAL=1
+//Have include fcntl.h
+HAVE_FCNTL_H:INTERNAL=1
+//Have symbol feenableexcept
+HAVE_FEENABLEEXCEPT:INTERNAL=1
+//Have include fenv.h
+HAVE_FENV_H:INTERNAL=1
+//Have symbol fesetround
+HAVE_FESETROUND:INTERNAL=1
+//Have include float.h
+HAVE_FLOAT_H:INTERNAL=1
+//Have symbol ftime
+HAVE_FTIME:INTERNAL=1
+//Have symbol getcwd
+HAVE_GETCWD:INTERNAL=1
+//Have symbol gethostname
+HAVE_GETHOSTNAME:INTERNAL=1
+//Have symbol getpw
+HAVE_GETPW:INTERNAL=1
+//Have symbol gettimeofday
+HAVE_GETTIMEOFDAY:INTERNAL=1
+//Have include dirent.h
+HAVE_HEADER:INTERNAL=1
+//Have symbol index
+HAVE_INDEX:INTERNAL=1
+//Have include inttypes.h
+HAVE_INTTYPES_H:INTERNAL=1
+//Have symbol isatty
+HAVE_ISATTY:INTERNAL=1
+//Have include limits.h
+HAVE_LIMITS_H:INTERNAL=1
+//Have include locale.h
+HAVE_LOCALE_H:INTERNAL=1
+//Have symbol lockf
+HAVE_LOCKF:INTERNAL=1
+//Have symbol mallinfo
+HAVE_MALLINFO:INTERNAL=1
+//Have symbol mallinfo2
+HAVE_MALLINFO2:INTERNAL=1
+//Have include malloc.h
+HAVE_MALLOC_H:INTERNAL=1
+//Have include math.h
+HAVE_MATH_H:INTERNAL=1
+//Have include memory.h
+HAVE_MEMORY_H:INTERNAL=1
+//Have symbol mkdir
+HAVE_MKDIR:INTERNAL=1
+//Have symbol mkstemp
+HAVE_MKSTEMP:INTERNAL=1
+//Result of TRY_COMPILE
+HAVE_NDIR_H:INTERNAL=FALSE
+//Have symbol posix_memalign
+HAVE_POSIX_MEMALIGN:INTERNAL=1
+//Have symbol pthread
+HAVE_PTHREAD:INTERNAL=
+//Have include pthread.h
+HAVE_PTHREAD_H:INTERNAL=1
+//Have symbol putenv
+HAVE_PUTENV:INTERNAL=1
+//Have symbol realpath
+HAVE_REALPATH:INTERNAL=1
+//Have symbol select
+HAVE_SELECT:INTERNAL=1
+//Have symbol setenv
+HAVE_SETENV:INTERNAL=1
+//Have symbol setitimer
+HAVE_SETITIMER:INTERNAL=1
+//Have include sgtty.h
+HAVE_SGTTY_H:INTERNAL=1
+//Have symbol sigaction
+HAVE_SIGACTION:INTERNAL=1
+//Have symbol SIGBUS
+HAVE_SIGBUS:INTERNAL=1
+//Have symbol SIGSEGV
+HAVE_SIGSEGV:INTERNAL=1
+//Have include stdarg.h
+HAVE_STDARG_H:INTERNAL=1
+//Have include stdint.h
+HAVE_STDINT_H:INTERNAL=1
+//Have include stdlib.h
+HAVE_STDLIB_H:INTERNAL=1
+//Have symbol strdup
+HAVE_STRDUP:INTERNAL=1
+//Have includes stream.h
+HAVE_STREAM_H:INTERNAL=
+//Have include strings.h
+HAVE_STRINGS_H:INTERNAL=1
+//Have include string.h
+HAVE_STRING_H:INTERNAL=1
+//Have includes stropts.h
+HAVE_STROPTS_H:INTERNAL=
+//Have symbol strstr
+HAVE_STRSTR:INTERNAL=1
+//Have includes sys/conf.h
+HAVE_SYS_CONF_H:INTERNAL=
+//Result of TRY_COMPILE
+HAVE_SYS_DIR_H:INTERNAL=TRUE
+//Have include sys/file.h
+HAVE_SYS_FILE_H:INTERNAL=1
+//Have include sys/ioctl.h
+HAVE_SYS_IOCTL_H:INTERNAL=1
+//Result of TRY_COMPILE
+HAVE_SYS_NDIR_H:INTERNAL=FALSE
+//Have include sys/stat.h
+HAVE_SYS_STAT_H:INTERNAL=1
+//Have include sys/timeb.h
+HAVE_SYS_TIMEB_H:INTERNAL=1
+//Have include sys/time.h
+HAVE_SYS_TIME_H:INTERNAL=1
+//Have include sys/types.h
+HAVE_SYS_TYPES_H:INTERNAL=1
+//Have include sys/wait.h
+HAVE_SYS_WAIT_H:INTERNAL=1
+//Have include termio.h
+HAVE_TERMIO_H:INTERNAL=1
+//Have include unistd.h
+HAVE_UNISTD_H:INTERNAL=1
+//Have includes varargs.h
+HAVE_VARARGS_H:INTERNAL=
+//Have symbol vprintf
+HAVE_VPRINTF:INTERNAL=1
+//Have include _G_config.h
+HAVE__G_CONFIG_H:INTERNAL=
+//ADVANCED property for variable: MPIEXEC_EXECUTABLE
+MPIEXEC_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPIEXEC_MAX_NUMPROCS
+MPIEXEC_MAX_NUMPROCS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPIEXEC_NUMPROC_FLAG
+MPIEXEC_NUMPROC_FLAG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPIEXEC_POSTFLAGS
+MPIEXEC_POSTFLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPIEXEC_PREFLAGS
+MPIEXEC_PREFLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_ADDITIONAL_INCLUDE_DIRS
+MPI_CXX_ADDITIONAL_INCLUDE_DIRS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_COMPILER
+MPI_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_COMPILER_INCLUDE_DIRS
+MPI_CXX_COMPILER_INCLUDE_DIRS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_COMPILE_DEFINITIONS
+MPI_CXX_COMPILE_DEFINITIONS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_COMPILE_OPTIONS
+MPI_CXX_COMPILE_OPTIONS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_HEADER_DIR
+MPI_CXX_HEADER_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_LIB_NAMES
+MPI_CXX_LIB_NAMES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_LINK_FLAGS
+MPI_CXX_LINK_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_CXX_SKIP_MPICXX
+MPI_CXX_SKIP_MPICXX-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_ADDITIONAL_INCLUDE_DIRS
+MPI_C_ADDITIONAL_INCLUDE_DIRS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_COMPILER
+MPI_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_COMPILER_INCLUDE_DIRS
+MPI_C_COMPILER_INCLUDE_DIRS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_COMPILE_DEFINITIONS
+MPI_C_COMPILE_DEFINITIONS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_COMPILE_OPTIONS
+MPI_C_COMPILE_OPTIONS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_HEADER_DIR
+MPI_C_HEADER_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_LIB_NAMES
+MPI_C_LIB_NAMES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_C_LINK_FLAGS
+MPI_C_LINK_FLAGS-ADVANCED:INTERNAL=1
+//Result of TRY_COMPILE
+MPI_RESULT_CXX_test_mpi_MPICXX:INTERNAL=TRUE
+//Result of TRY_COMPILE
+MPI_RESULT_CXX_test_mpi_normal:INTERNAL=TRUE
+//Result of TRY_COMPILE
+MPI_RESULT_C_test_mpi_normal:INTERNAL=TRUE
+//ADVANCED property for variable: MPI_mpi_LIBRARY
+MPI_mpi_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: MPI_mpi_cxx_LIBRARY
+MPI_mpi_cxx_LIBRARY-ADVANCED:INTERNAL=1
+//Result of TRY_COMPILE
+MY_RESULT_VAR:INTERNAL=FALSE
+NCURSES_CFLAGS:INTERNAL=-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
+NCURSES_CFLAGS_I:INTERNAL=
+NCURSES_CFLAGS_OTHER:INTERNAL=-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
+NCURSES_FOUND:INTERNAL=1
+NCURSES_INCLUDEDIR:INTERNAL=/usr/include
+NCURSES_INCLUDE_DIRS:INTERNAL=
+NCURSES_LDFLAGS:INTERNAL=-L/usr/lib/loongarch64-linux-gnu;-lncurses;-ltinfo
+NCURSES_LDFLAGS_OTHER:INTERNAL=
+NCURSES_LIBDIR:INTERNAL=/usr/lib/loongarch64-linux-gnu
+NCURSES_LIBRARIES:INTERNAL=ncurses;tinfo
+NCURSES_LIBRARY_DIRS:INTERNAL=/usr/lib/loongarch64-linux-gnu
+NCURSES_LIBS:INTERNAL=
+NCURSES_LIBS_L:INTERNAL=
+NCURSES_LIBS_OTHER:INTERNAL=
+NCURSES_LIBS_PATHS:INTERNAL=
+NCURSES_MODULE_NAME:INTERNAL=ncurses
+NCURSES_PREFIX:INTERNAL=/usr
+NCURSES_STATIC_CFLAGS:INTERNAL=-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
+NCURSES_STATIC_CFLAGS_I:INTERNAL=
+NCURSES_STATIC_CFLAGS_OTHER:INTERNAL=-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
+NCURSES_STATIC_INCLUDE_DIRS:INTERNAL=
+NCURSES_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/loongarch64-linux-gnu;-lncurses;-ltinfo;-ldl
+NCURSES_STATIC_LDFLAGS_OTHER:INTERNAL=
+NCURSES_STATIC_LIBDIR:INTERNAL=
+NCURSES_STATIC_LIBRARIES:INTERNAL=ncurses;tinfo;dl
+NCURSES_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/loongarch64-linux-gnu
+NCURSES_STATIC_LIBS:INTERNAL=
+NCURSES_STATIC_LIBS_L:INTERNAL=
+NCURSES_STATIC_LIBS_OTHER:INTERNAL=
+NCURSES_STATIC_LIBS_PATHS:INTERNAL=
+NCURSES_VERSION:INTERNAL=6.4.20231016
+NCURSES_ncurses_INCLUDEDIR:INTERNAL=
+NCURSES_ncurses_LIBDIR:INTERNAL=
+NCURSES_ncurses_PREFIX:INTERNAL=
+NCURSES_ncurses_VERSION:INTERNAL=
+//ADVANCED property for variable: NRN_AVOID_ABSOLUTE_PATHS
+NRN_AVOID_ABSOLUTE_PATHS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: NRN_ENABLE_DOCS_WITH_EXTERNAL_INSTALLATION
+NRN_ENABLE_DOCS_WITH_EXTERNAL_INSTALLATION-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: NRN_ENABLE_REL_RPATH
+NRN_ENABLE_REL_RPATH-ADVANCED:INTERNAL=1
+NRN_MPI_INCLUDE_LIST:INTERNAL=
+NRN_MPI_LIBNAME_LIST:INTERNAL=
+NRN_MPI_TYPE_LIST:INTERNAL=
+NRN_PYTHON_BUILD_LIB:INTERNAL=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python
+NRN_PYTHON_EXE_LIST:INTERNAL=/usr/bin/python3
+NRN_PYTHON_INCLUDE_LIST:INTERNAL=
+NRN_PYTHON_LIB_LIST:INTERNAL=
+NRN_PYTHON_VER_LIST:INTERNAL=
+//ADVANCED property for variable: NRN_WHEEL_BUILD
+NRN_WHEEL_BUILD-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PKG_CONFIG_ARGN
+PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
+PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PYTHON_EXECUTABLE
+PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PYTHON_LIBRARY
+PYTHON_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Readline_INCLUDE_DIR
+Readline_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Readline_LIBRARY
+Readline_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: Readline_ROOT_DIR
+Readline_ROOT_DIR-ADVANCED:INTERNAL=1
+//Have include dlfcn.h;stdint.h;stddef.h;inttypes.h;stdlib.h;strings.h;string.h;float.h
+STDC_HEADERS:INTERNAL=1
+//ADVANCED property for variable: TERMCAP_INCLUDE_DIR
+TERMCAP_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: TERMCAP_LIBRARIES
+TERMCAP_LIBRARIES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_ICE_INCLUDE_PATH
+X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_ICE_LIB
+X11_ICE_LIB-ADVANCED:INTERNAL=1
+//Have library /usr/lib/loongarch64-linux-gnu/libX11.so;/usr/lib/loongarch64-linux-gnu/libXext.so
+X11_LIB_X11_SOLO:INTERNAL=1
+//ADVANCED property for variable: X11_SM_INCLUDE_PATH
+X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_SM_LIB
+X11_SM_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_INCLUDE_PATH
+X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_LIB
+X11_X11_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_xcb_INCLUDE_PATH
+X11_X11_xcb_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_xcb_LIB
+X11_X11_xcb_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XRes_INCLUDE_PATH
+X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XRes_LIB
+X11_XRes_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XShm_INCLUDE_PATH
+X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XSync_INCLUDE_PATH
+X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaccessrules_INCLUDE_PATH
+X11_Xaccessrules_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaccessstr_INCLUDE_PATH
+X11_Xaccessstr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xau_INCLUDE_PATH
+X11_Xau_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xau_LIB
+X11_Xau_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaw_INCLUDE_PATH
+X11_Xaw_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaw_LIB
+X11_Xaw_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcomposite_INCLUDE_PATH
+X11_Xcomposite_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcomposite_LIB
+X11_Xcomposite_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcursor_INCLUDE_PATH
+X11_Xcursor_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcursor_LIB
+X11_Xcursor_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdamage_INCLUDE_PATH
+X11_Xdamage_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdamage_LIB
+X11_Xdamage_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdmcp_INCLUDE_PATH
+X11_Xdmcp_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdmcp_LIB
+X11_Xdmcp_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xext_INCLUDE_PATH
+X11_Xext_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xext_LIB
+X11_Xext_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xfixes_INCLUDE_PATH
+X11_Xfixes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xfixes_LIB
+X11_Xfixes_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xft_INCLUDE_PATH
+X11_Xft_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xft_LIB
+X11_Xft_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xi_INCLUDE_PATH
+X11_Xi_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xi_LIB
+X11_Xi_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinerama_INCLUDE_PATH
+X11_Xinerama_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinerama_LIB
+X11_Xinerama_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkb_INCLUDE_PATH
+X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH
+X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xlib_INCLUDE_PATH
+X11_Xlib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xmu_INCLUDE_PATH
+X11_Xmu_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xmu_LIB
+X11_Xmu_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xpm_INCLUDE_PATH
+X11_Xpm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xpm_LIB
+X11_Xpm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrandr_INCLUDE_PATH
+X11_Xrandr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrandr_LIB
+X11_Xrandr_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrender_INCLUDE_PATH
+X11_Xrender_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrender_LIB
+X11_Xrender_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xshape_INCLUDE_PATH
+X11_Xshape_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xss_INCLUDE_PATH
+X11_Xss_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xss_LIB
+X11_Xss_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xt_INCLUDE_PATH
+X11_Xt_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xt_LIB
+X11_Xt_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xtst_INCLUDE_PATH
+X11_Xtst_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xtst_LIB
+X11_Xtst_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xutil_INCLUDE_PATH
+X11_Xutil_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xv_INCLUDE_PATH
+X11_Xv_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xv_LIB
+X11_Xv_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86misc_INCLUDE_PATH
+X11_Xxf86misc_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86misc_LIB
+X11_Xxf86misc_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86vm_INCLUDE_PATH
+X11_Xxf86vm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86vm_LIB
+X11_Xxf86vm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_dpms_INCLUDE_PATH
+X11_dpms_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_INCLUDE_PATH
+X11_xcb_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_LIB
+X11_xcb_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_composite_INCLUDE_PATH
+X11_xcb_composite_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_composite_LIB
+X11_xcb_composite_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_cursor_INCLUDE_PATH
+X11_xcb_cursor_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_cursor_LIB
+X11_xcb_cursor_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_damage_INCLUDE_PATH
+X11_xcb_damage_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_damage_LIB
+X11_xcb_damage_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dpms_INCLUDE_PATH
+X11_xcb_dpms_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dpms_LIB
+X11_xcb_dpms_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dri2_INCLUDE_PATH
+X11_xcb_dri2_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dri2_LIB
+X11_xcb_dri2_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dri3_INCLUDE_PATH
+X11_xcb_dri3_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_dri3_LIB
+X11_xcb_dri3_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_errors_INCLUDE_PATH
+X11_xcb_errors_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_errors_LIB
+X11_xcb_errors_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_ewmh_INCLUDE_PATH
+X11_xcb_ewmh_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_ewmh_LIB
+X11_xcb_ewmh_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_glx_INCLUDE_PATH
+X11_xcb_glx_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_glx_LIB
+X11_xcb_glx_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_icccm_INCLUDE_PATH
+X11_xcb_icccm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_icccm_LIB
+X11_xcb_icccm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_image_INCLUDE_PATH
+X11_xcb_image_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_image_LIB
+X11_xcb_image_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_keysyms_INCLUDE_PATH
+X11_xcb_keysyms_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_keysyms_LIB
+X11_xcb_keysyms_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_present_INCLUDE_PATH
+X11_xcb_present_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_present_LIB
+X11_xcb_present_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_randr_INCLUDE_PATH
+X11_xcb_randr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_randr_LIB
+X11_xcb_randr_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_record_INCLUDE_PATH
+X11_xcb_record_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_record_LIB
+X11_xcb_record_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_render_INCLUDE_PATH
+X11_xcb_render_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_render_LIB
+X11_xcb_render_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_render_util_INCLUDE_PATH
+X11_xcb_render_util_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_render_util_LIB
+X11_xcb_render_util_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_res_INCLUDE_PATH
+X11_xcb_res_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_res_LIB
+X11_xcb_res_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_screensaver_INCLUDE_PATH
+X11_xcb_screensaver_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_screensaver_LIB
+X11_xcb_screensaver_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_shape_INCLUDE_PATH
+X11_xcb_shape_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_shape_LIB
+X11_xcb_shape_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_shm_INCLUDE_PATH
+X11_xcb_shm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_shm_LIB
+X11_xcb_shm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_sync_INCLUDE_PATH
+X11_xcb_sync_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_sync_LIB
+X11_xcb_sync_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_util_INCLUDE_PATH
+X11_xcb_util_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_util_LIB
+X11_xcb_util_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xf86dri_INCLUDE_PATH
+X11_xcb_xf86dri_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xf86dri_LIB
+X11_xcb_xf86dri_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xfixes_INCLUDE_PATH
+X11_xcb_xfixes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xfixes_LIB
+X11_xcb_xfixes_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xinerama_INCLUDE_PATH
+X11_xcb_xinerama_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xinerama_LIB
+X11_xcb_xinerama_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xinput_INCLUDE_PATH
+X11_xcb_xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xinput_LIB
+X11_xcb_xinput_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xkb_LIB
+X11_xcb_xkb_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xrm_INCLUDE_PATH
+X11_xcb_xrm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xrm_LIB
+X11_xcb_xrm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xtest_INCLUDE_PATH
+X11_xcb_xtest_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xtest_LIB
+X11_xcb_xtest_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xv_INCLUDE_PATH
+X11_xcb_xv_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xv_LIB
+X11_xcb_xv_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xvmc_INCLUDE_PATH
+X11_xcb_xvmc_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xcb_xvmc_LIB
+X11_xcb_xvmc_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbcommon_INCLUDE_PATH
+X11_xkbcommon_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbcommon_LIB
+X11_xkbcommon_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbcommon_X11_INCLUDE_PATH
+X11_xkbcommon_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbcommon_X11_LIB
+X11_xkbcommon_X11_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbfile_INCLUDE_PATH
+X11_xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xkbfile_LIB
+X11_xkbfile_LIB-ADVANCED:INTERNAL=1
+//linker supports push/pop state
+_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+__pkg_config_arguments_NCURSES:INTERNAL=QUIET;ncurses
+__pkg_config_checked_NCURSES:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib_NCURSES_ncurses
+pkgcfg_lib_NCURSES_ncurses-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib_NCURSES_tinfo
+pkgcfg_lib_NCURSES_tinfo-ADVANCED:INTERNAL=1
+prefix_result:INTERNAL=/usr/lib/loongarch64-linux-gnu
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CMakeCCompiler.cmake
@@ -0,0 +1,74 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "13.2.0")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
+set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
+set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-13")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "loongarch64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "loongarch64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/loongarch64-linux-gnu/13/include;/usr/local/include;/usr/include/loongarch64-linux-gnu;/usr/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/loongarch64-linux-gnu;/usr/lib;/lib/loongarch64-linux-gnu;/lib;/usr/lib/gcc/loongarch64-linux-gnu/13")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CMakeCXXCompiler.cmake
@@ -0,0 +1,85 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "13.2.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
+set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-13")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+  if (CMAKE_${lang}_COMPILER_ID_RUN)
+    foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+      list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+    endforeach()
+  endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "loongarch64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "loongarch64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/13;/usr/include/loongarch64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/loongarch64-linux-gnu/13/include;/usr/local/include;/usr/include/loongarch64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/loongarch64-linux-gnu;/usr/lib;/lib/loongarch64-linux-gnu;/lib;/usr/lib/gcc/loongarch64-linux-gnu/13")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.10.0-60.96.0.126.oe2203.loongarch64")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.10.0-60.96.0.126.oe2203.loongarch64")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "loongarch64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.10.0-60.96.0.126.oe2203.loongarch64")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.10.0-60.96.0.126.oe2203.loongarch64")
+set(CMAKE_SYSTEM_PROCESSOR "loongarch64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CompilerIdC/CMakeCCompilerId.c
@@ -0,0 +1,866 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+#if !defined(__has_include)
+/* If the compiler does not have __has_include, pretend the answer is
+   always no.  */
+#  define __has_include(x) 0
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_ID "GNU"
+# endif
+  /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
+     except that a few beta releases use the old format with V=2021.  */
+# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+#  if defined(__INTEL_COMPILER_UPDATE)
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+#  else
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+#  endif
+# else
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
+   /* The third version component from --version is an update index,
+      but no macro is provided for it.  */
+#  define COMPILER_VERSION_PATCH DEC(0)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+   /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
+# define COMPILER_ID "IntelLLVM"
+#if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+#endif
+/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
+ * later.  Look for 6 digit vs. 8 digit version number to decide encoding.
+ * VVVV is no smaller than the current year when a version is released.
+ */
+#if __INTEL_LLVM_COMPILER < 1000000L
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER    % 10)
+#else
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER     % 100)
+#endif
+#if defined(_MSC_VER)
+  /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+#endif
+#if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#endif
+#if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+   /* __SUNPRO_C = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+  /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+  /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__open_xl__) && defined(__clang__)
+# define COMPILER_ID "IBMClang"
+# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
+# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
+# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
+
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__NVCOMPILER)
+# define COMPILER_ID "NVHPC"
+# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
+# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
+# if defined(__NVCOMPILER_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
+# endif
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__CLANG_FUJITSU)
+# define COMPILER_ID "FujitsuClang"
+# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# define COMPILER_VERSION_INTERNAL_STR __clang_version__
+
+
+#elif defined(__FUJITSU)
+# define COMPILER_ID "Fujitsu"
+# if defined(__FCC_version__)
+#   define COMPILER_VERSION __FCC_version__
+# elif defined(__FCC_major__)
+#   define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+#   define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+#   define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# endif
+# if defined(__fcc_version)
+#   define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
+# elif defined(__FCC_VERSION)
+#   define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
+# endif
+
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
+# endif
+
+#elif defined(__TASKING__)
+# define COMPILER_ID "Tasking"
+  # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
+  # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100   % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
+# define COMPILER_ID "LCC"
+# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
+# if defined(__LCC_MINOR__)
+#  define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
+# endif
+# if defined(__GNUC__) && defined(__GNUC_MINOR__)
+#  define SIMULATE_ID "GNU"
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#   define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#  endif
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(_ADI_COMPILER)
+# define COMPILER_ID "ADSP"
+#if defined(__VERSIONNUM__)
+  /* __VERSIONNUM__ = 0xVVRRPPTT */
+#  define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
+#  define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
+#  define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
+#  define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__MSYS__)
+# define PLATFORM_ID "MSYS"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+#  define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+#  define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+#  define PLATFORM_ID "Integrity"
+# endif
+
+# elif defined(_ADI_COMPILER)
+#  define PLATFORM_ID "ADSP"
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_ARM64EC)
+#  define ARCHITECTURE_ID "ARM64EC"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+#  define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+#  define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+#  define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+#  define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+#  define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__ICCSTM8__)
+#  define ARCHITECTURE_ID "STM8"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+#  define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+#  define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__TI_COMPILER_VERSION__)
+# if defined(__TI_ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__MSP430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__TMS320C28XX__)
+#  define ARCHITECTURE_ID "TMS320C28x"
+
+# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
+#  define ARCHITECTURE_ID "TMS320C6x"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+# elif defined(__ADSPSHARC__)
+#  define ARCHITECTURE_ID "SHARC"
+
+# elif defined(__ADSPBLACKFIN__)
+#  define ARCHITECTURE_ID "Blackfin"
+
+#elif defined(__TASKING__)
+
+# if defined(__CTC__) || defined(__CPTC__)
+#  define ARCHITECTURE_ID "TriCore"
+
+# elif defined(__CMCS__)
+#  define ARCHITECTURE_ID "MCS"
+
+# elif defined(__CARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__CARC__)
+#  define ARCHITECTURE_ID "ARC"
+
+# elif defined(__C51__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__CPCP__)
+#  define ARCHITECTURE_ID "PCP"
+
+# else
+#  define ARCHITECTURE_ID ""
+# endif
+
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number. */
+#ifdef COMPILER_VERSION
+char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
+
+/* Construct a string literal encoding the version number components. */
+#elif defined(COMPILER_VERSION_MAJOR)
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#elif defined(COMPILER_VERSION_INTERNAL_STR)
+char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+#if !defined(__STDC__) && !defined(__clang__)
+# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
+#  define C_VERSION "90"
+# else
+#  define C_VERSION
+# endif
+#elif __STDC_VERSION__ > 201710L
+# define C_VERSION "23"
+#elif __STDC_VERSION__ >= 201710L
+# define C_VERSION "17"
+#elif __STDC_VERSION__ >= 201000L
+# define C_VERSION "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_VERSION "99"
+#else
+# define C_VERSION "90"
+#endif
+const char* info_language_standard_default =
+  "INFO" ":" "standard_default[" C_VERSION "]";
+
+const char* info_language_extensions_default = "INFO" ":" "extensions_default["
+#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) ||           \
+     defined(__TI_COMPILER_VERSION__)) &&                                     \
+  !defined(__STRICT_ANSI__)
+  "ON"
+#else
+  "OFF"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+  require += info_cray[argc];
+#endif
+  require += info_language_standard_default[argc];
+  require += info_language_extensions_default[argc];
+  (void)argv;
+  return require;
+}
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,855 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+   recognize the extension without flags.  Borland does not know .cxx for
+   example.  */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+#if !defined(__has_include)
+/* If the compiler does not have __has_include, pretend the answer is
+   always no.  */
+#  define __has_include(x) 0
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+  /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_ID "GNU"
+# endif
+  /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
+     except that a few beta releases use the old format with V=2021.  */
+# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+#  if defined(__INTEL_COMPILER_UPDATE)
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+#  else
+#   define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+#  endif
+# else
+#  define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
+#  define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
+   /* The third version component from --version is an update index,
+      but no macro is provided for it.  */
+#  define COMPILER_VERSION_PATCH DEC(0)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+   /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
+# define COMPILER_ID "IntelLLVM"
+#if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+#endif
+/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
+ * later.  Look for 6 digit vs. 8 digit version number to decide encoding.
+ * VVVV is no smaller than the current year when a version is released.
+ */
+#if __INTEL_LLVM_COMPILER < 1000000L
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER    % 10)
+#else
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER     % 100)
+#endif
+#if defined(_MSC_VER)
+  /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+#endif
+#if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+#endif
+#if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#endif
+#if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+   /* __SUNPRO_CC = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+  /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC     % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+  /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER         % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__open_xl__) && defined(__clang__)
+# define COMPILER_ID "IBMClang"
+# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
+# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
+# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
+
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__NVCOMPILER)
+# define COMPILER_ID "NVHPC"
+# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
+# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
+# if defined(__NVCOMPILER_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
+# endif
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__CLANG_FUJITSU)
+# define COMPILER_ID "FujitsuClang"
+# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# define COMPILER_VERSION_INTERNAL_STR __clang_version__
+
+
+#elif defined(__FUJITSU)
+# define COMPILER_ID "Fujitsu"
+# if defined(__FCC_version__)
+#   define COMPILER_VERSION __FCC_version__
+# elif defined(__FCC_major__)
+#   define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
+#   define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
+#   define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
+# endif
+# if defined(__fcc_version)
+#   define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
+# elif defined(__FCC_VERSION)
+#   define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
+# endif
+
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)
+# endif
+
+#elif defined(__TASKING__)
+# define COMPILER_ID "Tasking"
+  # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
+  # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100   % 100)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
+# define COMPILER_ID "LCC"
+# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
+# if defined(__LCC_MINOR__)
+#  define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
+# endif
+# if defined(__GNUC__) && defined(__GNUC_MINOR__)
+#  define SIMULATE_ID "GNU"
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#   define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+#  endif
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+#  define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+#  define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(_ADI_COMPILER)
+# define COMPILER_ID "ADSP"
+#if defined(__VERSIONNUM__)
+  /* __VERSIONNUM__ = 0xVVRRPPTT */
+#  define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
+#  define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
+#  define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
+#  define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__MSYS__)
+# define PLATFORM_ID "MSYS"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+#  define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+#  define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+#  define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+#  define PLATFORM_ID "Integrity"
+# endif
+
+# elif defined(_ADI_COMPILER)
+#  define PLATFORM_ID "ADSP"
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_ARM64EC)
+#  define ARCHITECTURE_ID "ARM64EC"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+#  define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+#  define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+#  define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+#  define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+#  define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+#  define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__ICCSTM8__)
+#  define ARCHITECTURE_ID "STM8"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+#  define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+#  define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__TI_COMPILER_VERSION__)
+# if defined(__TI_ARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__MSP430__)
+#  define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__TMS320C28XX__)
+#  define ARCHITECTURE_ID "TMS320C28x"
+
+# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
+#  define ARCHITECTURE_ID "TMS320C6x"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+# elif defined(__ADSPSHARC__)
+#  define ARCHITECTURE_ID "SHARC"
+
+# elif defined(__ADSPBLACKFIN__)
+#  define ARCHITECTURE_ID "Blackfin"
+
+#elif defined(__TASKING__)
+
+# if defined(__CTC__) || defined(__CPTC__)
+#  define ARCHITECTURE_ID "TriCore"
+
+# elif defined(__CMCS__)
+#  define ARCHITECTURE_ID "MCS"
+
+# elif defined(__CARM__)
+#  define ARCHITECTURE_ID "ARM"
+
+# elif defined(__CARC__)
+#  define ARCHITECTURE_ID "ARC"
+
+# elif defined(__C51__)
+#  define ARCHITECTURE_ID "8051"
+
+# elif defined(__CPCP__)
+#  define ARCHITECTURE_ID "PCP"
+
+# else
+#  define ARCHITECTURE_ID ""
+# endif
+
+#else
+#  define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number. */
+#ifdef COMPILER_VERSION
+char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
+
+/* Construct a string literal encoding the version number components. */
+#elif defined(COMPILER_VERSION_MAJOR)
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+  'i','n','t','e','r','n','a','l','[',
+  COMPILER_VERSION_INTERNAL,']','\0'};
+#elif defined(COMPILER_VERSION_INTERNAL_STR)
+char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+#  if defined(__INTEL_CXX11_MODE__)
+#    if defined(__cpp_aggregate_nsdmi)
+#      define CXX_STD 201402L
+#    else
+#      define CXX_STD 201103L
+#    endif
+#  else
+#    define CXX_STD 199711L
+#  endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+#  define CXX_STD _MSVC_LANG
+#else
+#  define CXX_STD __cplusplus
+#endif
+
+const char* info_language_standard_default = "INFO" ":" "standard_default["
+#if CXX_STD > 202002L
+  "23"
+#elif CXX_STD > 201703L
+  "20"
+#elif CXX_STD >= 201703L
+  "17"
+#elif CXX_STD >= 201402L
+  "14"
+#elif CXX_STD >= 201103L
+  "11"
+#else
+  "98"
+#endif
+"]";
+
+const char* info_language_extensions_default = "INFO" ":" "extensions_default["
+#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) ||           \
+     defined(__TI_COMPILER_VERSION__)) &&                                     \
+  !defined(__STRICT_ANSI__)
+  "ON"
+#else
+  "OFF"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+  require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
+  require += info_cray[argc];
+#endif
+  require += info_language_standard_default[argc];
+  require += info_language_extensions_default[argc];
+  (void)argv;
+  return require;
+}
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeConfigureLog.yaml
@@ -0,0 +1,3557 @@
+
+---
+events:
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake:211 (message)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      The system is: Linux - 5.10.0-60.96.0.126.oe2203.loongarch64 - loongarch64
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+      Compiler: /usr/bin/cc 
+      Build flags: -g;-O2;-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.;-fstack-protector-strong;-Wformat;-Werror=format-security;-Wdate-time;-D_FORTIFY_SOURCE=2
+      Id flags:  
+      
+      The output was:
+      0
+      
+      
+      Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+      
+      The C compiler identification is GNU, found in:
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CompilerIdC/a.out
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+      Compiler: /usr/bin/c++ 
+      Build flags: -g;-O2;-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.;-fstack-protector-strong;-Wformat;-Werror=format-security;-Wdate-time;-D_FORTIFY_SOURCE=2
+      Id flags:  
+      
+      The output was:
+      0
+      
+      
+      Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+      
+      The CXX compiler identification is GNU, found in:
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/3.27.7/CompilerIdCXX/a.out
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    checks:
+      - "Detecting C compiler ABI info"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+    buildResult:
+      variable: "CMAKE_C_ABI_COMPILED"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e844f/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_e844f.dir/build.make CMakeFiles/cmTC_e844f.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7'
+        Building C object CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2    -v -o CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        Target: loongarch64-linux-gnu
+        Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 13.2.0 (Debian 13.2.0-5) 
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/'
+         /usr/libexec/gcc/loongarch64-linux-gnu/13/cc1 -quiet -v -imultilib base/lp64d -imultiarch loongarch64-linux-gnu -D _FORTIFY_SOURCE=2 /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e844f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mabi=lp64d -march=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -O2 -Wformat=1 -Wdate-time -version -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -o /tmp/ccCl0pKq.s
+        GNU C17 (Debian 13.2.0-5) version 13.2.0 (loongarch64-linux-gnu)
+        	compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
+        
+        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+        ignoring nonexistent directory "/usr/local/include/loongarch64-linux-gnu"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed/loongarch64-linux-gnu"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../loongarch64-linux-gnu/include"
+        #include "..." search starts here:
+        #include <...> search starts here:
+         /usr/lib/gcc/loongarch64-linux-gnu/13/include
+         /usr/local/include
+         /usr/include/loongarch64-linux-gnu
+         /usr/include
+        End of search list.
+        Compiler executable checksum: df8bf5ea20f1c8ef770d6cc727e738c7
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/'
+         as -v --gdwarf-5 -mabi=lp64d -o CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o /tmp/ccCl0pKq.s
+        GNU assembler version 2.41 (loongarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.41
+        COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/
+        LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.'
+        Linking C executable cmTC_e844f
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e844f.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro -v CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -o cmTC_e844f 
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/cc
+        COLLECT_LTO_WRAPPER=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper
+        Target: loongarch64-linux-gnu
+        Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 13.2.0 (Debian 13.2.0-5) 
+        COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/
+        LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_e844f' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_e844f.'
+         /usr/libexec/gcc/loongarch64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOb1Sbd.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf64loongarch -dynamic-linker /lib64/ld-linux-loongarch-lp64d.so.1 -o cmTC_e844f /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o /usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib -L/lib/loongarch64-linux-gnu -L/lib/../lib -L/usr/lib/loongarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/loongarch64-linux-gnu/13 -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../.. -L/lib/loongarch64-linux-gnu -L/usr/lib/loongarch64-linux-gnu -z relro CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_e844f' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_e844f.'
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7'
+        
+      exitCode: 0
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:127 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Parsed C implicit include dir info: rv=done
+        found start of include info
+        found start of implicit include info
+          add: [/usr/lib/gcc/loongarch64-linux-gnu/13/include]
+          add: [/usr/local/include]
+          add: [/usr/include/loongarch64-linux-gnu]
+          add: [/usr/include]
+        end of search list found
+        collapse include dir [/usr/lib/gcc/loongarch64-linux-gnu/13/include] ==> [/usr/lib/gcc/loongarch64-linux-gnu/13/include]
+        collapse include dir [/usr/local/include] ==> [/usr/local/include]
+        collapse include dir [/usr/include/loongarch64-linux-gnu] ==> [/usr/include/loongarch64-linux-gnu]
+        collapse include dir [/usr/include] ==> [/usr/include]
+        implicit include dirs: [/usr/lib/gcc/loongarch64-linux-gnu/13/include;/usr/local/include;/usr/include/loongarch64-linux-gnu;/usr/include]
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:152 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Parsed C implicit link information:
+        link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
+        ignore line: [Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7']
+        ignore line: []
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e844f/fast]
+        ignore line: [gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7']
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_e844f.dir/build.make CMakeFiles/cmTC_e844f.dir/build]
+        ignore line: [gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-njP0v7']
+        ignore line: [Building C object CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o]
+        ignore line: [/usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2    -v -o CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [Target: loongarch64-linux-gnu]
+        ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c c++ fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 13.2.0 (Debian 13.2.0-5) ]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/']
+        ignore line: [ /usr/libexec/gcc/loongarch64-linux-gnu/13/cc1 -quiet -v -imultilib base/lp64d -imultiarch loongarch64-linux-gnu -D _FORTIFY_SOURCE=2 /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e844f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mabi=lp64d -march=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -O2 -Wformat=1 -Wdate-time -version -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -o /tmp/ccCl0pKq.s]
+        ignore line: [GNU C17 (Debian 13.2.0-5) version 13.2.0 (loongarch64-linux-gnu)]
+        ignore line: [	compiled by GNU C version 13.2.0  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.26-GMP]
+        ignore line: []
+        ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+        ignore line: [ignoring nonexistent directory "/usr/local/include/loongarch64-linux-gnu"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed/loongarch64-linux-gnu"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../loongarch64-linux-gnu/include"]
+        ignore line: [#include "..." search starts here:]
+        ignore line: [#include <...> search starts here:]
+        ignore line: [ /usr/lib/gcc/loongarch64-linux-gnu/13/include]
+        ignore line: [ /usr/local/include]
+        ignore line: [ /usr/include/loongarch64-linux-gnu]
+        ignore line: [ /usr/include]
+        ignore line: [End of search list.]
+        ignore line: [Compiler executable checksum: df8bf5ea20f1c8ef770d6cc727e738c7]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/']
+        ignore line: [ as -v --gdwarf-5 -mabi=lp64d -o CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o /tmp/ccCl0pKq.s]
+        ignore line: [GNU assembler version 2.41 (loongarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.41]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o' '-c' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.']
+        ignore line: [Linking C executable cmTC_e844f]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e844f.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl -z relro -v CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -o cmTC_e844f ]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/cc]
+        ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper]
+        ignore line: [Target: loongarch64-linux-gnu]
+        ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c c++ fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 13.2.0 (Debian 13.2.0-5) ]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_e844f' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_e844f.']
+        link line: [ /usr/libexec/gcc/loongarch64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOb1Sbd.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf64loongarch -dynamic-linker /lib64/ld-linux-loongarch-lp64d.so.1 -o cmTC_e844f /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o /usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib -L/lib/loongarch64-linux-gnu -L/lib/../lib -L/usr/lib/loongarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/loongarch64-linux-gnu/13 -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../.. -L/lib/loongarch64-linux-gnu -L/usr/lib/loongarch64-linux-gnu -z relro CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o]
+          arg [/usr/libexec/gcc/loongarch64-linux-gnu/13/collect2] ==> ignore
+          arg [-plugin] ==> ignore
+          arg [/usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so] ==> ignore
+          arg [-plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccOb1Sbd.res] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [--build-id] ==> ignore
+          arg [--eh-frame-hdr] ==> ignore
+          arg [-m] ==> ignore
+          arg [elf64loongarch] ==> ignore
+          arg [-dynamic-linker] ==> ignore
+          arg [/lib64/ld-linux-loongarch-lp64d.so.1] ==> ignore
+          arg [-o] ==> ignore
+          arg [cmTC_e844f] ==> ignore
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib]
+          arg [-L/lib/loongarch64-linux-gnu] ==> dir [/lib/loongarch64-linux-gnu]
+          arg [-L/lib/../lib] ==> dir [/lib/../lib]
+          arg [-L/usr/lib/loongarch64-linux-gnu] ==> dir [/usr/lib/loongarch64-linux-gnu]
+          arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../..]
+          arg [-L/lib/loongarch64-linux-gnu] ==> dir [/lib/loongarch64-linux-gnu]
+          arg [-L/usr/lib/loongarch64-linux-gnu] ==> dir [/usr/lib/loongarch64-linux-gnu]
+          arg [-zrelro] ==> ignore
+          arg [CMakeFiles/cmTC_e844f.dir/CMakeCCompilerABI.c.o] ==> ignore
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [-lc] ==> lib [c]
+          arg [-lgcc] ==> lib [gcc]
+          arg [--push-state] ==> ignore
+          arg [--as-needed] ==> ignore
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [--pop-state] ==> ignore
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o] ==> [/usr/lib/loongarch64-linux-gnu/crt1.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o] ==> [/usr/lib/loongarch64-linux-gnu/crti.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o] ==> [/usr/lib/loongarch64-linux-gnu/crtn.o]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib] ==> [/usr/lib]
+        collapse library dir [/lib/loongarch64-linux-gnu] ==> [/lib/loongarch64-linux-gnu]
+        collapse library dir [/lib/../lib] ==> [/lib]
+        collapse library dir [/usr/lib/loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13] ==> [/usr/lib/gcc/loongarch64-linux-gnu/13]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../..] ==> [/usr/lib]
+        collapse library dir [/lib/loongarch64-linux-gnu] ==> [/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+        implicit objs: [/usr/lib/loongarch64-linux-gnu/crt1.o;/usr/lib/loongarch64-linux-gnu/crti.o;/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o;/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o;/usr/lib/loongarch64-linux-gnu/crtn.o]
+        implicit dirs: [/usr/lib/loongarch64-linux-gnu;/usr/lib;/lib/loongarch64-linux-gnu;/lib;/usr/lib/gcc/loongarch64-linux-gnu/13]
+        implicit fwks: []
+      
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    checks:
+      - "Detecting CXX compiler ABI info"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+    buildResult:
+      variable: "CMAKE_CXX_ABI_COMPILED"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_78e25/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_78e25.dir/build.make CMakeFiles/cmTC_78e25.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu'
+        Building CXX object CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2    -v -o CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/c++
+        Target: loongarch64-linux-gnu
+        Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 13.2.0 (Debian 13.2.0-5) 
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/'
+         /usr/libexec/gcc/loongarch64-linux-gnu/13/cc1plus -quiet -v -imultilib base/lp64d -imultiarch loongarch64-linux-gnu -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_78e25.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mabi=lp64d -march=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -O2 -Wformat=1 -Wdate-time -version -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -o /tmp/ccOEYy59.s
+        GNU C++17 (Debian 13.2.0-5) version 13.2.0 (loongarch64-linux-gnu)
+        	compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
+        
+        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../include/loongarch64-linux-gnu/c++/13/base/lp64d"
+        ignoring nonexistent directory "/usr/local/include/loongarch64-linux-gnu"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed/loongarch64-linux-gnu"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed"
+        ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../loongarch64-linux-gnu/include"
+        #include "..." search starts here:
+        #include <...> search starts here:
+         /usr/include/c++/13
+         /usr/include/loongarch64-linux-gnu/c++/13
+         /usr/include/c++/13/backward
+         /usr/lib/gcc/loongarch64-linux-gnu/13/include
+         /usr/local/include
+         /usr/include/loongarch64-linux-gnu
+         /usr/include
+        End of search list.
+        Compiler executable checksum: e80885af9c7c98e49c02312e7fe45c47
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/'
+         as -v --gdwarf-5 -mabi=lp64d -o CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccOEYy59.s
+        GNU assembler version 2.41 (loongarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.41
+        COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/
+        LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.'
+        Linking CXX executable cmTC_78e25
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_78e25.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro -v CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_78e25 
+        Using built-in specs.
+        COLLECT_GCC=/usr/bin/c++
+        COLLECT_LTO_WRAPPER=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper
+        Target: loongarch64-linux-gnu
+        Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8
+        Thread model: posix
+        Supported LTO compression algorithms: zlib zstd
+        gcc version 13.2.0 (Debian 13.2.0-5) 
+        COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/
+        LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_78e25' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_78e25.'
+         /usr/libexec/gcc/loongarch64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjEGVsk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf64loongarch -dynamic-linker /lib64/ld-linux-loongarch-lp64d.so.1 -o cmTC_78e25 /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o /usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib -L/lib/loongarch64-linux-gnu -L/lib/../lib -L/usr/lib/loongarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/loongarch64-linux-gnu/13 -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../.. -L/lib/loongarch64-linux-gnu -L/usr/lib/loongarch64-linux-gnu -z relro CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o
+        COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_78e25' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_78e25.'
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu'
+        
+      exitCode: 0
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:127 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Parsed CXX implicit include dir info: rv=done
+        found start of include info
+        found start of implicit include info
+          add: [/usr/include/c++/13]
+          add: [/usr/include/loongarch64-linux-gnu/c++/13]
+          add: [/usr/include/c++/13/backward]
+          add: [/usr/lib/gcc/loongarch64-linux-gnu/13/include]
+          add: [/usr/local/include]
+          add: [/usr/include/loongarch64-linux-gnu]
+          add: [/usr/include]
+        end of search list found
+        collapse include dir [/usr/include/c++/13] ==> [/usr/include/c++/13]
+        collapse include dir [/usr/include/loongarch64-linux-gnu/c++/13] ==> [/usr/include/loongarch64-linux-gnu/c++/13]
+        collapse include dir [/usr/include/c++/13/backward] ==> [/usr/include/c++/13/backward]
+        collapse include dir [/usr/lib/gcc/loongarch64-linux-gnu/13/include] ==> [/usr/lib/gcc/loongarch64-linux-gnu/13/include]
+        collapse include dir [/usr/local/include] ==> [/usr/local/include]
+        collapse include dir [/usr/include/loongarch64-linux-gnu] ==> [/usr/include/loongarch64-linux-gnu]
+        collapse include dir [/usr/include] ==> [/usr/include]
+        implicit include dirs: [/usr/include/c++/13;/usr/include/loongarch64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/loongarch64-linux-gnu/13/include;/usr/local/include;/usr/include/loongarch64-linux-gnu;/usr/include]
+      
+      
+  -
+    kind: "message-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:152 (message)"
+      - "/usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
+      - "CMakeLists.txt:18 (project)"
+    message: |
+      Parsed CXX implicit link information:
+        link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
+        ignore line: [Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu']
+        ignore line: []
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_78e25/fast]
+        ignore line: [gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu']
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_78e25.dir/build.make CMakeFiles/cmTC_78e25.dir/build]
+        ignore line: [gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-W9nISu']
+        ignore line: [Building CXX object CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o]
+        ignore line: [/usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2    -v -o CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/c++]
+        ignore line: [Target: loongarch64-linux-gnu]
+        ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c c++ fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 13.2.0 (Debian 13.2.0-5) ]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/']
+        ignore line: [ /usr/libexec/gcc/loongarch64-linux-gnu/13/cc1plus -quiet -v -imultilib base/lp64d -imultiarch loongarch64-linux-gnu -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_78e25.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mabi=lp64d -march=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -O2 -Wformat=1 -Wdate-time -version -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -o /tmp/ccOEYy59.s]
+        ignore line: [GNU C++17 (Debian 13.2.0-5) version 13.2.0 (loongarch64-linux-gnu)]
+        ignore line: [	compiled by GNU C version 13.2.0  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.26-GMP]
+        ignore line: []
+        ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../include/loongarch64-linux-gnu/c++/13/base/lp64d"]
+        ignore line: [ignoring nonexistent directory "/usr/local/include/loongarch64-linux-gnu"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed/loongarch64-linux-gnu"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/include-fixed"]
+        ignore line: [ignoring nonexistent directory "/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../loongarch64-linux-gnu/include"]
+        ignore line: [#include "..." search starts here:]
+        ignore line: [#include <...> search starts here:]
+        ignore line: [ /usr/include/c++/13]
+        ignore line: [ /usr/include/loongarch64-linux-gnu/c++/13]
+        ignore line: [ /usr/include/c++/13/backward]
+        ignore line: [ /usr/lib/gcc/loongarch64-linux-gnu/13/include]
+        ignore line: [ /usr/local/include]
+        ignore line: [ /usr/include/loongarch64-linux-gnu]
+        ignore line: [ /usr/include]
+        ignore line: [End of search list.]
+        ignore line: [Compiler executable checksum: e80885af9c7c98e49c02312e7fe45c47]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/']
+        ignore line: [ as -v --gdwarf-5 -mabi=lp64d -o CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccOEYy59.s]
+        ignore line: [GNU assembler version 2.41 (loongarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.41]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.']
+        ignore line: [Linking CXX executable cmTC_78e25]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_78e25.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl -z relro -v CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_78e25 ]
+        ignore line: [Using built-in specs.]
+        ignore line: [COLLECT_GCC=/usr/bin/c++]
+        ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper]
+        ignore line: [Target: loongarch64-linux-gnu]
+        ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 13.2.0-5' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c c++ fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=loongarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-checking=release --build=loongarch64-linux-gnu --host=loongarch64-linux-gnu --target=loongarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=8]
+        ignore line: [Thread model: posix]
+        ignore line: [Supported LTO compression algorithms: zlib zstd]
+        ignore line: [gcc version 13.2.0 (Debian 13.2.0-5) ]
+        ignore line: [COMPILER_PATH=/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/13/:/usr/libexec/gcc/loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/]
+        ignore line: [LIBRARY_PATH=/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib/:/lib/loongarch64-linux-gnu/:/lib/../lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/loongarch64-linux-gnu/13/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/:/usr/lib/gcc/loongarch64-linux-gnu/13/../../../:/lib/loongarch64-linux-gnu/:/lib/:/usr/lib/loongarch64-linux-gnu/:/usr/lib/]
+        ignore line: [COLLECT_GCC_OPTIONS='-g' '-O2' '-ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=.' '-fstack-protector-strong' '-Wformat=1' '-Wdate-time' '-D' '_FORTIFY_SOURCE=2' '-v' '-o' 'cmTC_78e25' '-shared-libgcc' '-mabi=lp64d' '-march=loongarch64' '-mfpu=64' '-mcmodel=normal' '-mtune=la464' '-dumpdir' 'cmTC_78e25.']
+        link line: [ /usr/libexec/gcc/loongarch64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjEGVsk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf64loongarch -dynamic-linker /lib64/ld-linux-loongarch-lp64d.so.1 -o cmTC_78e25 /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o /usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib -L/lib/loongarch64-linux-gnu -L/lib/../lib -L/usr/lib/loongarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/loongarch64-linux-gnu/13 -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu -L/usr/lib/gcc/loongarch64-linux-gnu/13/../../.. -L/lib/loongarch64-linux-gnu -L/usr/lib/loongarch64-linux-gnu -z relro CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o /usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o]
+          arg [/usr/libexec/gcc/loongarch64-linux-gnu/13/collect2] ==> ignore
+          arg [-plugin] ==> ignore
+          arg [/usr/libexec/gcc/loongarch64-linux-gnu/13/liblto_plugin.so] ==> ignore
+          arg [-plugin-opt=/usr/libexec/gcc/loongarch64-linux-gnu/13/lto-wrapper] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccjEGVsk.res] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lc] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+          arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+          arg [--build-id] ==> ignore
+          arg [--eh-frame-hdr] ==> ignore
+          arg [-m] ==> ignore
+          arg [elf64loongarch] ==> ignore
+          arg [-dynamic-linker] ==> ignore
+          arg [/lib64/ld-linux-loongarch-lp64d.so.1] ==> ignore
+          arg [-o] ==> ignore
+          arg [cmTC_78e25] ==> ignore
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib]
+          arg [-L/lib/loongarch64-linux-gnu] ==> dir [/lib/loongarch64-linux-gnu]
+          arg [-L/lib/../lib] ==> dir [/lib/../lib]
+          arg [-L/usr/lib/loongarch64-linux-gnu] ==> dir [/usr/lib/loongarch64-linux-gnu]
+          arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu]
+          arg [-L/usr/lib/gcc/loongarch64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../..]
+          arg [-L/lib/loongarch64-linux-gnu] ==> dir [/lib/loongarch64-linux-gnu]
+          arg [-L/usr/lib/loongarch64-linux-gnu] ==> dir [/usr/lib/loongarch64-linux-gnu]
+          arg [-zrelro] ==> ignore
+          arg [CMakeFiles/cmTC_78e25.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+          arg [-lstdc++] ==> lib [stdc++]
+          arg [-lm] ==> lib [m]
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [-lgcc] ==> lib [gcc]
+          arg [-lc] ==> lib [c]
+          arg [-lgcc_s] ==> lib [gcc_s]
+          arg [-lgcc] ==> lib [gcc]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o]
+          arg [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crt1.o] ==> [/usr/lib/loongarch64-linux-gnu/crt1.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crti.o] ==> [/usr/lib/loongarch64-linux-gnu/crti.o]
+        collapse obj [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu/crtn.o] ==> [/usr/lib/loongarch64-linux-gnu/crtn.o]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../../lib] ==> [/usr/lib]
+        collapse library dir [/lib/loongarch64-linux-gnu] ==> [/lib/loongarch64-linux-gnu]
+        collapse library dir [/lib/../lib] ==> [/lib]
+        collapse library dir [/usr/lib/loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13] ==> [/usr/lib/gcc/loongarch64-linux-gnu/13]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../../loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/gcc/loongarch64-linux-gnu/13/../../..] ==> [/usr/lib]
+        collapse library dir [/lib/loongarch64-linux-gnu] ==> [/lib/loongarch64-linux-gnu]
+        collapse library dir [/usr/lib/loongarch64-linux-gnu] ==> [/usr/lib/loongarch64-linux-gnu]
+        implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+        implicit objs: [/usr/lib/loongarch64-linux-gnu/crt1.o;/usr/lib/loongarch64-linux-gnu/crti.o;/usr/lib/gcc/loongarch64-linux-gnu/13/crtbegin.o;/usr/lib/gcc/loongarch64-linux-gnu/13/crtend.o;/usr/lib/loongarch64-linux-gnu/crtn.o]
+        implicit dirs: [/usr/lib/loongarch64-linux-gnu;/usr/lib;/lib/loongarch64-linux-gnu;/lib;/usr/lib/gcc/loongarch64-linux-gnu/13]
+        implicit fwks: []
+      
+      
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1278 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1322 (_MPI_try_staged_settings)"
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1645 (_MPI_check_lang_works)"
+      - "cmake/MacroHelper.cmake:277 (find_package)"
+      - "CMakeLists.txt:309 (nrn_mpi_find_package)"
+    description: "The MPI test test_mpi for C in mode normal"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MPI_RESULT_C_test_mpi_normal"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_eafd0/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_eafd0.dir/build.make CMakeFiles/cmTC_eafd0.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ'
+        Building C object CMakeFiles/cmTC_eafd0.dir/test_mpi.c.o
+        /usr/bin/cc  -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_eafd0.dir/test_mpi.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ/test_mpi.c
+        Linking C executable cmTC_eafd0
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eafd0.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_eafd0.dir/test_mpi.c.o -o cmTC_eafd0  -Wl,-rpath,/usr/lib/loongarch64-linux-gnu/openmpi/lib /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-FS2nFZ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1278 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1322 (_MPI_try_staged_settings)"
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1645 (_MPI_check_lang_works)"
+      - "cmake/MacroHelper.cmake:277 (find_package)"
+      - "CMakeLists.txt:309 (nrn_mpi_find_package)"
+    description: "The MPI test test_mpi for CXX in mode normal"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MPI_RESULT_CXX_test_mpi_normal"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_08484/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_08484.dir/build.make CMakeFiles/cmTC_08484.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU'
+        Building CXX object CMakeFiles/cmTC_08484.dir/test_mpi.cpp.o
+        /usr/bin/c++  -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_08484.dir/test_mpi.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU/test_mpi.cpp
+        Linking CXX executable cmTC_08484
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_08484.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_08484.dir/test_mpi.cpp.o -o cmTC_08484  -Wl,-rpath,/usr/lib/loongarch64-linux-gnu/openmpi/lib /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi_cxx.so /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-tQAsiU'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1278 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindMPI.cmake:1672 (_MPI_try_staged_settings)"
+      - "cmake/MacroHelper.cmake:277 (find_package)"
+      - "CMakeLists.txt:309 (nrn_mpi_find_package)"
+    description: "The MPI test test_mpi for CXX in mode MPICXX"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MPI_RESULT_CXX_test_mpi_MPICXX"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ab9e3/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_ab9e3.dir/build.make CMakeFiles/cmTC_ab9e3.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP'
+        Building CXX object CMakeFiles/cmTC_ab9e3.dir/test_mpi.cpp.o
+        /usr/bin/c++  -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include -isystem /usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_ab9e3.dir/test_mpi.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP/test_mpi.cpp
+        Linking CXX executable cmTC_ab9e3
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ab9e3.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_ab9e3.dir/test_mpi.cpp.o -o cmTC_ab9e3  -Wl,-rpath,/usr/lib/loongarch64-linux-gnu/openmpi/lib /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi_cxx.so /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6UFKjP'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckLibraryExists.cmake:69 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:682 (check_library_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "X11_LIB_X11_SOLO"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c4c0f/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_c4c0f.dir/build.make CMakeFiles/cmTC_c4c0f.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm'
+        Building C object CMakeFiles/cmTC_c4c0f.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=XOpenDisplay -o CMakeFiles/cmTC_c4c0f.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm/CheckFunctionExists.c
+        Linking C executable cmTC_c4c0f
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c4c0f.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=XOpenDisplay -Wl,-z,relro  CMakeFiles/cmTC_c4c0f.dir/CheckFunctionExists.c.o -o cmTC_c4c0f  /usr/lib/loongarch64-linux-gnu/libX11.so /usr/lib/loongarch64-linux-gnu/libXext.so 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uRp6hm'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:697 (check_function_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_GETHOSTBYNAME"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8b542/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_8b542.dir/build.make CMakeFiles/cmTC_8b542.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD'
+        Building C object CMakeFiles/cmTC_8b542.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=gethostbyname -o CMakeFiles/cmTC_8b542.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD/CheckFunctionExists.c
+        Linking C executable cmTC_8b542
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8b542.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=gethostbyname -Wl,-z,relro  CMakeFiles/cmTC_8b542.dir/CheckFunctionExists.c.o -o cmTC_8b542 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-AInMOD'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:711 (check_function_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_CONNECT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9a9e6/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_9a9e6.dir/build.make CMakeFiles/cmTC_9a9e6.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft'
+        Building C object CMakeFiles/cmTC_9a9e6.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=connect -o CMakeFiles/cmTC_9a9e6.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft/CheckFunctionExists.c
+        Linking C executable cmTC_9a9e6
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9a9e6.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=connect -Wl,-z,relro  CMakeFiles/cmTC_9a9e6.dir/CheckFunctionExists.c.o -o cmTC_9a9e6 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jJv7Ft'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:720 (check_function_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_REMOVE"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d5ce2/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_d5ce2.dir/build.make CMakeFiles/cmTC_d5ce2.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast'
+        Building C object CMakeFiles/cmTC_d5ce2.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=remove -o CMakeFiles/cmTC_d5ce2.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast/CheckFunctionExists.c
+        Linking C executable cmTC_d5ce2
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d5ce2.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=remove -Wl,-z,relro  CMakeFiles/cmTC_d5ce2.dir/CheckFunctionExists.c.o -o cmTC_d5ce2 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-97Zast'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckFunctionExists.cmake:86 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:729 (check_function_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_SHMAT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b78d4/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_b78d4.dir/build.make CMakeFiles/cmTC_b78d4.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733'
+        Building C object CMakeFiles/cmTC_b78d4.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=shmat -o CMakeFiles/cmTC_b78d4.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733/CheckFunctionExists.c
+        Linking C executable cmTC_b78d4
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b78d4.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=shmat -Wl,-z,relro  CMakeFiles/cmTC_b78d4.dir/CheckFunctionExists.c.o -o cmTC_b78d4 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3kK733'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckLibraryExists.cmake:69 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/FindX11.cmake:739 (check_library_exists)"
+      - "CMakeLists.txt:377 (find_package)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ebb10/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_ebb10.dir/build.make CMakeFiles/cmTC_ebb10.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG'
+        Building C object CMakeFiles/cmTC_ebb10.dir/CheckFunctionExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=IceConnectionNumber -o CMakeFiles/cmTC_ebb10.dir/CheckFunctionExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG/CheckFunctionExists.c
+        Linking C executable cmTC_ebb10
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ebb10.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DCHECK_FUNCTION_EXISTS=IceConnectionNumber -Wl,-z,relro  CMakeFiles/cmTC_ebb10.dir/CheckFunctionExists.c.o -o cmTC_ebb10  -lICE 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-i8QwNG'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)"
+      - "/usr/share/cmake-3.27/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)"
+      - "/usr/share/cmake-3.27/Modules/FindThreads.cmake:163 (_threads_check_libc)"
+      - "CMakeLists.txt:443 (find_package)"
+    checks:
+      - "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "CMAKE_HAVE_LIBC_PTHREAD"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e7c8e/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_e7c8e.dir/build.make CMakeFiles/cmTC_e7c8e.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9'
+        Building C object CMakeFiles/cmTC_e7c8e.dir/src.c.o
+        /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD  -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_e7c8e.dir/src.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9/src.c
+        Linking C executable cmTC_e7c8e
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e7c8e.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_e7c8e.dir/src.c.o -o cmTC_e7c8e 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-kjg1m9'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:147 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_ALLOCA_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_72637/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_72637.dir/build.make CMakeFiles/cmTC_72637.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ'
+        Building C object CMakeFiles/cmTC_72637.dir/HAVE_ALLOCA_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_72637.dir/HAVE_ALLOCA_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ/HAVE_ALLOCA_H.c
+        Linking C executable cmTC_72637
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_72637.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_72637.dir/HAVE_ALLOCA_H.c.o -o cmTC_72637 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-BgxRWZ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:148 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_DLFCN_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2fc9d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_2fc9d.dir/build.make CMakeFiles/cmTC_2fc9d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE'
+        Building C object CMakeFiles/cmTC_2fc9d.dir/HAVE_DLFCN_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_2fc9d.dir/HAVE_DLFCN_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE/HAVE_DLFCN_H.c
+        Linking C executable cmTC_2fc9d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2fc9d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_2fc9d.dir/HAVE_DLFCN_H.c.o -o cmTC_2fc9d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oeBMgE'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:149 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_EXECINFO_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3af99/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_3af99.dir/build.make CMakeFiles/cmTC_3af99.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB'
+        Building C object CMakeFiles/cmTC_3af99.dir/HAVE_EXECINFO_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_3af99.dir/HAVE_EXECINFO_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB/HAVE_EXECINFO_H.c
+        Linking C executable cmTC_3af99
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3af99.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_3af99.dir/HAVE_EXECINFO_H.c.o -o cmTC_3af99 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-oD4mMB'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:150 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FCNTL_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_18d52/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_18d52.dir/build.make CMakeFiles/cmTC_18d52.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd'
+        Building C object CMakeFiles/cmTC_18d52.dir/HAVE_FCNTL_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_18d52.dir/HAVE_FCNTL_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd/HAVE_FCNTL_H.c
+        Linking C executable cmTC_18d52
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_18d52.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_18d52.dir/HAVE_FCNTL_H.c.o -o cmTC_18d52 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-e3bwYd'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:151 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FENV_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_48284/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_48284.dir/build.make CMakeFiles/cmTC_48284.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85'
+        Building C object CMakeFiles/cmTC_48284.dir/HAVE_FENV_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_48284.dir/HAVE_FENV_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85/HAVE_FENV_H.c
+        Linking C executable cmTC_48284
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_48284.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_48284.dir/HAVE_FENV_H.c.o -o cmTC_48284 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-YcRG85'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:152 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FLOAT_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2ed8b/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_2ed8b.dir/build.make CMakeFiles/cmTC_2ed8b.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4'
+        Building C object CMakeFiles/cmTC_2ed8b.dir/HAVE_FLOAT_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_2ed8b.dir/HAVE_FLOAT_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4/HAVE_FLOAT_H.c
+        Linking C executable cmTC_2ed8b
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2ed8b.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_2ed8b.dir/HAVE_FLOAT_H.c.o -o cmTC_2ed8b 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-K3nlK4'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:153 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_INTTYPES_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_16492/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_16492.dir/build.make CMakeFiles/cmTC_16492.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ'
+        Building C object CMakeFiles/cmTC_16492.dir/HAVE_INTTYPES_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_16492.dir/HAVE_INTTYPES_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ/HAVE_INTTYPES_H.c
+        Linking C executable cmTC_16492
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_16492.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_16492.dir/HAVE_INTTYPES_H.c.o -o cmTC_16492 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-uUgSYJ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:154 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_LIMITS_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6e6c7/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_6e6c7.dir/build.make CMakeFiles/cmTC_6e6c7.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW'
+        Building C object CMakeFiles/cmTC_6e6c7.dir/HAVE_LIMITS_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_6e6c7.dir/HAVE_LIMITS_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW/HAVE_LIMITS_H.c
+        Linking C executable cmTC_6e6c7
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6e6c7.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_6e6c7.dir/HAVE_LIMITS_H.c.o -o cmTC_6e6c7 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-UBfvIW'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:155 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_LOCALE_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8eff6/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_8eff6.dir/build.make CMakeFiles/cmTC_8eff6.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q'
+        Building C object CMakeFiles/cmTC_8eff6.dir/HAVE_LOCALE_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_8eff6.dir/HAVE_LOCALE_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q/HAVE_LOCALE_H.c
+        Linking C executable cmTC_8eff6
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8eff6.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_8eff6.dir/HAVE_LOCALE_H.c.o -o cmTC_8eff6 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-nbnx6Q'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:156 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MALLOC_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_173b4/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_173b4.dir/build.make CMakeFiles/cmTC_173b4.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4'
+        Building C object CMakeFiles/cmTC_173b4.dir/HAVE_MALLOC_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_173b4.dir/HAVE_MALLOC_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4/HAVE_MALLOC_H.c
+        Linking C executable cmTC_173b4
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_173b4.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_173b4.dir/HAVE_MALLOC_H.c.o -o cmTC_173b4 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-9g37L4'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:157 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MATH_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_da856/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_da856.dir/build.make CMakeFiles/cmTC_da856.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe'
+        Building C object CMakeFiles/cmTC_da856.dir/HAVE_MATH_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_da856.dir/HAVE_MATH_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe/HAVE_MATH_H.c
+        Linking C executable cmTC_da856
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_da856.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_da856.dir/HAVE_MATH_H.c.o -o cmTC_da856 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-LpwJRe'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:158 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MEMORY_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_10045/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_10045.dir/build.make CMakeFiles/cmTC_10045.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg'
+        Building C object CMakeFiles/cmTC_10045.dir/HAVE_MEMORY_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_10045.dir/HAVE_MEMORY_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg/HAVE_MEMORY_H.c
+        Linking C executable cmTC_10045
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_10045.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_10045.dir/HAVE_MEMORY_H.c.o -o cmTC_10045 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ciFfgg'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:159 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_PTHREAD_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_97862/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_97862.dir/build.make CMakeFiles/cmTC_97862.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr'
+        Building C object CMakeFiles/cmTC_97862.dir/HAVE_PTHREAD_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_97862.dir/HAVE_PTHREAD_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr/HAVE_PTHREAD_H.c
+        Linking C executable cmTC_97862
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_97862.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_97862.dir/HAVE_PTHREAD_H.c.o -o cmTC_97862 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-KybiPr'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:160 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SGTTY_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_08ad9/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_08ad9.dir/build.make CMakeFiles/cmTC_08ad9.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3'
+        Building C object CMakeFiles/cmTC_08ad9.dir/HAVE_SGTTY_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_08ad9.dir/HAVE_SGTTY_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3/HAVE_SGTTY_H.c
+        Linking C executable cmTC_08ad9
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_08ad9.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_08ad9.dir/HAVE_SGTTY_H.c.o -o cmTC_08ad9 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xW6Wz3'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:161 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STDARG_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c73c3/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_c73c3.dir/build.make CMakeFiles/cmTC_c73c3.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh'
+        Building C object CMakeFiles/cmTC_c73c3.dir/HAVE_STDARG_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_c73c3.dir/HAVE_STDARG_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh/HAVE_STDARG_H.c
+        Linking C executable cmTC_c73c3
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c73c3.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_c73c3.dir/HAVE_STDARG_H.c.o -o cmTC_c73c3 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-T8zHeh'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:162 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STDINT_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ddaa5/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_ddaa5.dir/build.make CMakeFiles/cmTC_ddaa5.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM'
+        Building C object CMakeFiles/cmTC_ddaa5.dir/HAVE_STDINT_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_ddaa5.dir/HAVE_STDINT_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM/HAVE_STDINT_H.c
+        Linking C executable cmTC_ddaa5
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ddaa5.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_ddaa5.dir/HAVE_STDINT_H.c.o -o cmTC_ddaa5 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2Z2VuM'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:163 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STDLIB_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1e85b/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_1e85b.dir/build.make CMakeFiles/cmTC_1e85b.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk'
+        Building C object CMakeFiles/cmTC_1e85b.dir/HAVE_STDLIB_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_1e85b.dir/HAVE_STDLIB_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk/HAVE_STDLIB_H.c
+        Linking C executable cmTC_1e85b
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e85b.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_1e85b.dir/HAVE_STDLIB_H.c.o -o cmTC_1e85b 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-GtkURk'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:164 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STREAM_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1a6a2/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_1a6a2.dir/build.make CMakeFiles/cmTC_1a6a2.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC'
+        Building C object CMakeFiles/cmTC_1a6a2.dir/HAVE_STREAM_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_1a6a2.dir/HAVE_STREAM_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC/HAVE_STREAM_H.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC/HAVE_STREAM_H.c:2:10: fatal error: stream.h: No such file or directory
+            2 | #include <stream.h>
+              |          ^~~~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_1a6a2.dir/build.make:78: CMakeFiles/cmTC_1a6a2.dir/HAVE_STREAM_H.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC'
+        gmake[2]: *** [Makefile:127: cmTC_1a6a2/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Fh5LTC'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:165 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STRINGS_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_916c7/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_916c7.dir/build.make CMakeFiles/cmTC_916c7.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK'
+        Building C object CMakeFiles/cmTC_916c7.dir/HAVE_STRINGS_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_916c7.dir/HAVE_STRINGS_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK/HAVE_STRINGS_H.c
+        Linking C executable cmTC_916c7
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_916c7.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_916c7.dir/HAVE_STRINGS_H.c.o -o cmTC_916c7 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Kr5ERK'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:166 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STRING_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3d473/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_3d473.dir/build.make CMakeFiles/cmTC_3d473.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb'
+        Building C object CMakeFiles/cmTC_3d473.dir/HAVE_STRING_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_3d473.dir/HAVE_STRING_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb/HAVE_STRING_H.c
+        Linking C executable cmTC_3d473
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3d473.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_3d473.dir/HAVE_STRING_H.c.o -o cmTC_3d473 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hzJVeb'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:167 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STROPTS_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5aa5d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_5aa5d.dir/build.make CMakeFiles/cmTC_5aa5d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2'
+        Building C object CMakeFiles/cmTC_5aa5d.dir/HAVE_STROPTS_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_5aa5d.dir/HAVE_STROPTS_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2/HAVE_STROPTS_H.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2/HAVE_STROPTS_H.c:2:10: fatal error: stropts.h: No such file or directory
+            2 | #include <stropts.h>
+              |          ^~~~~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_5aa5d.dir/build.make:78: CMakeFiles/cmTC_5aa5d.dir/HAVE_STROPTS_H.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2'
+        gmake[2]: *** [Makefile:127: cmTC_5aa5d/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-5Kbbb2'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:168 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_CONF_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_79fb8/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_79fb8.dir/build.make CMakeFiles/cmTC_79fb8.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx'
+        Building C object CMakeFiles/cmTC_79fb8.dir/HAVE_SYS_CONF_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_79fb8.dir/HAVE_SYS_CONF_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx/HAVE_SYS_CONF_H.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx/HAVE_SYS_CONF_H.c:2:10: fatal error: sys/conf.h: No such file or directory
+            2 | #include <sys/conf.h>
+              |          ^~~~~~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_79fb8.dir/build.make:78: CMakeFiles/cmTC_79fb8.dir/HAVE_SYS_CONF_H.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx'
+        gmake[2]: *** [Makefile:127: cmTC_79fb8/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4SQ4nx'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:169 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_FILE_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7bd6f/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_7bd6f.dir/build.make CMakeFiles/cmTC_7bd6f.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS'
+        Building C object CMakeFiles/cmTC_7bd6f.dir/HAVE_SYS_FILE_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_7bd6f.dir/HAVE_SYS_FILE_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS/HAVE_SYS_FILE_H.c
+        Linking C executable cmTC_7bd6f
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7bd6f.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_7bd6f.dir/HAVE_SYS_FILE_H.c.o -o cmTC_7bd6f 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N6JqrS'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:170 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_IOCTL_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b957e/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_b957e.dir/build.make CMakeFiles/cmTC_b957e.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz'
+        Building C object CMakeFiles/cmTC_b957e.dir/HAVE_SYS_IOCTL_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_b957e.dir/HAVE_SYS_IOCTL_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz/HAVE_SYS_IOCTL_H.c
+        Linking C executable cmTC_b957e
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b957e.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_b957e.dir/HAVE_SYS_IOCTL_H.c.o -o cmTC_b957e 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-HE0yRz'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:171 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_STAT_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_54d20/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_54d20.dir/build.make CMakeFiles/cmTC_54d20.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw'
+        Building C object CMakeFiles/cmTC_54d20.dir/HAVE_SYS_STAT_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_54d20.dir/HAVE_SYS_STAT_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw/HAVE_SYS_STAT_H.c
+        Linking C executable cmTC_54d20
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_54d20.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_54d20.dir/HAVE_SYS_STAT_H.c.o -o cmTC_54d20 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-CguOzw'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:172 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_TIME_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7512a/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_7512a.dir/build.make CMakeFiles/cmTC_7512a.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0'
+        Building C object CMakeFiles/cmTC_7512a.dir/HAVE_SYS_TIME_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_7512a.dir/HAVE_SYS_TIME_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0/HAVE_SYS_TIME_H.c
+        Linking C executable cmTC_7512a
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7512a.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_7512a.dir/HAVE_SYS_TIME_H.c.o -o cmTC_7512a 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-OXMwA0'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:173 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_TYPES_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_76c9e/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_76c9e.dir/build.make CMakeFiles/cmTC_76c9e.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru'
+        Building C object CMakeFiles/cmTC_76c9e.dir/HAVE_SYS_TYPES_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_76c9e.dir/HAVE_SYS_TYPES_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru/HAVE_SYS_TYPES_H.c
+        Linking C executable cmTC_76c9e
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_76c9e.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_76c9e.dir/HAVE_SYS_TYPES_H.c.o -o cmTC_76c9e 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Hpl4ru'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:174 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_WAIT_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_fa631/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_fa631.dir/build.make CMakeFiles/cmTC_fa631.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ'
+        Building C object CMakeFiles/cmTC_fa631.dir/HAVE_SYS_WAIT_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_fa631.dir/HAVE_SYS_WAIT_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ/HAVE_SYS_WAIT_H.c
+        Linking C executable cmTC_fa631
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fa631.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_fa631.dir/HAVE_SYS_WAIT_H.c.o -o cmTC_fa631 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SUeuyJ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:175 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_TERMIO_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_cf7f2/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_cf7f2.dir/build.make CMakeFiles/cmTC_cf7f2.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B'
+        Building C object CMakeFiles/cmTC_cf7f2.dir/HAVE_TERMIO_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_cf7f2.dir/HAVE_TERMIO_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B/HAVE_TERMIO_H.c
+        Linking C executable cmTC_cf7f2
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cf7f2.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_cf7f2.dir/HAVE_TERMIO_H.c.o -o cmTC_cf7f2 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-3KZx0B'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:176 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_UNISTD_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_50899/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_50899.dir/build.make CMakeFiles/cmTC_50899.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT'
+        Building C object CMakeFiles/cmTC_50899.dir/HAVE_UNISTD_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_50899.dir/HAVE_UNISTD_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT/HAVE_UNISTD_H.c
+        Linking C executable cmTC_50899
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_50899.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_50899.dir/HAVE_UNISTD_H.c.o -o cmTC_50899 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-SCe1hT'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:177 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_VARARGS_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_92029/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_92029.dir/build.make CMakeFiles/cmTC_92029.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt'
+        Building C object CMakeFiles/cmTC_92029.dir/HAVE_VARARGS_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_92029.dir/HAVE_VARARGS_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt/HAVE_VARARGS_H.c
+        In file included from /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt/HAVE_VARARGS_H.c:2:
+        /usr/lib/gcc/loongarch64-linux-gnu/13/include/varargs.h:4:2: error: #error "GCC no longer implements <varargs.h>."
+            4 | #error "GCC no longer implements <varargs.h>."
+              |  ^~~~~
+        /usr/lib/gcc/loongarch64-linux-gnu/13/include/varargs.h:5:2: error: #error "Revise your code to use <stdarg.h>."
+            5 | #error "Revise your code to use <stdarg.h>."
+              |  ^~~~~
+        gmake[3]: *** [CMakeFiles/cmTC_92029.dir/build.make:78: CMakeFiles/cmTC_92029.dir/HAVE_VARARGS_H.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt'
+        gmake[2]: *** [Makefile:127: cmTC_92029/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-rIC9Pt'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:137 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:178 (nrn_check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_TIMEB_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_20a6a/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_20a6a.dir/build.make CMakeFiles/cmTC_20a6a.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa'
+        Building C object CMakeFiles/cmTC_20a6a.dir/HAVE_SYS_TIMEB_H.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_20a6a.dir/HAVE_SYS_TIMEB_H.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa/HAVE_SYS_TIMEB_H.c
+        Linking C executable cmTC_20a6a
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_20a6a.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_20a6a.dir/HAVE_SYS_TIMEB_H.c.o -o cmTC_20a6a 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VyzzEa'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:183 (check_include_files)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "STDC_HEADERS"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a1a4a/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_a1a4a.dir/build.make CMakeFiles/cmTC_a1a4a.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk'
+        Building C object CMakeFiles/cmTC_a1a4a.dir/STDC_HEADERS.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_a1a4a.dir/STDC_HEADERS.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk/STDC_HEADERS.c
+        Linking C executable cmTC_a1a4a
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a1a4a.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_a1a4a.dir/STDC_HEADERS.c.o -o cmTC_a1a4a 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wbAyWk'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFileCXX.cmake:89 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:185 (check_include_file_cxx)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE__G_CONFIG_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_affbe/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_affbe.dir/build.make CMakeFiles/cmTC_affbe.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m'
+        Building CXX object CMakeFiles/cmTC_affbe.dir/CheckIncludeFile.cxx.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_affbe.dir/CheckIncludeFile.cxx.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m/CheckIncludeFile.cxx
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m/CheckIncludeFile.cxx:1:10: fatal error: _G_config.h: No such file or directory
+            1 | #include <_G_config.h>
+              |          ^~~~~~~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_affbe.dir/build.make:78: CMakeFiles/cmTC_affbe.dir/CheckIncludeFile.cxx.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m'
+        gmake[2]: *** [Makefile:127: cmTC_affbe/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cq0k8m'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFileCXX.cmake:89 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:190 (check_include_file_cxx)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_CXXABI_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f278d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f278d.dir/build.make CMakeFiles/cmTC_f278d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40'
+        Building CXX object CMakeFiles/cmTC_f278d.dir/CheckIncludeFile.cxx.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_f278d.dir/CheckIncludeFile.cxx.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40/CheckIncludeFile.cxx
+        Linking CXX executable cmTC_f278d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f278d.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_f278d.dir/CheckIncludeFile.cxx.o -o cmTC_f278d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-XBum40'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:197 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_ALLOCA"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3a63a/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_3a63a.dir/build.make CMakeFiles/cmTC_3a63a.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88'
+        Building C object CMakeFiles/cmTC_3a63a.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_3a63a.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88/CheckSymbolExists.c
+        Linking C executable cmTC_3a63a
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3a63a.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_3a63a.dir/CheckSymbolExists.c.o -o cmTC_3a63a 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ax1t88'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:198 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_BCOPY"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9509d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_9509d.dir/build.make CMakeFiles/cmTC_9509d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ'
+        Building C object CMakeFiles/cmTC_9509d.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_9509d.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ/CheckSymbolExists.c
+        Linking C executable cmTC_9509d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9509d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_9509d.dir/CheckSymbolExists.c.o -o cmTC_9509d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-7pbCvQ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:199 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_BZERO"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_20575/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_20575.dir/build.make CMakeFiles/cmTC_20575.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF'
+        Building C object CMakeFiles/cmTC_20575.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_20575.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF/CheckSymbolExists.c
+        Linking C executable cmTC_20575
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_20575.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_20575.dir/CheckSymbolExists.c.o -o cmTC_20575 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-M5uNWF'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:200 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_DOPRNT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_297fa/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_297fa.dir/build.make CMakeFiles/cmTC_297fa.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv'
+        Building C object CMakeFiles/cmTC_297fa.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_297fa.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv/CheckSymbolExists.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv/CheckSymbolExists.c: In function 'main':
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv/CheckSymbolExists.c:35:19: error: 'doprnt' undeclared (first use in this function)
+           35 |   return ((int*)(&doprnt))[argc];
+              |                   ^~~~~~
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv/CheckSymbolExists.c:35:19: note: each undeclared identifier is reported only once for each function it appears in
+        gmake[3]: *** [CMakeFiles/cmTC_297fa.dir/build.make:78: CMakeFiles/cmTC_297fa.dir/CheckSymbolExists.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv'
+        gmake[2]: *** [Makefile:127: cmTC_297fa/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ADRonv'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:201 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FTIME"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_aa86b/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_aa86b.dir/build.make CMakeFiles/cmTC_aa86b.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5'
+        Building C object CMakeFiles/cmTC_aa86b.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_aa86b.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5/CheckSymbolExists.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5/CheckSymbolExists.c: In function 'main':
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5/CheckSymbolExists.c:35:3: warning: 'ftime' is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
+           35 |   return ((int*)(&ftime))[argc];
+              |   ^~~~~~
+        In file included from /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5/CheckSymbolExists.c:29:
+        /usr/include/loongarch64-linux-gnu/sys/timeb.h:29:12: note: declared here
+           29 | extern int ftime (struct timeb *__timebuf)
+              |            ^~~~~
+        Linking C executable cmTC_aa86b
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa86b.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_aa86b.dir/CheckSymbolExists.c.o -o cmTC_aa86b 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-jcaUj5'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:202 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_GETCWD"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a39c3/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_a39c3.dir/build.make CMakeFiles/cmTC_a39c3.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg'
+        Building C object CMakeFiles/cmTC_a39c3.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_a39c3.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg/CheckSymbolExists.c
+        Linking C executable cmTC_a39c3
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a39c3.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_a39c3.dir/CheckSymbolExists.c.o -o cmTC_a39c3 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-6s5rgg'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:203 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_GETHOSTNAME"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9a47d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_9a47d.dir/build.make CMakeFiles/cmTC_9a47d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk'
+        Building C object CMakeFiles/cmTC_9a47d.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_9a47d.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk/CheckSymbolExists.c
+        Linking C executable cmTC_9a47d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9a47d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_9a47d.dir/CheckSymbolExists.c.o -o cmTC_9a47d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Rf03uk'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:204 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_GETTIMEOFDAY"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f51b2/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f51b2.dir/build.make CMakeFiles/cmTC_f51b2.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1'
+        Building C object CMakeFiles/cmTC_f51b2.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_f51b2.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1/CheckSymbolExists.c
+        Linking C executable cmTC_f51b2
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f51b2.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_f51b2.dir/CheckSymbolExists.c.o -o cmTC_f51b2 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hJQuR1'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:205 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_INDEX"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6fb56/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_6fb56.dir/build.make CMakeFiles/cmTC_6fb56.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE'
+        Building C object CMakeFiles/cmTC_6fb56.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_6fb56.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE/CheckSymbolExists.c
+        Linking C executable cmTC_6fb56
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6fb56.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_6fb56.dir/CheckSymbolExists.c.o -o cmTC_6fb56 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-vabtIE'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:206 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_ISATTY"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5ae36/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_5ae36.dir/build.make CMakeFiles/cmTC_5ae36.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR'
+        Building C object CMakeFiles/cmTC_5ae36.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_5ae36.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR/CheckSymbolExists.c
+        Linking C executable cmTC_5ae36
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5ae36.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_5ae36.dir/CheckSymbolExists.c.o -o cmTC_5ae36 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hI6HjR'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:208 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_LOCKF"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d6ce9/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_d6ce9.dir/build.make CMakeFiles/cmTC_d6ce9.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA'
+        Building C object CMakeFiles/cmTC_d6ce9.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_d6ce9.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA/CheckSymbolExists.c
+        Linking C executable cmTC_d6ce9
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d6ce9.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_d6ce9.dir/CheckSymbolExists.c.o -o cmTC_d6ce9 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-Xy4fNA'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:209 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MALLINFO"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f989d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f989d.dir/build.make CMakeFiles/cmTC_f989d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N'
+        Building C object CMakeFiles/cmTC_f989d.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_f989d.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N/CheckSymbolExists.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N/CheckSymbolExists.c: In function 'main':
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N/CheckSymbolExists.c:35:3: warning: 'mallinfo' is deprecated [-Wdeprecated-declarations]
+           35 |   return ((int*)(&mallinfo))[argc];
+              |   ^~~~~~
+        In file included from /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N/CheckSymbolExists.c:11:
+        /usr/include/malloc.h:114:24: note: declared here
+          114 | extern struct mallinfo mallinfo (void) __THROW __MALLOC_DEPRECATED;
+              |                        ^~~~~~~~
+        Linking C executable cmTC_f989d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f989d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_f989d.dir/CheckSymbolExists.c.o -o cmTC_f989d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8rrM0N'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:210 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MALLINFO2"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_94b87/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_94b87.dir/build.make CMakeFiles/cmTC_94b87.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ'
+        Building C object CMakeFiles/cmTC_94b87.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_94b87.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ/CheckSymbolExists.c
+        Linking C executable cmTC_94b87
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_94b87.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_94b87.dir/CheckSymbolExists.c.o -o cmTC_94b87 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-VFqpoQ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:211 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MKDIR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_663ab/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_663ab.dir/build.make CMakeFiles/cmTC_663ab.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK'
+        Building C object CMakeFiles/cmTC_663ab.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_663ab.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK/CheckSymbolExists.c
+        Linking C executable cmTC_663ab
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_663ab.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_663ab.dir/CheckSymbolExists.c.o -o cmTC_663ab 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-aPzPPK'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:212 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_MKSTEMP"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3b47d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_3b47d.dir/build.make CMakeFiles/cmTC_3b47d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG'
+        Building C object CMakeFiles/cmTC_3b47d.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_3b47d.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG/CheckSymbolExists.c
+        Linking C executable cmTC_3b47d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3b47d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_3b47d.dir/CheckSymbolExists.c.o -o cmTC_3b47d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-enaANG'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:214 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_POSIX_MEMALIGN"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7c29c/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_7c29c.dir/build.make CMakeFiles/cmTC_7c29c.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM'
+        Building C object CMakeFiles/cmTC_7c29c.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_7c29c.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM/CheckSymbolExists.c
+        Linking C executable cmTC_7c29c
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7c29c.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_7c29c.dir/CheckSymbolExists.c.o -o cmTC_7c29c 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-IckWiM'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:215 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_PTHREAD"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4a7dc/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_4a7dc.dir/build.make CMakeFiles/cmTC_4a7dc.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al'
+        Building C object CMakeFiles/cmTC_4a7dc.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_4a7dc.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al/CheckSymbolExists.c
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al/CheckSymbolExists.c: In function 'main':
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al/CheckSymbolExists.c:35:19: error: 'pthread' undeclared (first use in this function); did you mean 'pread'?
+           35 |   return ((int*)(&pthread))[argc];
+              |                   ^~~~~~~
+              |                   pread
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al/CheckSymbolExists.c:35:19: note: each undeclared identifier is reported only once for each function it appears in
+        gmake[3]: *** [CMakeFiles/cmTC_4a7dc.dir/build.make:78: CMakeFiles/cmTC_4a7dc.dir/CheckSymbolExists.c.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al'
+        gmake[2]: *** [Makefile:127: cmTC_4a7dc/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-xVF2Al'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:216 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_PUTENV"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b9211/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_b9211.dir/build.make CMakeFiles/cmTC_b9211.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE'
+        Building C object CMakeFiles/cmTC_b9211.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_b9211.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE/CheckSymbolExists.c
+        Linking C executable cmTC_b9211
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b9211.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_b9211.dir/CheckSymbolExists.c.o -o cmTC_b9211 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-cJM7zE'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:217 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_REALPATH"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ee242/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_ee242.dir/build.make CMakeFiles/cmTC_ee242.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU'
+        Building C object CMakeFiles/cmTC_ee242.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_ee242.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU/CheckSymbolExists.c
+        Linking C executable cmTC_ee242
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ee242.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_ee242.dir/CheckSymbolExists.c.o -o cmTC_ee242 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZVDovU'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:218 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SELECT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e91f4/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_e91f4.dir/build.make CMakeFiles/cmTC_e91f4.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm'
+        Building C object CMakeFiles/cmTC_e91f4.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_e91f4.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm/CheckSymbolExists.c
+        Linking C executable cmTC_e91f4
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e91f4.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_e91f4.dir/CheckSymbolExists.c.o -o cmTC_e91f4 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZiltJm'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:219 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SETENV"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_93c76/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_93c76.dir/build.make CMakeFiles/cmTC_93c76.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi'
+        Building C object CMakeFiles/cmTC_93c76.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_93c76.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi/CheckSymbolExists.c
+        Linking C executable cmTC_93c76
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_93c76.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_93c76.dir/CheckSymbolExists.c.o -o cmTC_93c76 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-4mfIPi'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:220 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SETITIMER"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6735d/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_6735d.dir/build.make CMakeFiles/cmTC_6735d.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp'
+        Building C object CMakeFiles/cmTC_6735d.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_6735d.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp/CheckSymbolExists.c
+        Linking C executable cmTC_6735d
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6735d.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_6735d.dir/CheckSymbolExists.c.o -o cmTC_6735d 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-2KI6Jp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:221 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SIGACTION"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e1d14/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_e1d14.dir/build.make CMakeFiles/cmTC_e1d14.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ'
+        Building C object CMakeFiles/cmTC_e1d14.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_e1d14.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ/CheckSymbolExists.c
+        Linking C executable cmTC_e1d14
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e1d14.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_e1d14.dir/CheckSymbolExists.c.o -o cmTC_e1d14 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-8s68TQ'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:151 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:222 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SIGBUS"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_15755/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_15755.dir/build.make CMakeFiles/cmTC_15755.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA'
+        Building C object CMakeFiles/cmTC_15755.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_15755.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA/CheckSymbolExists.c
+        Linking C executable cmTC_15755
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15755.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_15755.dir/CheckSymbolExists.c.o -o cmTC_15755 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-DSymaA'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:151 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:223 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SIGSEGV"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d292e/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_d292e.dir/build.make CMakeFiles/cmTC_d292e.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh'
+        Building C object CMakeFiles/cmTC_d292e.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_d292e.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh/CheckSymbolExists.c
+        Linking C executable cmTC_d292e
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d292e.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_d292e.dir/CheckSymbolExists.c.o -o cmTC_d292e 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-wcw1Jh'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:224 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STRDUP"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6d3f0/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_6d3f0.dir/build.make CMakeFiles/cmTC_6d3f0.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r'
+        Building C object CMakeFiles/cmTC_6d3f0.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_6d3f0.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r/CheckSymbolExists.c
+        Linking C executable cmTC_6d3f0
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6d3f0.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_6d3f0.dir/CheckSymbolExists.c.o -o cmTC_6d3f0 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-ZXV95r'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:225 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_STRSTR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_41c56/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_41c56.dir/build.make CMakeFiles/cmTC_41c56.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF'
+        Building C object CMakeFiles/cmTC_41c56.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_41c56.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF/CheckSymbolExists.c
+        Linking C executable cmTC_41c56
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_41c56.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_41c56.dir/CheckSymbolExists.c.o -o cmTC_41c56 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-N4aCNF'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:149 (check_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:227 (nrn_check_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_VPRINTF"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_17b65/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_17b65.dir/build.make CMakeFiles/cmTC_17b65.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP'
+        Building C object CMakeFiles/cmTC_17b65.dir/CheckSymbolExists.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_17b65.dir/CheckSymbolExists.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP/CheckSymbolExists.c
+        Linking C executable cmTC_17b65
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_17b65.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_17b65.dir/CheckSymbolExists.c.o -o cmTC_17b65 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-0S5jkP'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckCXXSymbolExists.cmake:72 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:163 (check_cxx_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:228 (nrn_check_cxx_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_GETPW"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_febb0/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_febb0.dir/build.make CMakeFiles/cmTC_febb0.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2'
+        Building CXX object CMakeFiles/cmTC_febb0.dir/CheckSymbolExists.cxx.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_febb0.dir/CheckSymbolExists.cxx.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2/CheckSymbolExists.cxx
+        Linking CXX executable cmTC_febb0
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_febb0.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_febb0.dir/CheckSymbolExists.cxx.o -o cmTC_febb0 
+        /usr/bin/ld: CMakeFiles/cmTC_febb0.dir/CheckSymbolExists.cxx.o: in function `main':
+        ./obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2/./obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2/CheckSymbolExists.cxx:9:(.text.startup+0x0): warning: the `getpw' function is dangerous and should not be used.
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-hXgsj2'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckCXXSymbolExists.cmake:72 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:161 (check_cxx_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:229 (nrn_check_cxx_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FESETROUND"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_af617/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_af617.dir/build.make CMakeFiles/cmTC_af617.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo'
+        Building CXX object CMakeFiles/cmTC_af617.dir/CheckSymbolExists.cxx.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_af617.dir/CheckSymbolExists.cxx.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo/CheckSymbolExists.cxx
+        Linking CXX executable cmTC_af617
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_af617.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_af617.dir/CheckSymbolExists.cxx.o -o cmTC_af617 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-TX0ixo'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake:140 (try_compile)"
+      - "/usr/share/cmake-3.27/Modules/CheckCXXSymbolExists.cmake:72 (__CHECK_SYMBOL_EXISTS_IMPL)"
+      - "cmake/MacroHelper.cmake:161 (check_cxx_symbol_exists)"
+      - "cmake/ConfigFileSetting.cmake:230 (nrn_check_cxx_symbol_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_FEENABLEEXCEPT"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d8964/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_d8964.dir/build.make CMakeFiles/cmTC_d8964.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n'
+        Building CXX object CMakeFiles/cmTC_d8964.dir/CheckSymbolExists.cxx.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_d8964.dir/CheckSymbolExists.cxx.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n/CheckSymbolExists.cxx
+        Linking CXX executable cmTC_d8964
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8964.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_d8964.dir/CheckSymbolExists.cxx.o -o cmTC_d8964 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-l9EM7n'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:58 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:237 (nrn_check_type_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_13e54/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_13e54.dir/build.make CMakeFiles/cmTC_13e54.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_13e54.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_13e54.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_13e54
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13e54.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_13e54.dir/conftest.cpp.o -o cmTC_13e54 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:58 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:238 (nrn_check_type_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8b242/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_8b242.dir/build.make CMakeFiles/cmTC_8b242.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_8b242.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_8b242.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_8b242
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8b242.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_8b242.dir/conftest.cpp.o -o cmTC_8b242 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:58 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:239 (nrn_check_type_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b7bea/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_b7bea.dir/build.make CMakeFiles/cmTC_b7bea.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_b7bea.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_b7bea.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_b7bea
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b7bea.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_b7bea.dir/conftest.cpp.o -o cmTC_b7bea 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:58 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:240 (nrn_check_type_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_cb68e/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_cb68e.dir/build.make CMakeFiles/cmTC_cb68e.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_cb68e.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_cb68e.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_cb68e
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cb68e.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_cb68e.dir/conftest.cpp.o -o cmTC_cb68e 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:58 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:241 (nrn_check_type_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_07ae1/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_07ae1.dir/build.make CMakeFiles/cmTC_07ae1.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_07ae1.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_07ae1.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_07ae1
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_07ae1.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_07ae1.dir/conftest.cpp.o -o cmTC_07ae1 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:73 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:246 (nrn_check_signal_return_type)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "MY_RESULT_VAR"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f573c/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f573c.dir/build.make CMakeFiles/cmTC_f573c.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_f573c.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_f573c.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp: In function 'int main()':
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp:4:27: error: void value not ignored as it ought to be
+            4 |   return *(signal (0, 0)) (0) == 1;
+              |           ~~~~~~~~~~~~~~~~^~~
+        gmake[3]: *** [CMakeFiles/cmTC_f573c.dir/build.make:78: CMakeFiles/cmTC_f573c.dir/conftest.cpp.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: *** [Makefile:127: cmTC_f573c/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake:132 (try_compile)"
+      - "cmake/MacroHelper.cmake:29 (check_include_files)"
+      - "cmake/ConfigFileSetting.cmake:251 (nrn_check_dir_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE"
+    cmakeVariables:
+      CMAKE_C_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_C_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_HEADER"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f3cac/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_f3cac.dir/build.make CMakeFiles/cmTC_f3cac.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE'
+        Building C object CMakeFiles/cmTC_f3cac.dir/HAVE_HEADER.c.o
+        /usr/bin/cc   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -o CMakeFiles/cmTC_f3cac.dir/HAVE_HEADER.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE/HAVE_HEADER.c
+        Linking C executable cmTC_f3cac
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f3cac.dir/link.txt --verbose=1
+        /usr/bin/cc -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_f3cac.dir/HAVE_HEADER.c.o -o cmTC_f3cac 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeScratch/TryCompile-94bfqE'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:35 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:251 (nrn_check_dir_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_DIRENT_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6377f/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_6377f.dir/build.make CMakeFiles/cmTC_6377f.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_6377f.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_6377f.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_6377f
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6377f.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_6377f.dir/conftest.cpp.o -o cmTC_6377f 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:35 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:252 (nrn_check_dir_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_NDIR_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9045b/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_9045b.dir/build.make CMakeFiles/cmTC_9045b.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_9045b.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_9045b.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp:2:10: fatal error: ndir.h: No such file or directory
+            2 | #include <ndir.h>
+              |          ^~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_9045b.dir/build.make:78: CMakeFiles/cmTC_9045b.dir/conftest.cpp.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: *** [Makefile:127: cmTC_9045b/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 2
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:35 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:253 (nrn_check_dir_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_DIR_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_63784/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_63784.dir/build.make CMakeFiles/cmTC_63784.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_63784.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_63784.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        Linking CXX executable cmTC_63784
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_63784.dir/link.txt --verbose=1
+        /usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wl,-z,relro  CMakeFiles/cmTC_63784.dir/conftest.cpp.o -o cmTC_63784 
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 0
+  -
+    kind: "try_compile-v1"
+    backtrace:
+      - "cmake/MacroHelper.cmake:35 (try_compile)"
+      - "cmake/ConfigFileSetting.cmake:254 (nrn_check_dir_exists)"
+      - "CMakeLists.txt:481 (include)"
+    directories:
+      source: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+      binary: "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp"
+    cmakeVariables:
+      CMAKE_CXX_FLAGS: "-g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2"
+      CMAKE_CXX_FLAGS_DEBUG: "-g  -O0 -fstack-protector -Wno-write-strings"
+      CMAKE_EXE_LINKER_FLAGS: "-Wl,-z,relro"
+      CMAKE_MODULE_PATH: "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake;/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules"
+    buildResult:
+      variable: "HAVE_SYS_NDIR_H"
+      cached: true
+      stdout: |
+        Change Dir: '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1d7cb/fast
+        gmake[2]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        /usr/bin/gmake  -f CMakeFiles/cmTC_1d7cb.dir/build.make CMakeFiles/cmTC_1d7cb.dir/build
+        gmake[3]: Entering directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        Building CXX object CMakeFiles/cmTC_1d7cb.dir/conftest.cpp.o
+        /usr/bin/c++   -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11 -o CMakeFiles/cmTC_1d7cb.dir/conftest.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp
+        /home/debian-build/wuruilong/demo/neuron-8.2.2/conftest.cpp:2:10: fatal error: sys/ndir.h: No such file or directory
+            2 | #include <sys/ndir.h>
+              |          ^~~~~~~~~~~~
+        compilation terminated.
+        gmake[3]: *** [CMakeFiles/cmTC_1d7cb.dir/build.make:78: CMakeFiles/cmTC_1d7cb.dir/conftest.cpp.o] Error 1
+        gmake[3]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        gmake[2]: *** [Makefile:127: cmTC_1d7cb/fast] Error 2
+        gmake[2]: Leaving directory '/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeFiles/CMakeTmp'
+        
+      exitCode: 2
+...
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/debian-build/wuruilong/demo/neuron-8.2.2")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/CMakeRuleHashes.txt
@@ -0,0 +1,42 @@
+# Hashes of file build rules.
+c5d745d71e6c1486e2ef137a123f0dd6 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c
+f70cc6c17a3993d89c85182f1eec82b0 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c
+6c898cff04b1adf691318cc1168ef157 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c
+2d34b158d313a3f9ec280b2016d2dadd /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c
+7669394cd66c9740c8bc55dbbb7edbb4 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c
+5ea6ff0ef0f06d2321d1fcc61ef2161b /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c
+96f273c9ba3a31133b8243c14d0b0b7d /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c
+efdea5bbdf7ff04bbcbed85189c5a8db /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c
+d01f9b7cb7d223560f24d55af74075c3 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c
+d5adaea24e7e269eabdd7fc4821a4e86 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h
+0f93aca277485c79a022a630712894ff /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c
+86e6d02f407b3e4dc6889b1e1141e6c3 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c
+ddb4fc628e9c81760598e25eb30e35dc /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c
+2dc12a10f953db74bad41122fb59e9e0 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c
+2511bd94eaea22cd8d8cad475d334761 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c
+e7abe9dbf2eec2bd6f4dbb00508fc65a /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c
+5edf500a482827928386bdd959ddee34 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c
+2473fb7ff5e519497c9d93703a5b7c2b /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c
+249491e0be7f7268d34084eaf0739a1a CMakeFiles/help_data_dat
+435acbdcd67775d6f1f6bf8c1c3a39fd CMakeFiles/hh_update
+213d442e450b254ca6ae56d6d58d6e60 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d
+6a4254ca614499eb8d5022778d8da2cd share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0
+213d442e450b254ca6ae56d6d58d6e60 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated
+c6b924b12de5a379ce9f4f5a164f1c35 share/lib/python/neuron/rxd/geometry3d/ctng.cpp
+91b2016dcf1b312ee233e64afd85745c share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
+842878d53a32cbfc1ee66ebf84d66e00 share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
+d5adaea24e7e269eabdd7fc4821a4e86 src/nrniv/CMakeFiles/generate_hocusr_header
+b6a2f1265eb57616cc7c3d570bd10b66 src/nrniv/CMakeFiles/generated_source_files
+d5adaea24e7e269eabdd7fc4821a4e86 src/nrniv/CMakeFiles/modlunit_generated_files
+d5adaea24e7e269eabdd7fc4821a4e86 src/nrniv/CMakeFiles/nocmodl_generated_files
+f8728170efb366fb66576681ef31b360 src/nrniv/CMakeFiles/nrnversion_h
+d5adaea24e7e269eabdd7fc4821a4e86 src/nrniv/CMakeFiles/oc_generated_files
+24f69a128a260b4072adebb1c1b74915 src/nrniv/modlunit_generated/lex.cpp
+f9a82c3f261d9059d39e264fce6eab95 src/nrniv/modlunit_generated/parse1.hpp
+c6d2288164e6e75c97dc6d75464ceee8 src/nrniv/nocmodl_generated/diffeq.hpp
+3718a2a6d03f6924a30e6e4307345e60 src/nrniv/nocmodl_generated/lex.cpp
+58721abcaf523a4e85cc0f16ee5bfd03 src/nrniv/nocmodl_generated/parse1.hpp
+066cbbc535bfa6731b3653435e1987b8 src/nrniv/oc_generated/parse.hpp
+36fa7a005c99ef90a2322fb63b2dcba1 src/nrnpython/CMakeFiles/hoc_module
+22ed2ed80b52e11e78307635ac8f0504 src/nrnpython/inithoc.cpp
+659fe984f9655fad99dbf0b0ed70542f src/oc/hocusr.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Makefile.cmake
@@ -0,0 +1,222 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/./cmake_nrnconf.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/CMakeLists.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/CMakeLists.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/neurondemo.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/nrngui.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/nrnivmodl.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/nrnivmodl_makefile_cmake.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/sortspike"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/BuildOptionDefaults.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/CMakeListsNrnMech.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/CheckGitDescribeCompatibility.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/CompilerFlagsHelpers.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/CompilerHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/ConfigFileSetting.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/Coverage.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/ExternalProjectHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/MPIDynamicHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/MacroHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/NeuronFileLists.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/PlatformHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/PythonDynamicHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/ReleaseDebugAutoFlags.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/RpathHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/SanitizerHelper.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules/FindCython.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules/FindPythonLibsNew.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules/FindPythonModule.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules/FindReadline.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/cmake/modules/FindTermcap.cmake"
+  "CMakeFiles/3.27.7/CMakeCCompiler.cmake"
+  "CMakeFiles/3.27.7/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.27.7/CMakeSystem.cmake"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/nrn.defaults.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/nrnunits.lib.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d/CMakeLists.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d/setup.py.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrnneosm.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/CMakeLists.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnconfigargs.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnsemanticversion.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/CMakeLists.txt"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython_config.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/setup.py.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpiuse.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnpthread.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel/bbsconf.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/sundials_config.h.in"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/uxnrnbbs/mos2nrn.h.in"
+  "/usr/lib/cmake/iv/iv-config.cmake"
+  "/usr/lib/cmake/iv/iv-relwithdebinfo.cmake"
+  "/usr/lib/cmake/iv/iv.cmake"
+  "/usr/share/bluebrain-hpc-coding-conventions/cpp/cmake/3rdparty.cmake"
+  "/usr/share/bluebrain-hpc-coding-conventions/cpp/cmake/sanitizers.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeCCompiler.cmake.in"
+  "/usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c"
+  "/usr/share/cmake-3.27/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeCXXCompiler.cmake.in"
+  "/usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"
+  "/usr/share/cmake-3.27/Modules/CMakeCXXInformation.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeCompilerIdDetection.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCXXCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompileFeatures.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeFindBinUtils.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeInitializeConfigs.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeParseArguments.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeParseImplicitIncludeInfo.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeParseImplicitLinkInfo.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeParseLibraryArchitecture.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeSystem.cmake.in"
+  "/usr/share/cmake-3.27/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeTestCompilerCommon.cmake"
+  "/usr/share/cmake-3.27/Modules/CMakeUnixFindMake.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckCSourceCompiles.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckCXXSymbolExists.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckFunctionExists.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckIncludeFile.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckIncludeFileCXX.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckIncludeFiles.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckLibraryExists.cmake"
+  "/usr/share/cmake-3.27/Modules/CheckSymbolExists.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Borland-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Cray-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GHS-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU-CXX.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU-FindBinUtils.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IAR-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Intel-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/LCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/PGI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/SCO-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/TI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Tasking-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.27/Modules/FindBISON.cmake"
+  "/usr/share/cmake-3.27/Modules/FindCurses.cmake"
+  "/usr/share/cmake-3.27/Modules/FindFLEX.cmake"
+  "/usr/share/cmake-3.27/Modules/FindGit.cmake"
+  "/usr/share/cmake-3.27/Modules/FindMPI.cmake"
+  "/usr/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake"
+  "/usr/share/cmake-3.27/Modules/FindPackageMessage.cmake"
+  "/usr/share/cmake-3.27/Modules/FindPkgConfig.cmake"
+  "/usr/share/cmake-3.27/Modules/FindPythonInterp.cmake"
+  "/usr/share/cmake-3.27/Modules/FindThreads.cmake"
+  "/usr/share/cmake-3.27/Modules/FindX11.cmake"
+  "/usr/share/cmake-3.27/Modules/Internal/CheckSourceCompiles.cmake"
+  "/usr/share/cmake-3.27/Modules/Internal/FeatureTesting.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux-Determine-CXX.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU-C.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU-CXX.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux-Initialize.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake-3.27/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/3.27.7/CMakeSystem.cmake"
+  "CMakeFiles/3.27.7/CMakeCCompiler.cmake"
+  "CMakeFiles/3.27.7/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.27.7/CMakeCCompiler.cmake"
+  "CMakeFiles/3.27.7/CMakeCXXCompiler.cmake"
+  "src/nrnoc/nrnsemanticversion.h"
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  "src/nrniv/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "bin/sortspike"
+  "bin/nrnmech_makefile"
+  "bin/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "src/nrnpython/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "share/lib/python/neuron/rxd/geometry3d/CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "CMakeFiles/hh_update.dir/DependInfo.cmake"
+  "CMakeFiles/help_data_dat.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/generated_source_files.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/modlunit_generated_files.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/modlunit.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/nocmodl_generated_files.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/nocmodl.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/oc_generated_files.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/nrnversion_h.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/generate_hocusr_header.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/nrniv_lib.dir/DependInfo.cmake"
+  "src/nrniv/CMakeFiles/nrniv.dir/DependInfo.cmake"
+  "src/nrnpython/CMakeFiles/rxdmath.dir/DependInfo.cmake"
+  "src/nrnpython/CMakeFiles/nrnpython3.dir/DependInfo.cmake"
+  "src/nrnpython/CMakeFiles/hoc_module.dir/DependInfo.cmake"
+  "share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/DependInfo.cmake"
+  "share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/DependInfo.cmake"
+  "share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/DependInfo.cmake"
+  )
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Makefile2
@@ -0,0 +1,655 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: src/nrniv/all
+all: bin/all
+all: src/nrnpython/all
+all: share/lib/python/neuron/rxd/geometry3d/all
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall: src/nrniv/preinstall
+preinstall: bin/preinstall
+preinstall: src/nrnpython/preinstall
+preinstall: share/lib/python/neuron/rxd/geometry3d/preinstall
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: CMakeFiles/hh_update.dir/clean
+clean: CMakeFiles/help_data_dat.dir/clean
+clean: src/nrniv/clean
+clean: bin/clean
+clean: src/nrnpython/clean
+clean: share/lib/python/neuron/rxd/geometry3d/clean
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory bin
+
+# Recursive "all" directory target.
+bin/all:
+.PHONY : bin/all
+
+# Recursive "preinstall" directory target.
+bin/preinstall:
+.PHONY : bin/preinstall
+
+# Recursive "clean" directory target.
+bin/clean:
+.PHONY : bin/clean
+
+#=============================================================================
+# Directory level rules for directory share/lib/python/neuron/rxd/geometry3d
+
+# Recursive "all" directory target.
+share/lib/python/neuron/rxd/geometry3d/all: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/all
+.PHONY : share/lib/python/neuron/rxd/geometry3d/all
+
+# Recursive "preinstall" directory target.
+share/lib/python/neuron/rxd/geometry3d/preinstall:
+.PHONY : share/lib/python/neuron/rxd/geometry3d/preinstall
+
+# Recursive "clean" directory target.
+share/lib/python/neuron/rxd/geometry3d/clean: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean
+share/lib/python/neuron/rxd/geometry3d/clean: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean
+share/lib/python/neuron/rxd/geometry3d/clean: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean
+.PHONY : share/lib/python/neuron/rxd/geometry3d/clean
+
+#=============================================================================
+# Directory level rules for directory src/nrniv
+
+# Recursive "all" directory target.
+src/nrniv/all: src/nrniv/CMakeFiles/modlunit.dir/all
+src/nrniv/all: src/nrniv/CMakeFiles/nocmodl.dir/all
+src/nrniv/all: src/nrniv/CMakeFiles/nrniv_lib.dir/all
+src/nrniv/all: src/nrniv/CMakeFiles/nrniv.dir/all
+.PHONY : src/nrniv/all
+
+# Recursive "preinstall" directory target.
+src/nrniv/preinstall:
+.PHONY : src/nrniv/preinstall
+
+# Recursive "clean" directory target.
+src/nrniv/clean: src/nrniv/CMakeFiles/generated_source_files.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/modlunit.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/nocmodl.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/oc_generated_files.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/nrnversion_h.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/nrniv_lib.dir/clean
+src/nrniv/clean: src/nrniv/CMakeFiles/nrniv.dir/clean
+.PHONY : src/nrniv/clean
+
+#=============================================================================
+# Directory level rules for directory src/nrnpython
+
+# Recursive "all" directory target.
+src/nrnpython/all: src/nrnpython/CMakeFiles/rxdmath.dir/all
+src/nrnpython/all: src/nrnpython/CMakeFiles/nrnpython3.dir/all
+src/nrnpython/all: src/nrnpython/CMakeFiles/hoc_module.dir/all
+.PHONY : src/nrnpython/all
+
+# Recursive "preinstall" directory target.
+src/nrnpython/preinstall:
+.PHONY : src/nrnpython/preinstall
+
+# Recursive "clean" directory target.
+src/nrnpython/clean: src/nrnpython/CMakeFiles/rxdmath.dir/clean
+src/nrnpython/clean: src/nrnpython/CMakeFiles/nrnpython3.dir/clean
+src/nrnpython/clean: src/nrnpython/CMakeFiles/hoc_module.dir/clean
+.PHONY : src/nrnpython/clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/hh_update.dir
+
+# All Build rule for target.
+CMakeFiles/hh_update.dir/all:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/hh_update.dir/build.make CMakeFiles/hh_update.dir/depend
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/hh_update.dir/build.make CMakeFiles/hh_update.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target hh_update"
+.PHONY : CMakeFiles/hh_update.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/hh_update.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/hh_update.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : CMakeFiles/hh_update.dir/rule
+
+# Convenience name for target.
+hh_update: CMakeFiles/hh_update.dir/rule
+.PHONY : hh_update
+
+# clean rule for target.
+CMakeFiles/hh_update.dir/clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/hh_update.dir/build.make CMakeFiles/hh_update.dir/clean
+.PHONY : CMakeFiles/hh_update.dir/clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/help_data_dat.dir
+
+# All Build rule for target.
+CMakeFiles/help_data_dat.dir/all:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/help_data_dat.dir/build.make CMakeFiles/help_data_dat.dir/depend
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/help_data_dat.dir/build.make CMakeFiles/help_data_dat.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target help_data_dat"
+.PHONY : CMakeFiles/help_data_dat.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/help_data_dat.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/help_data_dat.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : CMakeFiles/help_data_dat.dir/rule
+
+# Convenience name for target.
+help_data_dat: CMakeFiles/help_data_dat.dir/rule
+.PHONY : help_data_dat
+
+# clean rule for target.
+CMakeFiles/help_data_dat.dir/clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/help_data_dat.dir/build.make CMakeFiles/help_data_dat.dir/clean
+.PHONY : CMakeFiles/help_data_dat.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/generated_source_files.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/generated_source_files.dir/all: src/nrniv/CMakeFiles/modlunit_generated_files.dir/all
+src/nrniv/CMakeFiles/generated_source_files.dir/all: src/nrniv/CMakeFiles/nocmodl_generated_files.dir/all
+src/nrniv/CMakeFiles/generated_source_files.dir/all: src/nrniv/CMakeFiles/oc_generated_files.dir/all
+src/nrniv/CMakeFiles/generated_source_files.dir/all: src/nrniv/CMakeFiles/nrnversion_h.dir/all
+src/nrniv/CMakeFiles/generated_source_files.dir/all: src/nrniv/CMakeFiles/generate_hocusr_header.dir/all
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generated_source_files.dir/build.make src/nrniv/CMakeFiles/generated_source_files.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generated_source_files.dir/build.make src/nrniv/CMakeFiles/generated_source_files.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target generated_source_files"
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/generated_source_files.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 2
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/generated_source_files.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/rule
+
+# Convenience name for target.
+generated_source_files: src/nrniv/CMakeFiles/generated_source_files.dir/rule
+.PHONY : generated_source_files
+
+# clean rule for target.
+src/nrniv/CMakeFiles/generated_source_files.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generated_source_files.dir/build.make src/nrniv/CMakeFiles/generated_source_files.dir/clean
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/modlunit_generated_files.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make src/nrniv/CMakeFiles/modlunit_generated_files.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make src/nrniv/CMakeFiles/modlunit_generated_files.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=5 "Built target modlunit_generated_files"
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/modlunit_generated_files.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule
+
+# Convenience name for target.
+modlunit_generated_files: src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule
+.PHONY : modlunit_generated_files
+
+# clean rule for target.
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/modlunit.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/modlunit.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=1,2,3,4 "Built target modlunit"
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/modlunit.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 4
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/modlunit.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/rule
+
+# Convenience name for target.
+modlunit: src/nrniv/CMakeFiles/modlunit.dir/rule
+.PHONY : modlunit
+
+# clean rule for target.
+src/nrniv/CMakeFiles/modlunit.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/clean
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/nocmodl_generated_files.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make src/nrniv/CMakeFiles/nocmodl_generated_files.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=11 "Built target nocmodl_generated_files"
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nocmodl_generated_files.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule
+
+# Convenience name for target.
+nocmodl_generated_files: src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule
+.PHONY : nocmodl_generated_files
+
+# clean rule for target.
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/nocmodl.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/nocmodl.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=6,7,8,9,10 "Built target nocmodl"
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/nocmodl.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 5
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nocmodl.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/rule
+
+# Convenience name for target.
+nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/rule
+.PHONY : nocmodl
+
+# clean rule for target.
+src/nrniv/CMakeFiles/nocmodl.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/clean
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/oc_generated_files.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/oc_generated_files.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/oc_generated_files.dir/build.make src/nrniv/CMakeFiles/oc_generated_files.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/oc_generated_files.dir/build.make src/nrniv/CMakeFiles/oc_generated_files.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target oc_generated_files"
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/oc_generated_files.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/oc_generated_files.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/rule
+
+# Convenience name for target.
+oc_generated_files: src/nrniv/CMakeFiles/oc_generated_files.dir/rule
+.PHONY : oc_generated_files
+
+# clean rule for target.
+src/nrniv/CMakeFiles/oc_generated_files.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/oc_generated_files.dir/build.make src/nrniv/CMakeFiles/oc_generated_files.dir/clean
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/nrnversion_h.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/nrnversion_h.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrnversion_h.dir/build.make src/nrniv/CMakeFiles/nrnversion_h.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrnversion_h.dir/build.make src/nrniv/CMakeFiles/nrnversion_h.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target nrnversion_h"
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/nrnversion_h.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrnversion_h.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/rule
+
+# Convenience name for target.
+nrnversion_h: src/nrniv/CMakeFiles/nrnversion_h.dir/rule
+.PHONY : nrnversion_h
+
+# clean rule for target.
+src/nrniv/CMakeFiles/nrnversion_h.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrnversion_h.dir/build.make src/nrniv/CMakeFiles/nrnversion_h.dir/clean
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/generate_hocusr_header.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make src/nrniv/CMakeFiles/generate_hocusr_header.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make src/nrniv/CMakeFiles/generate_hocusr_header.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target generate_hocusr_header"
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/generate_hocusr_header.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule
+
+# Convenience name for target.
+generate_hocusr_header: src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule
+.PHONY : generate_hocusr_header
+
+# clean rule for target.
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/nrniv_lib.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/nrniv_lib.dir/all: CMakeFiles/hh_update.dir/all
+src/nrniv/CMakeFiles/nrniv_lib.dir/all: CMakeFiles/help_data_dat.dir/all
+src/nrniv/CMakeFiles/nrniv_lib.dir/all: src/nrniv/CMakeFiles/nocmodl.dir/all
+src/nrniv/CMakeFiles/nrniv_lib.dir/all: src/nrniv/CMakeFiles/nrnversion_h.dir/all
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96 "Built target nrniv_lib"
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/nrniv_lib.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 89
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrniv_lib.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/rule
+
+# Convenience name for target.
+nrniv_lib: src/nrniv/CMakeFiles/nrniv_lib.dir/rule
+.PHONY : nrniv_lib
+
+# clean rule for target.
+src/nrniv/CMakeFiles/nrniv_lib.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/clean
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrniv/CMakeFiles/nrniv.dir
+
+# All Build rule for target.
+src/nrniv/CMakeFiles/nrniv.dir/all: src/nrniv/CMakeFiles/nrniv_lib.dir/all
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=12 "Built target nrniv"
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrniv/CMakeFiles/nrniv.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 90
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrniv.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/rule
+
+# Convenience name for target.
+nrniv: src/nrniv/CMakeFiles/nrniv.dir/rule
+.PHONY : nrniv
+
+# clean rule for target.
+src/nrniv/CMakeFiles/nrniv.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/clean
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrnpython/CMakeFiles/rxdmath.dir
+
+# All Build rule for target.
+src/nrnpython/CMakeFiles/rxdmath.dir/all:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=100 "Built target rxdmath"
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrnpython/CMakeFiles/rxdmath.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/rxdmath.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/rule
+
+# Convenience name for target.
+rxdmath: src/nrnpython/CMakeFiles/rxdmath.dir/rule
+.PHONY : rxdmath
+
+# clean rule for target.
+src/nrnpython/CMakeFiles/rxdmath.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/clean
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrnpython/CMakeFiles/nrnpython3.dir
+
+# All Build rule for target.
+src/nrnpython/CMakeFiles/nrnpython3.dir/all: src/nrniv/CMakeFiles/nrniv_lib.dir/all
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=97,98 "Built target nrnpython3"
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrnpython/CMakeFiles/nrnpython3.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 91
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/nrnpython3.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/rule
+
+# Convenience name for target.
+nrnpython3: src/nrnpython/CMakeFiles/nrnpython3.dir/rule
+.PHONY : nrnpython3
+
+# clean rule for target.
+src/nrnpython/CMakeFiles/nrnpython3.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/clean
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/clean
+
+#=============================================================================
+# Target rules for target src/nrnpython/CMakeFiles/hoc_module.dir
+
+# All Build rule for target.
+src/nrnpython/CMakeFiles/hoc_module.dir/all: src/nrniv/CMakeFiles/nrniv_lib.dir/all
+src/nrnpython/CMakeFiles/hoc_module.dir/all: src/nrnpython/CMakeFiles/nrnpython3.dir/all
+src/nrnpython/CMakeFiles/hoc_module.dir/all: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/all
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/hoc_module.dir/build.make src/nrnpython/CMakeFiles/hoc_module.dir/depend
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/hoc_module.dir/build.make src/nrnpython/CMakeFiles/hoc_module.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target hoc_module"
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/all
+
+# Build rule for subdir invocation for target.
+src/nrnpython/CMakeFiles/hoc_module.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 92
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/hoc_module.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/rule
+
+# Convenience name for target.
+hoc_module: src/nrnpython/CMakeFiles/hoc_module.dir/rule
+.PHONY : hoc_module
+
+# clean rule for target.
+src/nrnpython/CMakeFiles/hoc_module.dir/clean:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/hoc_module.dir/build.make src/nrnpython/CMakeFiles/hoc_module.dir/clean
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/clean
+
+#=============================================================================
+# Target rules for target share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir
+
+# All Build rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/all:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/depend
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=99 "Built target rxd_cython_generated"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/all
+
+# Build rule for subdir invocation for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule
+
+# Convenience name for target.
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule
+.PHONY : rxd_cython_generated
+
+# clean rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean
+
+#=============================================================================
+# Target rules for target share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir
+
+# All Build rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/all: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/all
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/depend
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target rx3dextensions_0"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/all
+
+# Build rule for subdir invocation for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule
+
+# Convenience name for target.
+rx3dextensions_0: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule
+.PHONY : rx3dextensions_0
+
+# clean rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean
+
+#=============================================================================
+# Target rules for target share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir
+
+# All Build rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/all: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/all
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/depend
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num= "Built target rx3d"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/all
+
+# Build rule for subdir invocation for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 1
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule
+
+# Convenience name for target.
+rx3d: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule
+.PHONY : rx3d
+
+# clean rule for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/1
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/10
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/100
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/13
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/14
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/15
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/16
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/17
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/18
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/19
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/2
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/20
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/21
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/22
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/23
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/24
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/25
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/26
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/27
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/28
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/29
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/3
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/30
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/31
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/32
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/33
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/34
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/35
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/36
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/37
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/38
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/39
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/4
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/40
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/41
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/42
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/43
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/44
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/45
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/46
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/6
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/7
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/8
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/9
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/99
@@ -0,0 +1 @@
+empty
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/Progress/count.txt
@@ -0,0 +1 @@
+98
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,48 @@
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/edit_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/rebuild_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/list_install_components.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/install.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/install/local.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/install/strip.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/edit_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/rebuild_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/list_install_components.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/install.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/install/local.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/install/strip.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/edit_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/rebuild_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/list_install_components.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/install.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/install/local.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/install/strip.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/edit_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rebuild_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/list_install_components.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/install.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/install/local.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/install/strip.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/edit_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rebuild_cache.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/list_install_components.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/install.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/install/local.dir
+/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/install/strip.dir
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/build.make
@@ -0,0 +1,92 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for help_data_dat.
+
+# Include any custom commands dependencies for this target.
+include CMakeFiles/help_data_dat.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/help_data_dat.dir/progress.make
+
+CMakeFiles/help_data_dat:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating help_data.dat"
+	/usr/bin/python3 /home/debian-build/wuruilong/demo/neuron-8.2.2/docs/parse_rst.py /home/debian-build/wuruilong/demo/neuron-8.2.2/docs/python /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/help_data.dat
+	/usr/bin/cmake -E copy_if_different /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/help_data.dat /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python/neuron/help_data.dat
+
+help_data_dat: CMakeFiles/help_data_dat
+help_data_dat: CMakeFiles/help_data_dat.dir/build.make
+.PHONY : help_data_dat
+
+# Rule to build all files generated by this target.
+CMakeFiles/help_data_dat.dir/build: help_data_dat
+.PHONY : CMakeFiles/help_data_dat.dir/build
+
+CMakeFiles/help_data_dat.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/help_data_dat.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/help_data_dat.dir/clean
+
+CMakeFiles/help_data_dat.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : CMakeFiles/help_data_dat.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/help_data_dat"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/help_data_dat.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for help_data_dat.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for help_data_dat.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/help_data_dat.dir/progress.make
@@ -0,0 +1,2 @@
+CMAKE_PROGRESS_1 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/build.make
@@ -0,0 +1,94 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for hh_update.
+
+# Include any custom commands dependencies for this target.
+include CMakeFiles/hh_update.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/hh_update.dir/progress.make
+
+CMakeFiles/hh_update:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Update hh.mod for CoreNEURON compatibility"
+	sed "s/ RANGE minf/ GLOBAL minf/" /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod > /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.1
+	sed "s/ :TABLE minf/ TABLE minf/" /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.1 > /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.2
+	/usr/bin/cmake -E copy_if_different /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod
+	/usr/bin/cmake -E remove /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.1 /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/hh.mod.2
+
+hh_update: CMakeFiles/hh_update
+hh_update: CMakeFiles/hh_update.dir/build.make
+.PHONY : hh_update
+
+# Rule to build all files generated by this target.
+CMakeFiles/hh_update.dir/build: hh_update
+.PHONY : CMakeFiles/hh_update.dir/build
+
+CMakeFiles/hh_update.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/hh_update.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/hh_update.dir/clean
+
+CMakeFiles/hh_update.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : CMakeFiles/hh_update.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/hh_update"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/hh_update.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for hh_update.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for hh_update.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/hh_update.dir/progress.make
@@ -0,0 +1,2 @@
+CMAKE_PROGRESS_1 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+98
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/Makefile
@@ -0,0 +1,444 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu//CMakeFiles/progress.marks
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named hh_update
+
+# Build rule for target.
+hh_update: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 hh_update
+.PHONY : hh_update
+
+# fast build rule for target.
+hh_update/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/hh_update.dir/build.make CMakeFiles/hh_update.dir/build
+.PHONY : hh_update/fast
+
+#=============================================================================
+# Target rules for targets named help_data_dat
+
+# Build rule for target.
+help_data_dat: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 help_data_dat
+.PHONY : help_data_dat
+
+# fast build rule for target.
+help_data_dat/fast:
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/help_data_dat.dir/build.make CMakeFiles/help_data_dat.dir/build
+.PHONY : help_data_dat/fast
+
+#=============================================================================
+# Target rules for targets named generated_source_files
+
+# Build rule for target.
+generated_source_files: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 generated_source_files
+.PHONY : generated_source_files
+
+# fast build rule for target.
+generated_source_files/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generated_source_files.dir/build.make src/nrniv/CMakeFiles/generated_source_files.dir/build
+.PHONY : generated_source_files/fast
+
+#=============================================================================
+# Target rules for targets named modlunit_generated_files
+
+# Build rule for target.
+modlunit_generated_files: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 modlunit_generated_files
+.PHONY : modlunit_generated_files
+
+# fast build rule for target.
+modlunit_generated_files/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make src/nrniv/CMakeFiles/modlunit_generated_files.dir/build
+.PHONY : modlunit_generated_files/fast
+
+#=============================================================================
+# Target rules for targets named modlunit
+
+# Build rule for target.
+modlunit: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 modlunit
+.PHONY : modlunit
+
+# fast build rule for target.
+modlunit/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/build
+.PHONY : modlunit/fast
+
+#=============================================================================
+# Target rules for targets named nocmodl_generated_files
+
+# Build rule for target.
+nocmodl_generated_files: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nocmodl_generated_files
+.PHONY : nocmodl_generated_files
+
+# fast build rule for target.
+nocmodl_generated_files/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build
+.PHONY : nocmodl_generated_files/fast
+
+#=============================================================================
+# Target rules for targets named nocmodl
+
+# Build rule for target.
+nocmodl: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nocmodl
+.PHONY : nocmodl
+
+# fast build rule for target.
+nocmodl/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/build
+.PHONY : nocmodl/fast
+
+#=============================================================================
+# Target rules for targets named oc_generated_files
+
+# Build rule for target.
+oc_generated_files: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 oc_generated_files
+.PHONY : oc_generated_files
+
+# fast build rule for target.
+oc_generated_files/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/oc_generated_files.dir/build.make src/nrniv/CMakeFiles/oc_generated_files.dir/build
+.PHONY : oc_generated_files/fast
+
+#=============================================================================
+# Target rules for targets named nrnversion_h
+
+# Build rule for target.
+nrnversion_h: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nrnversion_h
+.PHONY : nrnversion_h
+
+# fast build rule for target.
+nrnversion_h/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrnversion_h.dir/build.make src/nrniv/CMakeFiles/nrnversion_h.dir/build
+.PHONY : nrnversion_h/fast
+
+#=============================================================================
+# Target rules for targets named generate_hocusr_header
+
+# Build rule for target.
+generate_hocusr_header: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 generate_hocusr_header
+.PHONY : generate_hocusr_header
+
+# fast build rule for target.
+generate_hocusr_header/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make src/nrniv/CMakeFiles/generate_hocusr_header.dir/build
+.PHONY : generate_hocusr_header/fast
+
+#=============================================================================
+# Target rules for targets named nrniv_lib
+
+# Build rule for target.
+nrniv_lib: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nrniv_lib
+.PHONY : nrniv_lib
+
+# fast build rule for target.
+nrniv_lib/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/build
+.PHONY : nrniv_lib/fast
+
+#=============================================================================
+# Target rules for targets named nrniv
+
+# Build rule for target.
+nrniv: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nrniv
+.PHONY : nrniv
+
+# fast build rule for target.
+nrniv/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/build
+.PHONY : nrniv/fast
+
+#=============================================================================
+# Target rules for targets named rxdmath
+
+# Build rule for target.
+rxdmath: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 rxdmath
+.PHONY : rxdmath
+
+# fast build rule for target.
+rxdmath/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/build
+.PHONY : rxdmath/fast
+
+#=============================================================================
+# Target rules for targets named nrnpython3
+
+# Build rule for target.
+nrnpython3: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 nrnpython3
+.PHONY : nrnpython3
+
+# fast build rule for target.
+nrnpython3/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/build
+.PHONY : nrnpython3/fast
+
+#=============================================================================
+# Target rules for targets named hoc_module
+
+# Build rule for target.
+hoc_module: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 hoc_module
+.PHONY : hoc_module
+
+# fast build rule for target.
+hoc_module/fast:
+	$(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/hoc_module.dir/build.make src/nrnpython/CMakeFiles/hoc_module.dir/build
+.PHONY : hoc_module/fast
+
+#=============================================================================
+# Target rules for targets named rxd_cython_generated
+
+# Build rule for target.
+rxd_cython_generated: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 rxd_cython_generated
+.PHONY : rxd_cython_generated
+
+# fast build rule for target.
+rxd_cython_generated/fast:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build
+.PHONY : rxd_cython_generated/fast
+
+#=============================================================================
+# Target rules for targets named rx3dextensions_0
+
+# Build rule for target.
+rx3dextensions_0: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 rx3dextensions_0
+.PHONY : rx3dextensions_0
+
+# fast build rule for target.
+rx3dextensions_0/fast:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build
+.PHONY : rx3dextensions_0/fast
+
+#=============================================================================
+# Target rules for targets named rx3d
+
+# Build rule for target.
+rx3d: cmake_check_build_system
+	$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 rx3d
+.PHONY : rx3d
+
+# fast build rule for target.
+rx3d/fast:
+	$(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build
+.PHONY : rx3d/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... install"
+	@echo "... install/local"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... generate_hocusr_header"
+	@echo "... generated_source_files"
+	@echo "... help_data_dat"
+	@echo "... hh_update"
+	@echo "... hoc_module"
+	@echo "... modlunit_generated_files"
+	@echo "... nocmodl_generated_files"
+	@echo "... nrnversion_h"
+	@echo "... oc_generated_files"
+	@echo "... rx3d"
+	@echo "... rx3dextensions_0"
+	@echo "... rxd_cython_generated"
+	@echo "... modlunit"
+	@echo "... nocmodl"
+	@echo "... nrniv"
+	@echo "... nrniv_lib"
+	@echo "... nrnpython3"
+	@echo "... rxdmath"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/debian-build/wuruilong/demo/neuron-8.2.2")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+0
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/Makefile
@@ -0,0 +1,192 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin//CMakeFiles/progress.marks
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 bin/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 bin/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 bin/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 bin/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... install"
+	@echo "... install/local"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/cmake_install.cmake
@@ -0,0 +1,90 @@
+# Install script for directory: /home/debian-build/wuruilong/demo/neuron-8.2.2/bin
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/nrn/bin/nrngui;/usr/lib/nrn/bin/neurondemo;/usr/lib/nrn/bin/nrnivmodl")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib/nrn/bin" TYPE PROGRAM FILES
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrngui"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/neurondemo"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrnivmodl"
+    )
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/nrn/bin/nrnmech_makefile")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib/nrn/bin" TYPE FILE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrnmech_makefile")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/nrn/bin/nrnpyenv.sh;/usr/lib/nrn/bin/sortspike;/usr/lib/nrn/bin/mkthreadsafe;/usr/lib/nrn/bin/nrnpyenv.sh;/usr/lib/nrn/bin/set_nrnpyenv.sh")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib/nrn/bin" TYPE PROGRAM FILES
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/nrnpyenv.sh"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/sortspike"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/mkthreadsafe"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/nrnpyenv.sh"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/bin/set_nrnpyenv.sh"
+    )
+endif()
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/neurondemo
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+set -e
+
+ARCH=loongarch64
+MODSUBDIR=loongarch64
+
+if test "x${NRNHOME}" = x ; then
+        prefix="/usr"
+	exec_prefix=/usr
+	NRNBIN=${exec_prefix}/bin/
+	NRNDEMO=/usr/share/"nrn"/demo/
+else
+    prefix="$NRNHOME"
+    exec_prefix="${prefix}"
+	NRNBIN="${exec_prefix}/bin/"
+	NRNDEMO="${prefix}/share/"nrn"/demo/"
+fi
+
+if test "${NRNHOME_EXEC}" != "" ; then
+	exec_prefix="${NRNHOME_EXEC}"
+	NRNBIN="${exec_prefix}/bin/"
+fi
+
+export NRNDEMO
+
+if [ ! -f "${NRNDEMO}neuron" ] ; then
+	(cd "${NRNDEMO}release" ; "${NRNBIN}nrnivmodl" ; cd .. ; rm -f neuron ; touch neuron)
+fi
+
+${NRNBIN}nrniv -dll "${NRNDEMO}release/${MODSUBDIR}/.libs/libnrnmech.so" "${NRNDEMO}demo.hoc" "$@" -
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrngui
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+ARCH=loongarch64
+MODSUBDIR=loongarch64
+
+if test "x${NRNHOME}" = x ; then
+	prefix=/usr
+	exec_prefix=/usr
+	NRNBIN=${exec_prefix}/bin/
+else
+    prefix="$NRNHOME"
+    exec_prefix="${prefix}"
+	NRNBIN="${exec_prefix}/bin/"
+fi
+
+if test "${NRNHOME_EXEC}" != "" ; then
+	exec_prefix="${NRNHOME_EXEC}"
+	NRNBIN="${exec_prefix}/bin/"
+fi
+
+if test "" = "yes" ; then
+	NRNIV="${exec_prefix}/bin/nrniv.app/Contents/MacOS/nrniv"
+else
+	NRNIV="${NRNBIN}nrniv"
+fi
+
+NEURONHOME="${prefix}/share/nrn"
+export NEURONHOME
+
+if [ -x ${MODSUBDIR}/special ] ; then
+	program="./${MODSUBDIR}/special"
+else
+	program="${NRNIV}"
+fi
+
+exec "$program" "$NEURONHOME/lib/hoc/nrngui.hoc" "$@" -
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrnivmodl
@@ -0,0 +1,226 @@
+#!/usr/bin/env bash
+set -e
+
+ARCH=loongarch64
+MODSUBDIR=loongarch64
+USER_PWD="$PWD"
+
+if [ -z "$NRNHOME" ] ; then
+  prefix=/usr
+  exec_prefix=/usr
+  bindir=${exec_prefix}/bin
+  libdir=${exec_prefix}/lib
+else
+  prefix="$NRNHOME"
+  exec_prefix="${prefix}/${ARCH}"
+  bindir="${prefix}/bin"
+  libdir="${prefix}/lib"
+fi
+
+if [ -z ${CORENRNHOME+x} ] ; then
+  # CORENRNHOME wasn't set, use the install prefix
+  cnrn_prefix=
+else
+  cnrn_prefix="${CORENRNHOME}"
+fi
+
+if [ "${NRNHOME_EXEC}" ] ; then
+  exec_prefix="${NRNHOME_EXEC}"
+  bindir="${exec_prefix}/bin"
+  libdir="${exec_prefix}/lib"
+fi
+
+export prefix
+export bindir
+export libdir
+
+if command -v xcrun; then
+    #export SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
+    #export MACOSX_DEPLOYMENT_TARGET=""
+    if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
+        unset MACOSX_DEPLOYMENT_TARGET
+    fi
+fi
+
+LinkCoreNEURON=false
+UserINCFLAGS=""
+UserLDFLAGS=""
+UserCOREFLAGS=()
+
+# - options come first but can be in any order.
+while [ "$1" ] ; do
+    case "$1" in
+    -coreneuron)
+        # also run nrnivmodl-core
+        LinkCoreNEURON=true
+        shift;;
+    -incflags)
+        # extra include flags and paths (NEURON only)
+        UserINCFLAGS="$2"
+        # extra include flags and paths for CoreNEURON
+        UserCOREFLAGS+=(-i "${2}")
+        shift
+        shift;;
+    -loadflags)
+        # extra link flags, paths, libraries (NEURON only)
+        UserLDFLAGS="$2"
+        # extra lin flags, paths. libraries (CoreNEURON)
+        UserCOREFLAGS+=(-l "${2}")
+        shift
+        shift;;
+    -*)
+        echo "$1 unrecognized"
+        exit 1;;
+    *)
+        break;;
+    esac
+done
+
+echo "$PWD"
+
+# Mod file paths may contain spaces which make variable lists of those
+# hard to manage as space is the item separator. Furthermore, when a
+# path is used, sometimes the spaces must be escaped (eg. a Makefile
+# dependency pattern, and sometimes it is more useful for readability to
+# enclose the path in "". To work around this issue, when creating a list
+# of paths, translate the spaces for each item to +++ and after retrieval
+# of an item, retranslate back to either a space or an escaped space.
+# Only do this for cmake
+
+shopt -s nullglob
+# files is the complete list of mod files to process
+files=()
+if [ $# -gt 0 ] ; then
+  for i in "$@" ; do
+    if [ -d "$i" ] ; then
+      files+=( "$i"/*.mod )
+    elif [ -e "$i" ] || [ -e "$i.mod" ] ; then
+      files+=( "$i" )
+    else
+      echo "Arg Error: \"$i\" is not a folder or mod file name or prefix"
+
+      echo ""
+      echo -n "  Mod file, folder args:"
+      for j in "$@" ; do
+        echo -n " \"$j\""
+      done
+      echo ""
+
+      exit 1
+    fi
+  done
+else
+  files=( *.mod )
+fi
+
+base_names=()
+for i in "${files[@]}" ; do
+  base_names+=( "$(basename "$i" .mod)" )
+done
+
+echo -n "Mod files:"
+for i in "${files[@]}" ; do
+  dir_name=$(dirname "$i")
+  echo -n " \"$dir_name/${i%.mod}.mod\""
+done
+echo ""
+echo ""
+
+
+if [ ! -d "$MODSUBDIR" ] ; then
+  echo "Creating '$MODSUBDIR' directory for .o files."
+  echo
+  mkdir "$MODSUBDIR"
+fi
+
+files=( "${files[@]%.mod}" )
+
+cd $MODSUBDIR
+mdir="$PWD"
+
+# construct file to be included by makefile to specify mod to c rule when
+# executed in $MODSUBDIR (child folder of launch location folder)
+MODMAKE=makemod2c_inc
+> "$MODMAKE"
+for i in "${files[@]}" ; do
+  case "$i" in
+    /*) f="$i";; # absolute, fine as is
+    *)  f="../$i";; # relative
+  esac
+  base_name="$(basename "$f")"
+  dir_name="$(dirname "$f")"
+  # Note: indentation for shell lines in make rules must be a tab
+  echo "\
+./${base_name// /\\ }.c: ${f// /\\ }.mod
+	@printf \" -> \$(C_GREEN)NMODL\$(C_RESET) \$<\\\n\"
+	(cd \"$dir_name\";  MODLUNIT=\$(NRNUNITS) \$(NOCMODL) \"$base_name.mod\" -o \"$mdir\")
+
+./${base_name// /\\ }.o: ./${base_name// /\\ }.c
+	@printf \" -> \$(C_GREEN)Compiling\$(C_RESET) \$<\\\n\"
+	\$(COMPILE) -I\"$dir_name\" \$(INCLUDES) -fPIC -c \$< -o \$@
+" >> "$MODMAKE"
+done
+
+MODOBJS=
+
+{
+  echo '#include <stdio.h>
+#include "hocdec.h"
+extern int nrnmpi_myid;
+extern int nrn_nobanner_;
+#if defined(__cplusplus)
+extern "C" {
+#endif
+'
+
+  for i in "${base_names[@]}" ; do
+    echo "extern void _${i// }_reg(void);"
+  done
+
+  echo ""
+  echo "void modl_reg() {"
+  echo "  if (!nrn_nobanner_) if (nrnmpi_myid < 1) {"
+  printf '    fprintf(stderr, "Additional mechanisms from files\\n");\n'
+
+  for i in "${files[@]}"
+  do
+    echo '    fprintf(stderr, " \"'"$i"'.mod\"");'
+  done
+
+  printf '    fprintf(stderr, "\\n");\n'
+
+  echo "  }"
+
+  for i in "${base_names[@]}" ; do
+    echo "  _${i// }_reg();"
+    MODOBJS="$MODOBJS ./${i// /\\ }.o"
+  done
+
+  echo "}"
+
+  echo '
+#if defined(__cplusplus)
+}
+#endif'
+} > mod_func.cpp
+
+# call nrnivmodl-core if CoreNEURON is enabled and requested via CLI
+UsingCoreNEURON=false
+#UsingCoreNEURON=true
+if [ "$LinkCoreNEURON" = true ] ; then
+  if [ "$UsingCoreNEURON" = true ] ; then
+    if [ "$#" -gt 1 ] ; then
+        printf "ERROR : when called with -coreneuron only 1 mod dir is accepted.\n"
+        exit 1
+    fi
+    cd "$USER_PWD"
+    "${cnrn_prefix}/bin/nrnivmodl-core" "${UserCOREFLAGS[@]}" "$@"
+    cd "$MODSUBDIR"
+  else
+    printf "ERROR : CoreNEURON support is not enabled!\n"
+    exit 1
+  fi
+fi
+
+make -j 4 -f "${bindir}/nrnmech_makefile" "ROOT=${prefix}" "MODOBJFILES=$MODOBJS" "UserLDFLAGS=$UserLDFLAGS" "UserINCFLAGS=$UserINCFLAGS" "LinkCoreNEURON=$LinkCoreNEURON" special &&
+echo "Successfully created $MODSUBDIR/special"
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrnmech_makefile
@@ -0,0 +1,171 @@
+
+# Arguments:
+# MODOBJFILES
+# UserLDFLAGS
+# UserINCFLAGS
+# LinkCoreNEURON
+# Rules to build MODOBJFILES from mod files are found in makemod2c_inc
+
+# Mechanisms version are by default 0.0, but should be overriden
+MECH_NAME =
+MECH_VERSION = 0.0
+MODS_PATH = .
+# in the loongarch64 folder
+OUTPUT = .
+DESTDIR =
+UserINCFLAGS =
+UserLDFLAGS =
+
+# install dirs
+bindir := ${ROOT}/lib/nrn/bin
+libdir := ${ROOT}/lib/nrn
+incdir := ${ROOT}/include
+datadir:= ${ROOT}/share/nrn
+datadir_lib := ${ROOT}/share/nrn/lib
+
+# Additional variables set in CMAKE usable here
+# - @NRN_COMPILE_DEFS
+# - @NRN_LINK_DEFS
+LDFLAGS = $(LINKFLAGS) $(UserLDFLAGS)   /usr/lib/loongarch64-linux-gnu/libreadline.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/libcurses.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/libform.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu/openmpi/lib /usr/lib/loongarch64-linux-gnu/libSM.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/libICE.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/libX11.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu /usr/lib/loongarch64-linux-gnu/libXext.so -Wl,-rpath,/usr/lib/loongarch64-linux-gnu
+
+# In GPU wheel distributions then the shipped libnrniv.so is linked against
+# some NVIDIA runtime libraries that are shipped with the wheel. If we use
+# nrnivmodl on the user machine then the NVIDIA compilers will link the local
+# versions of these libraries too, causing duplication.
+libnrniv_without_nvidia: $(libdir)/libnrniv.so
+	cp -v $(libdir)/libnrniv.so $(OUTPUT)/libnrniv-without-nvidia.so
+	patchelf $(OUTPUT)/libnrniv-without-nvidia.so --print-needed | grep '^libnv\(hpcatm\|omp\|cpumath\|cpumath-avx2\|c\)-[a-f0-9]\{8\}\.so' | xargs -t -r -n 1 patchelf $(OUTPUT)/libnrniv-without-nvidia.so --remove-needed
+	patchelf $(OUTPUT)/libnrniv-without-nvidia.so --set-soname libnrniv-without-nvidia.so
+	patchelf $(OUTPUT)/libnrniv-without-nvidia.so --print-rpath
+	ldd $(OUTPUT)/libnrniv-without-nvidia.so
+
+# In a GPU wheel build then we need to fudge libnrniv.so before linking to it.
+# NEURONDEMO should be set when we run this as part of the wheel build, in
+# which case we do *not* want this hack.
+ifeq (OFFOFF$(if $(NRNDEMO),OFF,ON), ONONONON)
+  NRNLIB_FLAGS = -L$(OUTPUT) -lnrniv-without-nvidia
+  NRNLIB_RPATH_FLAGS = -Wl,-rpath,\$$ORIGIN -Wl,-rpath,\$$ORIGIN/..
+  nrn_lib = libnrniv_without_nvidia
+else
+  NRNLIB_FLAGS = -L$(libdir) -lnrniv
+  NRNLIB_RPATH_FLAGS = -Wl,-rpath,$(libdir)
+  nrn_lib =
+endif
+
+OS_NAME := $(shell uname)
+_cm =,
+
+# We rebuild the include dirs since a lot of stuff changes place
+INCLUDES = -I. $(INCFLAGS) $(UserINCFLAGS) -I$(incdir)
+ifeq (ON, ON)
+  INCLUDES += $(if /usr/lib/loongarch64-linux-gnu/openmpi/include;/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi, -I$(subst ;, -I,/usr/lib/loongarch64-linux-gnu/openmpi/include;/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi),)
+endif
+
+# CC/CXX are always defined. If the definition comes from default change it
+ifeq ($(origin CC), default)
+    CC = /usr/bin/cc
+    CXX = /usr/bin/c++
+endif
+CFLAGS = -g  -O2 -Wno-write-strings -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
+CXXFLAGS = -g  -O2 -Wno-write-strings -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11
+
+COMPILE = $(CC) $(CFLAGS) -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX=1 -DHAVE_CONFIG_H 
+CXXCOMPILE = $(CXX) $(CXXFLAGS) -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX=1 -DHAVE_CONFIG_H 
+CXX_LINK_EXE = $(CXX) $(CXXFLAGS) -Wl,-z,relro 
+CXX_LINK_SHARED = $(CXX) $(CXXFLAGS) -shared -fPIC -Wl,-z,relro
+
+NOCMODL = $(bindir)/nocmodl
+NRNUNITS = $(datadir_lib)/nrnunits.lib
+
+# File path config (internal)
+MODC_DIR = .
+OBJS_DIR = .
+mod_objs   = $(MODOBJFILES)
+
+mod_func_o = $(OBJS_DIR)/mod_func.o
+mod_func_cpp = $(MODC_DIR)/mod_func.cpp
+
+special  = $(OUTPUT)/special
+LIB_SUFFIX_ = $(if $(MECH_NAME),_$(MECH_NAME),)
+mech_libname = nrnmech
+
+# In case of static library we need to link NRNLIB_FLAGS twice to avoid undefined
+# symbols from circular dependencies. But for shared library we don't do it to avoid
+# pthread linking with wheels.
+ifeq (ON, ON)
+    mech_lib = $(OUTPUT)/lib$(mech_libname).so
+    mech_lib_type = mech_lib_shared
+    extra_lib_link =
+else
+    mech_lib = $(OUTPUT)/lib$(mech_libname).a
+    mech_lib_type = mech_lib_static
+    extra_lib_link = $(NRNLIB_FLAGS)
+endif
+
+# add coreneuron flags
+ifeq ($(LinkCoreNEURON), true)
+    EXTRA_LDFLAGS = 
+endif
+
+# If no DESTDIR (we are probably just building) we use $ORIGIN (@loader_path in OSX)
+_ORIGIN := $(if $(filter Darwin,$(OS_NAME)), at loader_path,$$ORIGIN)
+_SONAME := -Wl,$(if $(filter Darwin,$(OS_NAME)),-install_name${_cm}@rpath/,-soname${_cm})$(notdir ${mech_lib})
+DESTDIR_RPATH = $(if $(DESTDIR),$(DESTDIR)/lib,$(_ORIGIN))
+
+C_RESET := \033[0m
+C_GREEN := \033[32m
+
+
+# ======== MAIN BUILD RULES ============
+
+# Take the main and link with nrnmech.
+# RPATH is set for DESTDIR_RPATH and coreneuron lib
+special: $(mech_lib)
+	@printf " => $(C_GREEN)LINKING$(C_RESET) executable $(special) LDFLAGS are: $(LDFLAGS)\n"
+	$(CXX_LINK_EXE) -I $(incdir) -I $(incdir)/nrncvode -DAUTO_DLOPEN_NRNMECH=0 $(datadir)/nrnmain.cpp -o $(special) \
+	  -L $(OBJS_DIR) -l$(mech_libname) $(NRNLIB_FLAGS) -l$(mech_libname) $(extra_lib_link) -Wl,-rpath,'$(DESTDIR_RPATH)' -Wl,-rpath,$(libdir) $(LDFLAGS) $(EXTRA_LDFLAGS)
+
+$(mech_lib): $(mech_lib_type)
+
+mech_lib_shared: mod_func.o $(mod_objs) $(nrn_lib) build_always
+	@printf " => $(C_GREEN)LINKING$(C_RESET) shared library $(mech_lib)\n"
+	$(CXX_LINK_SHARED) -I $(incdir) -o ${mech_lib} ${_SONAME} \
+	  $(mod_func_o) $(mod_objs) $(NRNLIB_FLAGS) $(NRNLIB_RPATH_FLAGS) $(LDFLAGS)
+	rm -f $(OBJS_DIR)/.libs/libnrnmech.so ; mkdir -p $(OBJS_DIR)/.libs ; cp $(mech_lib) $(OBJS_DIR)/.libs/libnrnmech.so
+
+mech_lib_static: mod_func.o $(mod_objs) $(nrn_lib) build_always
+	@printf " => $(C_GREEN)LINKING$(C_RESET) static library $(mech_lib)\n"
+	ar cq ${mech_lib} $(mod_func_o) $(mod_objs) $(cobjs);
+
+mod_func.o: mod_func.cpp
+	@printf " -> $(C_GREEN)Compiling$(C_RESET) $<\n"
+	$(COMPILE) $(INCLUDES) -fPIC -c $< -o $@
+
+# Generic build c->o. Need PIC for shared lib
+$(OBJS_DIR)/%.o: $(MODC_DIR)/%.c | $(OBJS_DIR)
+	@printf " -> $(C_GREEN)Compiling$(C_RESET) $<\n"
+	$(COMPILE) $(INCLUDES) -fPIC -c $< -o $@
+
+
+include makemod2c_inc
+
+# If .mod doesnt exist attempt from previously built opt mods in shared/
+$(MODC_DIR)/%.cpp: $(datadir_lib)/%.cpp | $(MODC_DIR)
+	ln -s $< $@
+
+install: special $(mech_lib)
+	install -d $(DESTDIR)/bin $(DESTDIR)/lib
+	install $(mech_lib) $(DESTDIR)/lib
+	install $(special) $(DESTDIR)/bin
+
+libnrnmech.la: $(mech_lib)
+
+# == INIT ==
+$(MODC_DIR):
+	(cd .. ; mkdir -p $(MODC_DIR))
+#$(OBJS_DIR):
+#	mkdir -p $(OBJS_DIR)
+
+.PHONY: build_always
+
+$(VERBOSE).SILENT:
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrnpyenv.sh
@@ -0,0 +1,569 @@
+#!/usr/bin/env bash
+
+# eval "`sh nrnpyenv.sh`"
+# will set bash environment variables so that nrniv -python has same
+# environment as python
+
+# May specify the python executable with explicit first argument.
+# Without arg use python3 and if that does not exist then python
+
+# Overcome environment issues when --with-nrnpython=dynamic .
+
+# The problems might be an immediate exit due to 'No module named site',
+# inability to find common modules and shared libraries that support them,
+# and not loading the correct python library.
+
+#Run python and generate the following on stdout
+#export PYTHONHOME=...
+#export PYTHONPATH=...
+#export LD_LIBRARY_PATH=...
+#export PATH=...
+#export NRN_PYLIB=...
+
+#with NRN_PYLIB as a full path to the Python library,
+#it may not be necessary to change LD_LIBRARY_PATH
+
+#Some python installations, such as enthought canopy, do not have site
+#in a subfolder of prefix. In that case, the site folder defines home and
+#if there is a site-packages subfolder of prefix, that is added to the
+#pythonpath. Also the lib under home is added to the ld_library_path.
+
+# This script is useful for linux, mingw, and mac versions.
+# Append the output to your .bashrc file.
+
+export originalPATH="$PATH"
+export originalPYTHONPATH="$PYTHONPATH"
+export originalPYTHONHOME="$PYTHONHOME"
+export originalLDLIBRARYPATH="$LD_LIBRARY_PATH"
+
+# get the last argument
+for last; do true; done
+
+# if the last argument begins with --NEURON_HOME=
+if [[ $last == "--NEURON_HOME="* ]] ; then
+last=${last#"--NEURON_HOME="}
+export PATH=/cygdrive/${last//:/}/mingw/usr/bin:/cygdrive/${last//:/}/mingw/mingw64/bin:$PATH
+# remove the last argument
+set -- "${@:1:$(($#-1))}"
+fi
+
+if test "$PYTHONHOME" != "" ; then
+  echo "# Ignoring existing PYTHONHOME=$PYTHONHOME."
+  unset PYTHONHOME
+fi
+
+WHICH=which
+
+function trypy {
+  a=`ls "$1" |grep "$2"`
+  if test "$a" != "" ; then
+    b=`cygpath -U "$1/$a/$3"`
+    c=`nrnbinstr "$4" "$b" 2> /dev/null`
+    if test "$c" != "" ; then
+      c=`cygpath -U "$c"`
+      c=`dirname "$c"`
+      c=`dirname "$c"`
+      c="$c/python"
+      if $WHICH "$c" >& /dev/null ; then
+        PYTHON=`$WHICH "$c"`
+        # if python.exe not in PATH then cygcheck may not find the library
+        PYTHON=`cygpath -U "$PYTHON"`
+        export PATH=`dirname "$PYTHON"`:"$PATH"
+        PYTHON=`basename "$PYTHON"`
+      fi
+    fi
+  fi
+}
+
+# On some windows systems python is an empty executable which, when
+# launched in a Command Prompt, directs the user to the Microsoft Store.
+# With bash, it returns a 128 exit status. So we loop until we
+# find a working python (or no python). Each time a python is non-working
+# we remove that path from the PATH. If not Windows, break out after first
+# attempt at finding a Python.
+while true ; do
+  PYTHON=""
+  # Priority is the argument -pyexe, NRN_PYTHONEXE, python3 and then python
+
+  # check -pyexe option
+  if test "$1" != "" ; then
+    if $WHICH "$1" >& /dev/null ; then
+      PYTHON="$1"
+    fi
+  # If NRN_PYTHONEXE is set (e.g. from wheel wrapper) then use it
+  elif test "$NRN_PYTHONEXE" != ""; then
+    PYTHON=$NRN_PYTHONEXE
+  elif $WHICH python3 >& /dev/null ; then
+    PYTHON=python3
+  elif $WHICH python >& /dev/null ; then
+    PYTHON=python
+  fi
+
+  # do not do the following craziness if not Windows.
+  if test "$OS" != "Windows_NT" ; then
+    break
+  fi
+
+  if test "$PYTHON" == "" ; then
+    break
+  else
+    if $PYTHON -c 'quit()' >& /dev/null ; then #working
+      break
+    else # remove from PATH
+      oldpath="$PATH"
+      a="`$WHICH $PYTHON`"
+      b="`dirname \"$a\"`"
+      PATH="`echo \"$PATH\" | sed \"s,:$b:,:,\"`" #remove b from path if internal
+      PATH="`echo \"$PATH\" | sed \"s,^$b:,,\"`" #remove b from path if begin
+      PATH="`echo \"$PATH\" | sed \"s,:$b\$,\",`" #remove b from path if end
+      export PATH
+      if test "$oldpath" = "$PATH" ; then
+        echo "\"$b\", that contained a failing Python, did not get removed from PATH=\"$PATH\"" 1>&2
+        exit 1
+      fi
+    fi
+  fi
+done
+
+if test "$PYTHON" = "" ; then
+  # Often people install Anaconda on Windows without adding it to PATH
+  if test "$OS" = "Windows_NT" -a "$APPDATA" != "" ; then
+    smenu="$APPDATA/Microsoft/Windows/Start Menu/Programs"
+    if test "$PYTHON" = "" ; then
+      trypy "$smenu" "Anaconda3 (64-bit)" "Anaconda Prompt (anaconda3).lnk" activate.bat
+      # Anaconda3 2020 may need more PATH for numpy to work.
+      if test "$PYTHON" != "" ; then
+        if ! $PYTHON -c 'import numpy' >& /dev/null ; then
+          # first item added in trypy
+          a="`echo $PATH | sed 's/:.*//'`"
+          export PATH="$PATH:$a/Library/mingw-w64/bin:$a/Library/usr/bin:$a/Library/bin:$a/Scripts:$a/bin:$a/condabin"
+          # Actually get this PATH when scripts do a -- eval "`nrnpyenv.sh`"
+          echo "export PATH=\"$PATH\""
+        fi
+      fi
+    fi
+    if test "$PYTHON" = "" ; then
+      trypy "$smenu" Anaconda3 "Anaconda Prompt.lnk" activate.bat
+    fi
+    if test "$PYTHON" = "" ; then
+      trypy "$smenu" Anaconda2 "Anaconda Prompt.lnk" activate.bat
+    fi
+    if test "$PYTHON" = "" ; then
+      trypy "$smenu" Anaconda "Anaconda Prompt.lnk" activate.bat
+    fi
+    if test "$PYTHON" = "" ; then #brittle but try Enthought
+      a=`cygpath -U "$APPDATA/../local/enthought/canopy/edm/envs/user"`
+      if test -d "$a" ; then
+        export PATH="$a":"$PATH"
+        PYTHON=python
+      fi
+    fi
+  fi
+fi
+
+if test "$PYTHON" = "" ; then
+  echo "Cannot find executable python3 or python" 1>&2
+  exit 1;
+fi
+
+echo "# PYTHON=`$WHICH $PYTHON`"
+
+# what is the python library for Darwin
+nrnpylib_provenance=""
+nrn_pylib=""
+kernel_name=''
+if type -P uname > /dev/null ; then
+  kernel_name=`uname`
+fi
+if test "$kernel_name" = "Darwin" ; then
+  python_path=`$WHICH $PYTHON`
+  pyexedir=`dirname $python_path`
+  # Get the python lib dir in an official way, working with virtualenv
+  PYLIB=$($python_path -c 'import sysconfig; print(sysconfig.get_config_var("LIBDIR"))')
+  for path in $PYLIB/libpython*.dylib; do
+    if test -f "$path"; then
+      nrn_pylib="$path"
+      break
+    fi
+  done
+  if test -f "$nrn_pylib" ; then
+    unset python_path
+    unset pyexedir
+    nrnpylib_provenance="sysconfig LIBDIR"
+  fi
+  if test "$nrn_pylib" = "" ; then
+    nrn_pylib=$($python_path -c '
+try:
+  from neuron import h
+  shlib=h.libpython_path()
+  shlib = shlib if ".dylib" in shlib else ""
+  print(shlib)
+except:
+  print("")
+')
+    if test "$nrn_pylib" != "" ; then
+      nrnpylib_provenance="h.libpython_path()"
+    fi
+  fi
+  if test "$nrn_pylib" = "" ; then
+    DYLD_PRINT_LIBRARIES=1
+    export DYLD_PRINT_LIBRARIES
+    nrn_pylib=`$PYTHON -c 'quit()' 2>&1 | sed -n 's/^dyld: loaded: //p' | sed -n /libpython/p`
+    if test "$nrn_pylib" = "" ; then
+      nrn_pylib=`$PYTHON -c 'quit()' 2>&1 | sed -n 's/^dyld: loaded: //p' | sed -n 2p`
+    fi
+    unset DYLD_PRINT_LIBRARIES
+    if test "$nrn_pylib" != "" ; then
+      nrnpylib_provenance=DYLD_PRINT_LIBRARIES
+    fi
+  fi
+  if test -f "$nrn_pylib" ; then
+    PYLIB_DARWIN=$nrn_pylib
+  else
+    PYLIB_DARWIN=""
+  fi
+  export nrnpylib_provenance
+  export PYLIB_DARWIN
+fi
+
+$PYTHON << 'here'
+###########################################
+
+import sys, os, site
+
+usep = "/"
+upathsep = ":"
+
+nrnpylib_provenance = "not found"
+nrnpyhome_provenance = "not found"
+
+def upath(path):
+  #return linux path
+  if path is None:
+    return ""
+  import posixpath, sys
+  plist = path.split(os.pathsep)
+  for i, p in enumerate(plist):
+    p = os.path.splitdrive(p)
+    if p[0]:
+      p = "/cygdrive/" + p[0][:p[0].rfind(":")] + usep + p[1].replace(os.sep, usep)
+    else:
+      p = p[1].replace(os.sep, usep)
+    p = posixpath.normpath(p)
+    plist[i] = p
+  p = upathsep.join(plist)
+  return p
+
+def u2d(p):
+  if "darwin" not in sys.platform and "win" in sys.platform:
+    p = p.split(usep)
+    if "cygdrive" == p[1]:
+      p = p[2] + ':/' + usep.join(p[3:])
+    else:
+      p = usep.join(p)
+  return p
+
+#a copy of nrnpylib_linux() but with some os x specific modifications
+def nrnpylib_darwin_helper():
+  global nrnpylib_provenance
+  import os, sys, re, subprocess
+  #in case it was dynamically loaded by python
+  pid = os.getpid()
+  cmd = "lsof -p %d"%pid
+  f = []
+  try: # in case lsof does not exist
+    f = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout
+  except:
+    pass
+  nrn_pylib = None
+  cnt = 0
+  for bline in f:
+    fields = bline.decode().split()
+    if len(fields) > 8:
+      line = fields[8]
+      if re.search(r'libpython.*\.[ds]', line):
+        print ("# nrn_pylib from lsof: %s" % line)
+        nrn_pylib = line.strip()
+        nrnpylib_provenance = "lsof search for libpython..."
+        return nrn_pylib
+      if re.search(r'[Ll][Ii][Bb].*[Pp]ython', line):
+        cnt += 1
+        if cnt == 1: # skip 1st since it is the python executable
+          continue
+        if re.search(r'[Pp]ython', line.split('/')[-1]):
+          print ("# nrn_pylib from lsof: %s" % line)
+          candidate = line.strip()
+          # verify the file defines a PyRun_SimpleString
+          cmd = r'nm %s | grep PyRun_SimpleString' % candidate
+          try:
+            f = os.popen(cmd)
+            i=0
+            for line in f:
+              i += 1
+            if i == 0:
+              continue
+          except:
+            continue
+          nrn_pylib = candidate
+          nrnpylib_provenance = 'lsof search for occurrence of [Ll][Ii][Bb].*[Pp]ython defineing PyRun_SimpleString'
+          return nrn_pylib
+  else: # figure it out from the os path
+    p = os.path.sep.join(os.__file__.split(os.path.sep)[:-1])
+    name = "libpython%d.%d" % (sys.version_info[0], sys.version_info[1])
+    cmd = r'find %s -name %s\*.dylib' % (p, name)
+    print ('# %s'%cmd)
+    f = os.popen(cmd)
+    libs = []
+    for line in f:
+      libs.append(line.strip())
+    if len(libs) == 0: # try again searching the parent folder
+      p = os.path.sep.join(os.__file__.split(os.path.sep)[:-2])
+      cmd = r'find %s -name %s\*.dylib' % (p, name)
+      print ('# %s'%cmd)
+      f = os.popen(cmd)
+      for line in f:
+        libs.append(line.strip())
+    print ('# %s'%str(libs))
+    if len(libs) == 1:
+      nrnpylib_provenance="search based on os.__file__, found unique"
+      print ("# nrn_pylib from os.path %s"%str(libs[0]))
+      return libs[0]
+    if len(libs) > 1:
+      # which one do we want? Check the name of an imported shared object
+      try:
+        import _ctypes
+      except:
+        import ctypes
+      for i in sys.modules.values():
+        try:
+          s = i.__file__
+          if s.endswith('.dylib'):
+            match = re.search(r'-%d%d([^-]*)-' % (sys.version_info[0], sys.version_info[1]), s)
+            if match:
+              name = name + match.group(1) + '.dylib'
+            break
+          elif s.endswith('.so'):
+            match = re.search(r'-%d%d([^-]*)-' % (sys.version_info[0], sys.version_info[1]), s)
+            if match:
+              name = name + match.group(1) + '.so'
+            break
+        except:
+          pass
+      for i in libs:
+        if name in i:
+          print ("# nrn_pylib from os.path %s" % i)
+          nrnpylib_provenance='search based on os.__file__, found one with version in name'
+          return i
+      print ("# nrn_pylib from os.path %s" % str(nrn_pylib))
+  return nrn_pylib
+
+def nrnpylib_darwin():
+  global nrnpylib_provenance
+  import os
+  nrn_pylib = os.getenv("PYLIB_DARWIN")
+  if nrn_pylib != "":
+    print ("# nrn_pylib from PYLIB_DARWIN %s"%nrn_pylib)
+    nrnpylib_provenance = os.getenv("nrnpylib_provenance")
+    return nrn_pylib
+  return nrnpylib_darwin_helper()
+
+def nrnpylib_mswin():
+  global nrnpylib_provenance
+  import os, sys, re
+  e = '/'.join(sys.executable.split(os.path.sep))
+  cmd = 'cygcheck "%s"' % e
+  f = os.popen(cmd)
+  nrn_pylib = None
+  for line in f:
+    if re.search('ython[a-zA-Z0-9_.]*\.dll', line):
+      nrn_pylib = '/'.join(line.split(os.path.sep)).strip()
+      nrnpylib_provenance="cygcheck"
+  return nrn_pylib
+
+def nrnpylib_linux():
+  global nrnpylib_provenance
+  import os, sys, re, subprocess
+
+  # Try the official way first
+  import sysconfig
+  libdir=sysconfig.get_config_var("LIBDIR")
+  try:
+    from os.path import isfile, join
+    ver = "%d.%d"%(sys.version_info[0], sys.version_info[1])
+    for f in os.listdir(libdir):
+      if 'libpython' in f and '.so' in f and ver in f:
+        nrn_pylib = join(libdir, f)
+        nrnpylib_provenance='sysconfig LIBDIR'
+        return nrn_pylib
+  except:
+    pass
+
+  #in case it was dynamically loaded by python
+  try:
+    from neuron import h
+    s=h.libpython_path()
+    s = s if ".so" in s else ""
+    if (s != ""):
+      nrnpylib_provenance="h.libpython_path()"
+      return s
+  except:
+    print("")
+  pid = os.getpid()
+  cmd = "lsof -p %d"%pid
+  f = []
+  try: # in case lsof does not exist
+    f = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout
+  except:
+    pass
+  nrn_pylib = None
+  for bline in f:
+    fields = bline.decode().split()
+    if len(fields) > 8:
+      line = fields[8]
+      if re.search(r'libpython.*\.so', line):
+        print ("# from lsof: %s" % line)
+        nrn_pylib = line.strip()
+        nrnpylib_provenance = 'lsof search for libpython.*\.so'
+        return nrn_pylib
+  else: # figure it out from the os path
+    p = os.path.sep.join(os.__file__.split(os.path.sep)[:-1])
+    name = "libpython%d.%d" % (sys.version_info[0], sys.version_info[1])
+    cmd = r'find %s -name %s\*.so' % (p, name)
+    print ('# %s'%cmd)
+    f = os.popen(cmd)
+    libs = []
+    for line in f:
+      libs.append(line.strip())
+    if len(libs) == 0: # try again searching the parent folder
+      p = os.path.sep.join(os.__file__.split(os.path.sep)[:-2])
+      cmd = r'find %s -name %s\*.so' % (p, name)
+      print ('# %s'%cmd)
+      f = os.popen(cmd)
+      for line in f:
+        libs.append(line.strip())
+    print ('# %s'%str(libs))
+    if len(libs) == 1:
+      nrnpylib_provenance="search based on os.__file__, found unique"
+      return libs[0]
+    if len(libs) > 1:
+      # which one do we want? Check the name of an imported shared object
+      try:
+        import _ctypes
+      except:
+        import ctypes
+      for i in sys.modules.values():
+        try:
+          s = i.__file__
+          if s.endswith('.so'):
+            match = re.search(r'-%d%d([^-]*)-' % (sys.version_info[0], sys.version_info[1]), s)
+            if match:
+              name = name + match.group(1) + '.so'
+            break
+        except:
+          pass
+      for i in libs:
+        if name in i:
+          nrnpylib_provenance='search based on os.__file__, found one with version in name'
+          return i
+  return nrn_pylib
+
+nrn_pylib = None
+if 'darwin' in sys.platform:
+  nrn_pylib = nrnpylib_darwin()
+elif 'win' in sys.platform:
+  nrn_pylib = nrnpylib_mswin()
+elif 'linux' in sys.platform:
+  nrn_pylib = nrnpylib_linux()
+
+#Use sys.base_prefix for PYTHONHOME if available, otherwise sys.prefix
+try:
+  sp = upath(sys.base_prefix)
+  spname='sys.base_prefix'
+  base=True
+except:
+  sp = upath(sys.prefix)
+  spname='sys.prefix'
+  base=False
+
+#there is a question about whether to use sys.prefix for PYTHONHOME
+#or whether to derive from site.__file__.
+#to help answer, ask how many sys.path items begin with sys.prefix and
+#how many begin with site.__file__ - 3
+p = [upath(i) for i in sys.path]
+print ("# items in sys.path = " + str(len(p)))
+print ("# beginning with sys.prefix = " + str(len([i for i in p if sp in i])))
+s = usep.join(upath(site.__file__).split(usep)[:-3])
+if s == sp:
+  print ("# site-3 same as " + spname)
+else:
+  print ("# beginning with site-3 = " + str(len([i for i in p if s in i])))
+foo = [i for i in p if sp not in i]
+foo = [i for i in foo if s not in i]
+print ("# in neither location " + str(foo))
+print ("# " + spname + " = " + sp)
+print ("# site-3 = " + s)
+
+if "darwin" in sys.platform or "linux" in sys.platform or "win" in sys.platform:
+  # What, if anything, did python prepend to PATH
+  path=""
+  oldpath = upath(os.getenv("originalPATH"))
+  newpath = upath(os.getenv("PATH"))
+  i = newpath.find(oldpath)
+  if i > 1:
+    path = newpath[:i]
+
+  pythonhome = upath(sp)
+  print ("#pythonhome=" + pythonhome)
+  pythonpath = upath(os.getenv("PYTHONPATH"))
+
+  ldpath = ""
+  oldldpath = upath(os.getenv("originalLD_LIBRARY_PATH"))
+  newldpath = upath(os.getenv("LD_LIBRARY_PATH"))
+  i = newldpath.find(oldldpath)
+  if  i > 1:
+    ldpath = newldpath[:i]
+
+  sitedir = usep.join(upath(site.__file__).split(usep)[:-1])
+
+  # if sitedir is not a subfolder of pythonhome, add to pythonpath
+  if not pythonhome in sitedir:
+    if not sitedir in pythonpath:
+      pythonpath = (pythonpath + upathsep if pythonpath else "") + sitedir
+
+  # add the parent of sitedir to LD_LIBRARY_PATH
+  ldp = usep.join(sitedir.split(usep)[:-1])
+  if ldp not in oldldpath:
+    ldpath = (ldpath + upathsep if ldpath else "") + ldp
+
+  try:
+    #if a representative shared libary not under pythonhome, add to pythonpath
+    import _ctypes
+    f = usep.join(upath(_ctypes.__file__).split(usep)[:-1])
+    if f.find(pythonhome) == -1:
+      pythonpath = (pythonpath + upathsep if pythonpath else "") + f
+  except:
+    pass
+
+  dq = "\""
+  if pythonpath:
+    print ("\n# if launch python, then need:")
+    print ("export PYTHONPATH=" + dq + pythonpath + dq)
+
+  if path:
+    print ("\n#PYTHON prepended the following to PATH")
+    print ("export PATH=" + dq + path + "$PATH" + dq)
+
+  print("\n#NRN_PYLIB provenance: " + str(nrnpylib_provenance))
+  print ("\n# if launch nrniv, then likely need:")
+  if pythonhome:
+    pythonhome=u2d(pythonhome)
+    print ("export NRN_PYTHONHOME=" + dq + pythonhome + dq)
+  if ldpath and nrn_pylib is None:
+    print ("export LD_LIBRARY_PATH=" + dq + ldpath + upathsep + "$LD_LIBRARY_PATH" + dq)
+  if nrn_pylib is not None:
+    print ('export NRN_PYLIB="%s"' % nrn_pylib)
+
+quit()
+
+###################################
+here
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/bin/sortspike
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+sort -k 1n,1n -k 2n,2n $1 > $2
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/cmake_install.cmake
@@ -0,0 +1,153 @@
+# Install script for directory: /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for the subdirectory.
+  include("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/cmake_install.cmake")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for the subdirectory.
+  include("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/cmake_install.cmake")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for the subdirectory.
+  include("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/cmake_install.cmake")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for the subdirectory.
+  include("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cmake_install.cmake")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/share/nrn/lib")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/share/nrn" TYPE DIRECTORY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib" REGEX "/python$" EXCLUDE)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/share/nrn/demo")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/share/nrn" TYPE DIRECTORY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/demo")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/share/nrn/lib/nrnunits.lib;/usr/share/nrn/lib/nrn.defaults")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/share/nrn/lib" TYPE FILE FILES
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib"
+    "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrn.defaults"
+    )
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/share/nrn/lib/cleanup")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/share/nrn/lib" TYPE PROGRAM FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/cleanup")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/include")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr" TYPE DIRECTORY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/include")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  execute_process(COMMAND /usr/bin/cmake -E make_directory /usr/loongarch64)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  execute_process(COMMAND /usr/bin/cmake -E create_symlink bin /usr/loongarch64/bin)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  execute_process(COMMAND /usr/bin/cmake -E make_directory /usr/loongarch64)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  execute_process(COMMAND /usr/bin/cmake -E create_symlink /usr/lib /usr/loongarch64/lib)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+  set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+  set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+       "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/cabvars.h
@@ -0,0 +1,78 @@
+/* /local/src/master/nrn/src/nrnoc/cabvars.h,v 1.5 1999/02/05 18:09:50 hines Exp */
+#ifndef NRN_CABVARS_H
+#define NRN_CABVARS_H
+#define XMECH 0
+
+
+static struct { /* USERPROPERTY */
+    char* name;
+    short type;
+    short index;
+} usrprop[] = {"nseg", 0, 0, "L", 1, 2, "rallbranch", 1, 4, "Ra", 1, 7, 0, 0, 0};
+
+extern "C" {
+void capac_reg_(), passive0_reg_(), _passive_reg_(),
+#if EXTRACELLULAR
+    extracell_reg_(),
+#endif
+    _stim_reg_(), _syn_reg_(), _expsyn_reg_(), _exp2syn_reg_(), _svclmp_reg_(), _vclmp_reg_(),
+    _oclmp_reg_(), _apcount_reg_(), _netstim_reg_(), _intfire1_reg_(), _intfire2_reg_(),
+    _intfire4_reg_(), _ppmark_reg_(), _pattern_reg_(),
+#if XMECH
+    _xmech_reg_(),
+#endif
+    _feature_reg_(), _hh_reg_();
+
+static Pfrv mechanism[] = {/* type will start at 3 */
+                           capac_reg_,
+                           _passive_reg_,
+#if EXTRACELLULAR
+                           /* extracellular requires special handling and must be type 5 */
+                           extracell_reg_,
+#endif
+                           passive0_reg_, /* twice as fast as model description? */
+                           _stim_reg_,
+                           _syn_reg_,
+                           _expsyn_reg_,
+                           _exp2syn_reg_,
+                           _svclmp_reg_,
+                           _vclmp_reg_,
+                           _oclmp_reg_,
+                           _apcount_reg_,
+                           _hh_reg_,
+                           _feature_reg_,
+                           _netstim_reg_,
+                           _intfire1_reg_,
+                           _intfire2_reg_,
+                           _intfire4_reg_,
+                           _ppmark_reg_,
+                           _pattern_reg_,
+#if XMECH
+                           _xmech_reg_,
+#endif
+                           0};
+}  // extern "C"
+
+static const char* morph_mech[] = {
+    /* this is type 2 */
+    "0",
+    "morphology",
+    "diam",
+    0,
+    0,
+    0,
+};
+
+extern void cab_alloc(Prop*);
+extern void morph_alloc(Prop*);
+
+#if 0
+ first two memb_func
+	NULL_CUR, NULL_ALLOC, NULL_STATE, NULL_INITIALIZE, (Pfri)0, 0,	/*Unused*/
+	NULL_CUR, cab_alloc, NULL_STATE, NULL_INITIALIZE, (Pfri)0, 0,	/*CABLESECTION*/
+#endif
+
+
+extern Memb_func* memb_func;
+
+#endif  // NRN_CABVARS_H
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/cspmatrix.h
@@ -0,0 +1,2 @@
+#define cmplx_spPrefix
+#include "spmatrix.h"
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/cspredef.h
@@ -0,0 +1,50 @@
+/* mostly generated from
+cat temp | /usr/bin/tr -cs "[:alpha:]" "[\n*]" | sort | uniq | grep '^sp' > sp_redef.h
+where temp is the last part of spmatrix.h
+*/
+#define spClear cmplx_spClear
+#define spCondition cmplx_spCondition
+#define spCreate cmplx_spCreate
+#define spDeleteRowAndCol cmplx_spDeleteRowAndCol
+#define spDestroy cmplx_spDestroy
+#define spDeterminant cmplx_spDeterminant
+#define spElementCount cmplx_spElementCount
+#define spError cmplx_spError
+#define spFactor cmplx_spFactor
+#define spFileMatrix cmplx_spFileMatrix
+#define spFileStats cmplx_spFileStats
+#define spFileVector cmplx_spFileVector
+#define spFillinCount cmplx_spFillinCount
+#define spGetAdmittance cmplx_spGetAdmittance
+#define spGetElement cmplx_spGetElement
+#define spGetInitInfo cmplx_spGetInitInfo
+#define spGetOnes cmplx_spGetOnes
+#define spGetQuad cmplx_spGetQuad
+#define spGetSize cmplx_spGetSize
+#define spInitialize cmplx_spInitialize
+#define spInstallInitInfo cmplx_spInstallInitInfo
+#define spLargestElement cmplx_spLargestElement
+#define spMNA_Preorder cmplx_spMNA_Preorder
+#define spMultTransposed cmplx_spMultTransposed
+#define spMultiply cmplx_spMultiply
+#define spNorm cmplx_spNorm
+#define spOrderAndFactor cmplx_spOrderAndFactor
+#define spPartition cmplx_spPartition
+#define spPrint cmplx_spPrint
+#define spPseudoCondition cmplx_spPseudoCondition
+#define spRoundoff cmplx_spRoundoff
+#define spScale cmplx_spScale
+#define spSetComplex cmplx_spSetComplex
+#define spSetReal cmplx_spSetReal
+#define spSolve cmplx_spSolve
+#define spSolveTransposed cmplx_spSolveTransposed
+#define spStripFills cmplx_spStripFills
+#define spWhereSingular cmplx_spWhereSingular
+#define spcGetFillin cmplx_spcGetFillin
+#define spcGetElement cmplx_spcGetElement
+#define spcLinkRows cmplx_spcLinkRows
+#define spcFindElementInCol cmplx_spcFindElementInCol
+#define spcCreateElement cmplx_spcCreateElement
+#define spcRowExchange cmplx_spcRowExchange
+#define spcColExchange cmplx_spcColExchange
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hoc.h
@@ -0,0 +1,6 @@
+
+#ifndef hoc_h
+#define hoc_h
+#include "redef.h"
+#include "hocdec.h"
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hoc_membf.h
@@ -0,0 +1,21 @@
+#ifndef hoc_membf_h
+#define hoc_membf_h
+
+struct Object;
+
+typedef struct Member_func {
+    const char* name;
+    double (*member)(void*);
+} Member_func;
+
+typedef struct Member_ret_obj_func {
+    const char* name;
+    struct Object** (*member)(void*);
+} Member_ret_obj_func;
+
+typedef struct Member_ret_str_func {
+    const char* name;
+    const char** (*member)(void*);
+} Member_ret_str_func;
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hocassrt.h
@@ -0,0 +1,44 @@
+
+#ifndef hocassrt_h
+#define hocassrt_h
+#include <assert.h>
+#undef assert
+#undef _assert
+#ifndef NDEBUG
+#ifndef stderr
+#include <stdio.h>
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern void hoc_execerror(const char*, const char*);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+#if defined(__STDC__)
+#define assert(ex)                                                                       \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            hoc_execerror(#ex, (char*) 0);                                               \
+        }                                                                                \
+    }
+#else
+#define assert(ex)                                                                       \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            hoc_execerror("ex", (char*) 0);                                              \
+        }                                                                                \
+    }
+#endif
+#else
+#define _assert(ex) ;
+#define assert(ex)  ;
+#endif
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hocdec.h
@@ -0,0 +1,395 @@
+
+#ifndef hocdec_h
+#define hocdec_h
+#define INCLUDEHOCH 1
+#define OOP         1
+
+
+#include <stdio.h>
+#include "nrnapi.h"
+#include "hocassrt.h" /* hoc_execerror instead of abort */
+#include "nrnassrt.h" /* assert in case of side effects (eg. scanf) */
+#include <string.h>
+
+#define gargstr hoc_gargstr
+#define getarg  hoc_getarg
+
+/* the dec alpha cxx doesn't understand struct foo* inside a struct */
+
+#if defined(__cplusplus)
+#define HocStruct  /**/
+#define HocTypedef /**/
+#define HocUnion   /**/
+union Inst;
+struct Symbol;
+struct Arrayinfo;
+struct Proc;
+struct Symlist;
+union Datum;
+struct cTemplate;
+union Objectdata;
+struct Object;
+struct hoc_Item;
+#else
+#define HocStruct  struct
+#define HocUnion   union
+#define HocTypedef typedef
+#endif
+
+typedef int (*Pfri)(void);
+typedef void (*Pfrv)(void);
+typedef double (*Pfrd)(void);
+typedef struct Object** (*Pfro)(void);
+typedef const char** (*Pfrs)(void);
+
+typedef int (*Pfri_vp)(void*);
+typedef void (*Pfrv_vp)(void*);
+typedef double (*Pfrd_vp)(void*);
+typedef struct Object** (*Pfro_vp)(void*);
+typedef const char** (*Pfrs_vp)(void*);
+
+typedef union Inst { /* machine instruction list type */
+    Pfrv pf;
+    Pfrd pfd;
+    Pfro pfo;
+    Pfrs pfs;
+    Pfrv_vp pfv_vp;
+    Pfrd_vp pfd_vp;
+    Pfro_vp pfo_vp;
+    Pfrs_vp pfs_vp;
+    HocUnion Inst* in;
+    HocStruct Symbol* sym;
+    void* ptr;
+    int i;
+} Inst;
+
+#define STOP (Inst*) 0
+
+typedef struct Arrayinfo { /* subscript info for arrays */
+    unsigned* a_varn;      /* dependent variable number for array elms */
+    int nsub;              /* number of subscripts */
+    int refcount;          /* because one object always uses symbol's */
+    int sub[1];            /* subscript range */
+} Arrayinfo;
+
+typedef struct Proc {
+    Inst defn;               /* FUNCTION, PROCEDURE, FUN_BLTIN */
+    unsigned long size;      /* length of instruction list */
+    HocStruct Symlist* list; /* For constants and strings */
+                             /* not used by FUN_BLTIN */
+    int nauto;               /* total # local variables */
+    int nobjauto;            /* the last of these are pointers to objects */
+} Proc;
+
+typedef struct Symlist {
+    HocStruct Symbol* first;
+    HocStruct Symbol* last;
+} Symlist;
+
+typedef char* Upoint;
+
+#define NOTUSER      0
+#define USERINT      1 /* For subtype */
+#define USERDOUBLE   2
+#define USERPROPERTY 3 /* for newcable non-range variables */
+#define USERFLOAT    4 /* John Miller's NEMO uses floats */
+#if NEMO
+#define NEMONODE 5 /* looks syntactically like vector */
+#define NEMOAREA 6 /* looks like vector */
+#endif
+#define SYMBOL       7  /* for stack type */
+#define OBJECTTMP    8  /* temporary object on stack */
+#define STKOBJ_UNREF 9  /* already unreffed temporary object on stack */
+#define DYNAMICUNITS 10 /* {modern, legacy} units pair */
+#define CPLUSOBJECT  16 /* c++ registered class */
+#define JAVAOBJECT   32 /* c++ registered class */
+/* above two are bits, next must start at 64 */
+#define OBJECTALIAS 1
+#define VARALIAS    2
+
+typedef struct HocSymExtension {
+    float* parmlimits; /* some variables have suggested bounds */
+    char* units;
+    float tolerance; /* some states have cvode absolute tolerance */
+} HocSymExtension;
+
+typedef struct Symbol { /* symbol table entry */
+    char* name;
+    short type;
+    short subtype;            /* Flag for user integers */
+                              /**
+                               * Note: `public` is a reserved keyword. Keeping following __cplusplus comments a bit longer
+                               * for future reference,  with upcoming work for NMODL + eventual mod files to support cpp.
+                               */
+                              //#if defined(__cplusplus)
+    short cpublic;            /* flag set public variable */
+                              //#else
+                              //	short	public;		/* flag set public variable */
+                              //#endif
+    short defined_on_the_fly; /* moved here because otherwize gcc and borland do not align the same
+                                 way */
+    union {
+        int oboff; /* offset into object data pointer space */
+#if 0              /* these are now found via oboff. */
+		char	*str;		/* STRING */
+		HocStruct Object **objvar; /* possibly an array of object variables */
+#endif
+        double* pval;                          /* User defined doubles - also for alias to scalar */
+        HocStruct Object* object_;             /* alias to an object */
+        char* cstr;                            /* constant string */
+        double* pnum;                          /* Numbers */
+        int* pvalint;                          /* User defined integers */
+        float* pvalfloat;                      /* User defined floats */
+        int u_auto;                            /* stack offset # for AUTO variable */
+        double (*ptr)(double); /* if BLTIN */  // TODO: double as parameter?
+        Proc* u_proc;
+        struct {
+            short type; /* Membrane type to find Prop */
+            int index;  /* prop->param[index] */
+        } rng;
+        HocStruct Symbol** ppsym; /* Pointer to symbol pointer array */
+                                  //#if defined(__cplusplus)
+        HocStruct cTemplate* ctemplate;
+        //#else
+        //		HocStruct cTemplate *template;
+        //#endif
+        HocStruct Symbol* sym; /* for external */
+    } u;
+    unsigned s_varn;        /* dependent variable number - 0 means indep */
+    Arrayinfo* arayinfo;    /* ARRAY information if null then scalar */
+    HocSymExtension* extra; /* additions to symbol allow compatibility
+                    with old nmodl dll's */
+    HocStruct Symbol* next; /* to link to another */
+} Symbol;
+#define ISARRAY(arg) (arg->arayinfo != (Arrayinfo*) 0)
+
+
+#ifndef hoc_list_h
+#if defined(__cplusplus)
+#define hoc_List struct hoc_Item
+#else
+typedef struct hoc_Item hoc_List;
+#define List hoc_List
+#define Item hoc_Item
+#endif
+#endif
+
+typedef union Datum { /* interpreter stack type */
+    double val;
+    Symbol* sym;
+    int i;
+    double* pval; /* first used with Eion in NEURON */
+    HocStruct Object** pobj;
+    HocStruct Object* obj; /* sections keep this to construct a name */
+    char** pstr;
+    HocStruct hoc_Item* itm;
+    hoc_List* lst;
+    void* _pvoid; /* not used on stack, see nrnoc/point.cpp */
+} Datum;
+
+#if OOP
+//#if defined(__cplusplus)
+typedef struct cTemplate {
+    //#else
+    // typedef struct Template {
+    //#endif
+    Symbol* sym;
+    Symlist* symtable;
+    int dataspace_size;
+    int is_point_;   /* actually the pointtype > 0 if a point process */
+    Symbol* init;    /* null if there is no initialization function */
+    Symbol* unref;   /* null if there is no function to call when refcount is decremented */
+    int index;       /* next  unique integer used for name for section */
+    int count;       /* how many of this kind of object */
+    hoc_List* olist; /* list of all instances */
+    int id;
+    void* observers; /* hook to c++ ClassObservable */
+    void* (*constructor)(struct Object*);
+    void (*destructor)(void*);
+    void (*steer)(void*); /* normally nil */
+    int (*checkpoint)(void**);
+    //#if defined(__cplusplus)
+} cTemplate;
+//#else
+//}
+//#endif
+
+typedef union Objectdata {
+    double* pval;                 /* pointer to array of doubles, usually just 1 */
+    char** ppstr;                 /* pointer to pointer to string ,allows vectors someday*/
+    HocStruct Object** pobj;      /* pointer to array of object pointers, usually just 1*/
+    HocStruct hoc_Item** psecitm; /* array of pointers to section items, usually just 1 */
+    hoc_List** plist;             /* array of pointers to linked lists */
+    Arrayinfo* arayinfo;
+    void* _pvoid; /* Point_process */
+} Objectdata;
+
+typedef struct Object {
+    int refcount; /* how many object variables point to this */
+    int index;    /* unique integer used for names of sections */
+    union {
+        Objectdata* dataspace; /* Points to beginning of object's data */
+        void* this_pointer;    /* the c++ object */
+    } u;
+#if defined(__cplusplus)
+    cTemplate* ctemplate;
+#else
+    cTemplate* template;
+#endif
+    void* aliases; /* more convenient names for e.g. Vector or List elements dynamically created by
+                      this object*/
+    HocStruct hoc_Item* itm_me;  /* this object in the template list */
+    HocStruct hoc_Item* secelm_; /* last of a set of contiguous section_list items used by forall */
+    void* observers;             /* hook to c++ ObjObservable */
+    short recurse;               /* to stop infinite recursions */
+    short unref_recurse_cnt;     /* free only after last return from unref callback */
+} Object;
+#endif
+
+typedef struct { /* User Functions */
+    const char* name;
+    void (*func)(void);
+} VoidFunc;
+
+typedef struct { /* User Double Scalars */
+    const char* name;
+    double* pdoub;
+} DoubScal;
+
+typedef struct { /* User Vectors */
+    const char* name;
+    double* pdoub;
+    int index1;
+} DoubVec;
+
+typedef struct { /* recommended limits for symbol values */
+    const char* name;
+    float bnd[2];
+} HocParmLimits;
+
+typedef struct { /* recommended tolerance for CVODE */
+    const char* name;
+    float tolerance;
+} HocStateTolerance;
+
+typedef struct { /* units for symbol values */
+    const char* name;
+    char* units;
+} HocParmUnits;
+
+#include "oc_ansi.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern void* emalloc(size_t n);
+extern void* ecalloc(size_t n, size_t size);
+extern void* erealloc(void* ptr, size_t n);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+extern Inst *hoc_progp, *hoc_progbase, *hoc_prog, *hoc_prog_parse_recover;
+extern Inst* hoc_pc;
+
+extern Objectdata* hoc_objectdata;
+extern Objectdata* hoc_top_level_data;
+extern Object* hoc_thisobject;
+extern Symlist* hoc_symlist;
+extern Symlist* hoc_top_level_symlist;
+extern Symlist* hoc_built_in_symlist;
+extern Objectdata* hoc_objectdata_save(void);
+extern Objectdata* hoc_objectdata_restore(Objectdata*);
+#define OPVAL(sym)    hoc_objectdata[sym->u.oboff].pval
+#define OPSTR(sym)    hoc_objectdata[sym->u.oboff].ppstr
+#define OPOBJ(sym)    hoc_objectdata[sym->u.oboff].pobj
+#define OPSECITM(sym) hoc_objectdata[sym->u.oboff].psecitm
+#define OPLIST(sym)   hoc_objectdata[sym->u.oboff].plist
+#define OPARINFO(sym) hoc_objectdata[sym->u.oboff + 1].arayinfo
+
+#if LINT
+#undef assert
+#define assert(arg) \
+    {               \
+        if (arg)    \
+            ;       \
+    } /* so fprintf doesn't give lint */
+#undef IGNORE
+#define IGNORE(arg) \
+    {               \
+        if (arg)    \
+            ;       \
+    }
+#define LINTUSE(arg) \
+    {                \
+        if (arg)     \
+            ;        \
+    }
+char* cplint;
+int ilint;
+#define Strcat  cplint = strcat
+#define Strncat cplint = strncat
+#define Strcpy  cplint = strcpy
+#define Strncpy cplint = strncpy
+#define Sprintf cplint = sprintf
+#define Printf  ilint = printf
+#else
+#if defined(__TURBOC__)
+#undef IGNORE
+#define IGNORE
+#else
+#undef IGNORE
+#define IGNORE(arg) arg
+#endif
+#define LINTUSE(arg)
+#define Strcat  strcat
+#define Strncat strncat
+#define Strcpy  strcpy
+#define Strncpy strncpy
+#define Sprintf sprintf
+#define Printf  nrnpy_pr
+#endif
+
+/* EINTR handling for LINDA */
+#if LINDA
+#include <errno.h>
+#define ERRCHK(c1)               \
+    {                            \
+        errno = EINTR;           \
+        while (errno == EINTR) { \
+            errno = 0;           \
+            c1                   \
+        }                        \
+    }
+
+#else
+#define ERRCHK(c1) c1
+#endif
+
+#define IFGUI  if (hoc_usegui) {
+#define ENDGUI }
+
+extern int hoc_usegui; /* when 0 does not make interviews calls */
+extern int nrn_istty_;
+extern int parallel_sub; /* for use with parallel neuron (see parallel.cl) */
+
+#define NOT_PARALLEL_SUB(c1) \
+    {                        \
+        if (!parallel_sub)   \
+            c1               \
+    }
+
+/* Enter handling for PVM  NJP 11/21/94 */
+#ifdef PVM
+extern int init_parallel();
+int num_procs;
+int* tids;
+int node_num;
+int mytid;
+#endif
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hocgetsym.h
@@ -0,0 +1,18 @@
+#ifndef hocgetsym_h
+#define hocgetsym_h
+
+#include "hoc.h"
+
+typedef struct Psym {
+    Symbol* sym;
+    Arrayinfo* arayinfo;
+    int nsub;
+    int sub[1];
+} Psym;
+
+Psym* hoc_getsym(const char*);
+double hoc_getsymval(Psym*);
+void hoc_assignsym(Psym* p, double val);
+void hoc_execstr(const char* cp);
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hoclist.h
@@ -0,0 +1,115 @@
+#ifndef hoc_list_h
+#define hoc_list_h
+
+#if HOC_L_LIST
+#define stralloc    hoc_l_stralloc
+#define newitem     hoc_l_newitem
+#define newlist     hoc_l_newlist
+#define freelist    hoc_l_freelist
+#define next        hoc_l_next
+#define prev        hoc_l_prev
+#define insertstr   hoc_l_insertstr
+#define insertitem  hoc_l_insertitem
+#define insertlist  hoc_l_insertlist
+#define insertsym   hoc_l_insertsym
+#define insertsec   hoc_l_insertsec
+#define insertobj   hoc_l_insertobj
+#define insertvoid  hoc_l_insertvoid
+#define linsertsym  hoc_l_linsertsym
+#define linsertstr  hoc_l_linsertstr
+#define lappendsym  hoc_l_lappendsym
+#define lappendstr  hoc_l_lappendstr
+#define lappenditem hoc_l_lappenditem
+#define lappendlst  hoc_l_lappendlst
+#define lappendsec  hoc_l_lappendsec
+#define lappendobj  hoc_l_lappendobj
+#define lappendvoid hoc_l_lappendvoid
+#define delete hoc_l_delete
+#define delitems  hoc_l_delitems
+#define move      hoc_l_move
+#define movelist  hoc_l_movelist
+#define replacstr hoc_l_replacstr
+#define Item      hoc_Item
+#define List      hoc_List
+
+typedef struct hoc_Item hoc_List; /* list of mixed items */
+#else
+#define hoc_List struct hoc_Item
+#endif
+
+typedef struct hoc_Item {
+    union {
+        struct hoc_Item* itm;
+        hoc_List* lst;
+        char* str;
+        struct Symbol* sym;
+        struct Section* sec;
+        struct Object* obj;
+        void* vd;
+    } element; /* pointer to the actual item */
+    struct hoc_Item* next;
+    struct hoc_Item* prev;
+    short itemtype;
+} hoc_Item;
+#define ITEM0 (hoc_Item*) 0
+#define LIST0 (hoc_List*) 0
+
+#define ITERATE(itm, lst) for (itm = (lst)->next; itm != (lst); itm = itm->next)
+/*
+ * this is convenient way to get the element pointer if you know what type
+ * the item is
+ */
+#define SYM(q)     ((q)->element.sym)
+#define STR(q)     ((q)->element.str)
+#define ITM(q)     ((q)->element.itm)
+#define LST(q)     ((q)->element.lst)
+#define hocSEC(q)  ((q)->element.sec)
+#define OBJ(q)     ((q)->element.obj)
+#define VOIDITM(q) ((q)->element.vd)
+
+/* types not defined in parser */
+#define ITEM        2
+#define LIST        3
+#define VOIDPOINTER 4
+/*
+ * An item type, STRING is also used as an item type
+ */
+
+extern char* hoc_l_stralloc(const char*, char* release);
+extern hoc_List* hoc_l_newlist();
+extern hoc_Item* hoc_l_insertstr(hoc_Item*, const char*);
+extern hoc_Item* hoc_l_insertsym(hoc_Item*, struct Symbol*);
+extern hoc_Item* hoc_l_insertitem(hoc_Item*, hoc_Item*);
+extern hoc_Item* hoc_l_insertlist(hoc_Item*, hoc_List*);
+extern hoc_Item* hoc_l_insertsec(hoc_Item*, struct Section*);
+extern hoc_Item* hoc_l_insertvoid(hoc_Item*, void*);
+extern hoc_Item* hoc_l_linsertstr(hoc_List*, const char*);
+extern hoc_Item* hoc_l_linsertsym(hoc_List*, struct Symbol*);
+extern hoc_Item* hoc_l_lappendstr(hoc_List*, const char*);
+extern hoc_Item* hoc_l_lappendsym(hoc_List*, struct Symbol*);
+extern hoc_Item* hoc_l_lappenditem(hoc_List*, hoc_Item*);
+extern hoc_Item* hoc_l_lappendlst(hoc_List*, hoc_List*);
+extern hoc_Item* hoc_l_lappendsec(hoc_List*, struct Section*);
+extern hoc_Item* hoc_l_lappendvoid(hoc_List*, void*);
+extern hoc_Item* hoc_l_lappendobj(hoc_List*, struct Object*);
+extern void hoc_l_freelist(hoc_List**);
+extern hoc_Item* hoc_l_next(hoc_Item*);
+extern hoc_Item* hoc_l_prev(hoc_Item*);
+extern void hoc_l_delete(hoc_Item*);
+extern void hoc_l_move(hoc_Item*, hoc_Item*, hoc_Item*);
+extern void hoc_l_movelist(hoc_Item*, hoc_Item*, hoc_List*);
+extern void hoc_l_replacstr(hoc_Item*, const char*);
+
+#define Insertstr   insertstr
+#define Insertsym   insertsym
+#define Insertsec   insertsec
+#define Linsertsym  linsertsym
+#define Linsertstr  linsertstr
+#define Lappendsym  lappendsym
+#define Lappendstr  lappendstr
+#define Lappenditem lappenditem
+#define Lappendlst  lappendlst
+#define Lappendsec  lappendsec
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/hocparse.h
@@ -0,0 +1,42 @@
+#ifndef hocparse_h
+#define hocparse_h
+
+#include "hoc.h"
+
+
+/* do not know why this is not in parse.hpp */
+extern int yyparse(void);
+extern int yylex(void);
+
+extern void hoc_acterror(const char*, const char*);
+extern void hoc_execute(Inst*);
+extern int hoc_yyparse(void);
+extern void hoc_define(Symbol*);
+extern void hoc_iterator_object(Symbol*, int, Inst*, Inst*, Object*);
+extern int hoc_zzdebug;
+extern int hoc_moreinput(void);
+extern Symlist* hoc_p_symlist;
+extern void hoc_defnonly(const char*);
+extern Symbol* hoc_decl(Symbol*);
+extern Symbol* hoc_which_template(Symbol*);
+extern void hoc_begintemplate(Symbol*);
+extern void hoc_endtemplate(Symbol*);
+extern void hoc_add_publiclist(Symbol*);
+extern void hoc_external_var(Symbol*);
+extern void hoc_insertcode(Inst*, Inst*, Pfrv);
+
+extern int hoc_lineno;
+extern int hoc_indef;
+extern Inst* hoc_codei(int i);
+extern void hoc_codein(Inst* f);
+extern void hoc_codesym(Symbol* f);
+extern Inst* hoc_codeptr(void* vp);
+extern Inst* hoc_Code(Pfrv);
+extern void hoc_ob_check(int);
+extern void hoc_obvar_declare(Symbol* sym, int type, int pmes);
+extern void hoc_help(void);
+extern char* hoc_strgets(char*, int);
+extern int hoc_strgets_need(void);
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/isoc99.h
@@ -0,0 +1,6 @@
+#ifndef NRN_ISOC99_H
+#define NRN_ISOC99_H
+
+extern "C" int nrn_isdouble(double* pd, double min, double max);
+
+#endif  // NRN_ISOC99_H
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/ivstream.h
@@ -0,0 +1,8 @@
+#pragma once
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+#define IOS_OUT std::ios::out
+#define IOS_IN  std::ios::in
+#define IOS_APP  std::ios::app
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/mcran4.h
@@ -0,0 +1,54 @@
+#ifndef mcran4_h
+#define mcran4_h
+
+#include <nrnconf.h>
+#if defined(HAVE_STDINT_H)
+#include <stdint.h>
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern void mcell_ran4_init(uint32_t);
+extern double mcell_ran4(uint32_t* high, double* x, unsigned int n, double range);
+extern double mcell_ran4a(uint32_t* idx1);
+extern uint32_t mcell_iran4(uint32_t* idx1);
+extern double nrnRan4dbl(uint32_t* idx1, uint32_t idx2);
+extern uint32_t nrnRan4int(uint32_t* idx1, uint32_t idx2);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
+
+/*
+ The original ran4 generator was copyrighted by "Numerical Recipes in C"
+ and therefore has been removed from the NEURON sources and replaced by code
+ fragments obtained from http://www.inference.phy.cam.ac.uk/bayesys/
+ by John Skilling
+ The function mcell_ran4a only returns
+ a single uniform random number in the distribution 0.0 to 1.0 .
+ The prototype for mcell_ran4 is the original.
+*/
+
+/*
+Michael Hines added the prefix mcell to the global names.
+These functions were obtained from Tom Bartol <bartol at salk.edu>
+who uses them in his mcell program.
+He comments:
+For MCell, Ran4 has the distinct advantage of generating
+streams of random bits not just random numbers.  This means that you can
+break the 32 bits of a single returned random number into several smaller
+chunks without fear of correlations between the chunks.  Ran4 is not the
+fastest generator in the universe but it's pretty fast (16 million
+floating point random numbers per second on my 1GHz Intel PIII and 20
+million integer random numbers per second) and of near cryptographic
+quality. I've modified it so that a given seed will generate the same
+sequence on Intel, Alpha, RS6000, PowerPC, and MIPS architectures (and
+probably anything else out there).  It's also been modified to generate
+arbitrary length vectors of random numbers.  This makes generating numbers
+more efficient because you can generate many numbers per function call.
+MCell generates them in chunks of 10000 at a time.
+*/
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/md1redef.h
@@ -0,0 +1,35 @@
+#ifndef nmodl1_redef_h
+#define nmodl1_redef_h
+
+#define v        _v
+#define area     _area
+#define thisnode _thisnode
+#define GC       _GC
+#define EC       _EC
+#define extnode  _extnode
+#define xain     _xain
+#define xbout    _xbout
+#define i        _i
+#define sec      _sec
+
+#undef Memb_list
+#undef nodelist
+#undef nodeindices
+#undef data
+#undef pdata
+#undef prop
+#undef nodecount
+#undef type
+
+#define Memb_list   _Memb_list
+#define nodelist    _nodelist
+#define nodeindices _nodeindices
+#define data        _data
+#define pdata       _pdata
+#define prop        _prop
+#define nodecount   _nodecount
+#define type        _type
+#define pval        _pval
+#define id          _id
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/md2redef.h
@@ -0,0 +1,27 @@
+#ifndef nmodl2_redef_h
+#define nmodl2_redef_h
+
+#undef v
+#undef area
+#undef thisnode
+#undef GC
+#undef EC
+#undef extnode
+#undef xain
+#undef xbout
+#undef i
+#undef sec
+
+#undef Memb_list
+#undef nodelist
+#undef nodeindices
+#undef data
+#undef pdata
+#undef prop
+#undef nodecount
+#undef pval
+
+#undef type
+#undef id
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/mech_api.h
@@ -0,0 +1,17 @@
+#pragma once
+/** @brief Header file included in translated mechanism.
+ *
+ *  This ensures that all functions that are tacitly part of the NEURON API
+ *  usable from .mod files have definitions that are visible when the translated
+ *  versions of those .mod files are compiled.
+ *
+ *  @todo Functions defined in nrniv_mf.h are also used by .mod files, but that
+ *        header has to be sandwiched between md1redef.h and md2redef.h, which
+ *        we leave to nocmodl.
+ */
+#include "mcran4.h"
+#include "nrncvode.h"
+#include "nrnrandom.h"
+#include "nrnran123.h"
+#include "nrnversionmacros.h"
+#include "scoplib.h"
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/membdef.h
@@ -0,0 +1,54 @@
+/* /local/src/master/nrn/src/nrnoc/membdef.h,v 1.2 1995/02/13 20:20:42 hines Exp */
+
+/* numerical parameters */
+#define DEF_nseg 1    /* default number of segments per section*/
+#define DEF_dt   .025 /* ms */
+#define DEF_secondorder                           \
+    0 /* >0 means crank-nicolson. 2 means current \
+          adjusted to t+dt/2 */
+
+/*global parameters */
+#define DEF_Ra      35.4 /* ohm-cm */ /*changed from 34.5 on 1/6/95*/
+#define DEF_celsius 6.3               /* deg-C */
+
+#define DEF_vrest -65. /* mV */
+
+/* old point process parameters */
+/* fclamp */
+#define DEF_clamp_resist 1e-3 /* megohm */
+
+/* Parameters that are used in mechanism _alloc() procedures */
+/* cable */
+#define DEF_L          100. /* microns */
+#define DEF_rallbranch 1.
+
+/* morphology */
+#define DEF_diam 500. /* microns */
+
+/* capacitance */
+#define DEF_cm 1. /* uF/cm^2 */
+
+/* fast passive (e_p and g_p)*/
+#define DEF_e DEF_vrest /* mV */
+#define DEF_g 5.e-4     /* S/cm^2 */
+
+/* na_ion */
+#define DEF_nai 10.                /* mM */
+#define DEF_nao 140.               /* mM */
+#define DEF_ena (115. + DEF_vrest) /* mV */
+
+/* k_ion */
+#define DEF_ki 54.4               /* mM */
+#define DEF_ko 2.5                /* mM */
+#define DEF_ek (-12. + DEF_vrest) /* mV */
+
+/* ca_ion -> any program that uses DEF_eca must include <math.h> */
+#define DEF_cai 5.e-5 /* mM */
+#define DEF_cao 2.    /* mM */
+#include <math.h>
+#define DEF_eca 12.5 * log(DEF_cao / DEF_cai) /* mV */
+
+/* default ion values */
+#define DEF_ioni 1. /* mM */
+#define DEF_iono 1. /* mM */
+#define DEF_eion 0. /* mV */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/membfunc.h
@@ -0,0 +1,104 @@
+#ifndef nrn_memb_func_h
+#define nrn_memb_func_h
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern void hoc_register_prop_size(int type, int psize, int dpsize);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#include "nrnoc_ml.h"
+
+typedef struct NrnThread NrnThread;
+typedef Datum* (*Pfrpdat)();
+typedef void (*Pvmi)(struct NrnThread*, Memb_list*, int);
+typedef void (*Pvmp)(Prop*);
+typedef int (*nrn_ode_count_t)(int);
+typedef void (*nrn_ode_map_t)(int, double**, double**, double*, Datum*, double*, int);
+typedef void (*nrn_ode_synonym_t)(int, double**, Datum**);
+/* eventually replace following with Pvmp */
+typedef void (*nrn_bamech_t)(Node*, double*, Datum*, Datum*, struct NrnThread*);
+
+#define NULL_CUR        (Pfri) 0
+#define NULL_ALLOC      (Pfri) 0
+#define NULL_STATE      (Pfri) 0
+#define NULL_INITIALIZE (Pfri) 0
+
+typedef struct Memb_func {
+    Pvmp alloc;
+    Pvmi current;
+    Pvmi jacob;
+    Pvmi state;
+    Pvmi initialize;
+    Pvmp destructor; /* only for point processes */
+    Symbol* sym;
+#if CVODE
+    nrn_ode_count_t ode_count;
+    nrn_ode_map_t ode_map;
+    Pvmi ode_spec;
+    Pvmi ode_matsol;
+    nrn_ode_synonym_t ode_synonym;
+    Pvmi singchan_; /* managed by kschan for variable step methods */
+#endif
+    int vectorized;
+    int thread_size_;                 /* how many Datum needed in Memb_list if vectorized */
+    void (*thread_mem_init_)(Datum*); /* after Memb_list._thread is allocated */
+    void (*thread_cleanup_)(Datum*);  /* before Memb_list._thread is freed */
+    void (*thread_table_check_)(double*, Datum*, Datum*, NrnThread*, int);
+    void (*_update_ion_pointers)(Datum*);
+    int is_point;
+    void* hoc_mech;
+    void (*setdata_)(struct Prop*);
+    int* dparam_semantics;  // for nrncore writing.
+} Memb_func;
+
+
+#define IMEMFAST     -2
+#define VINDEX       -1
+#define CABLESECTION 1
+#define MORPHOLOGY   2
+#define CAP          3
+#if EXTRACELLULAR
+#define EXTRACELL 5
+#endif
+
+#define nrnocCONST 1
+#define DEP        2
+#define STATE      3 /*See init.cpp and cabvars.h for order of nrnocCONST, DEP, and STATE */
+
+#define BEFORE_INITIAL    0
+#define AFTER_INITIAL     1
+#define BEFORE_BREAKPOINT 2
+#define AFTER_SOLVE       3
+#define BEFORE_STEP       4
+#define BEFORE_AFTER_SIZE 5 /* 1 more than the previous */
+typedef struct BAMech {
+    nrn_bamech_t f;
+    int type;
+    struct BAMech* next;
+} BAMech;
+extern BAMech** bamech_;
+
+extern Memb_func* memb_func;
+extern int n_memb_func;
+extern int* nrn_prop_param_size_;
+extern int* nrn_prop_dparam_size_;
+
+#if VECTORIZE
+extern Memb_list* memb_list;
+/* for finitialize, order is same up through extracellular, then ions,
+then mechanisms that write concentrations, then all others. */
+extern short* memb_order_;
+#endif
+#define NRNPOINTER                                                            \
+    4 /* added on to list of mechanism variables.These are                    \
+pointers which connect variables  from other mechanisms via the _ppval array. \
+*/
+
+#define _AMBIGUOUS 5
+
+#endif /* nrn_memb_func_h */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/multicore.h
@@ -0,0 +1,109 @@
+#ifndef multicore_h
+#define multicore_h
+
+/*
+Starts from Hubert Eichner's modifications but incorporates a
+significant refactorization. The best feature of Hubert's original
+code is retained. I.e. the user level structures remain unchanged
+and the vectors, e.g v_node, are ordered so that each thread uses
+a contiguous region. We take this even further by changing rootnodecount
+to nrn_global_ncell and ordering the rootnodes so they appear in the proper
+place in the lists instead of all at the beginning. This means
+most of the user level for i=0,rootnode-1 loops have to be
+changed to iterate over all the nrn_thread_t.ncell. But underneath the
+VECTORIZE part, most functions are given an ithread argument and none ever
+get outside the array portions specified by the nrn_thread_t.
+This means that the thread parallelization can be handled at the level
+of fadvance() and a network sim can take advantage of the minimum
+netcon delay interval
+
+The main caveat with threads is that mod files should not use pointers
+that cross thread data boundaries. ie. gap junctions should use the
+ParallelContext methods.
+
+*/
+
+/* now included by section.h since this has take over the v_node,
+actual_v, etc.
+*/
+
+#include <membfunc.h>
+
+
+typedef struct NrnThreadMembList { /* patterned after CvMembList in cvodeobj.h */
+    struct NrnThreadMembList* next;
+    Memb_list* ml;
+    int index;
+} NrnThreadMembList;
+
+typedef struct NrnThreadBAList {
+    Memb_list* ml; /* an item in the NrnThreadMembList */
+    BAMech* bam;
+    struct NrnThreadBAList* next;
+} NrnThreadBAList;
+
+typedef struct _nrn_Fast_Imem {
+    double* _nrn_sav_rhs;
+    double* _nrn_sav_d;
+} _nrn_Fast_Imem;
+
+
+/**
+ * \class NrnThread
+ * \brief Represent main neuron object computed by single thread
+ *
+ * NrnThread represent collection of cells or part of a cell computed
+ * by single thread within NEURON process.
+ */
+typedef struct NrnThread {
+    double _t;
+    double _dt;
+    double cj;
+    NrnThreadMembList* tml;
+    Memb_list** _ml_list;
+    int ncell;            /* analogous to old rootnodecount */
+    int end;              /* 1 + position of last in v_node array. Now v_node_count. */
+    int id;               /* this is nrn_threads[id] */
+    int _stop_stepping;   /* delivered an all thread HocEvent */
+    int _ecell_child_cnt; /* see _ecell_children below */
+
+    double* _actual_rhs;
+    double* _actual_d;
+    double* _actual_a;
+    double* _actual_b;
+    double* _actual_v;
+    double* _actual_area;
+    int* _v_parent_index;
+    Node** _v_node;
+    Node** _v_parent;
+    char* _sp13mat;              /* handle to general sparse matrix */
+    Memb_list* _ecell_memb_list; /* normally nil */
+    Node** _ecell_children;      /* nodes with no extcell but parent has it */
+    _nrn_Fast_Imem* _nrn_fast_imem;
+    void* _vcv; /* replaces old cvode_instance and nrn_cvode_ */
+
+#if 1
+    double _ctime; /* computation time in seconds (using nrnmpi_wtime) */
+#endif
+
+    NrnThreadBAList* tbl[BEFORE_AFTER_SIZE]; /* wasteful since almost all empty */
+    hoc_List* roots;                         /* ncell of these */
+    Object* userpart; /* the SectionList if this is a user defined partition */
+
+} NrnThread;
+
+
+extern int nrn_nthread;
+extern NrnThread* nrn_threads;
+extern void nrn_thread_error(const char*);
+extern void nrn_multithread_job(void* (*) (NrnThread*) );
+extern void nrn_onethread_job(int, void* (*) (NrnThread*) );
+extern void nrn_wait_for_threads();
+extern void nrn_thread_table_check();
+
+#define FOR_THREADS(nt) for (nt = nrn_threads; nt < nrn_threads + nrn_nthread; ++nt)
+
+// olupton 2022-01-31: could add a _NrnThread typedef here for .mod file
+//                     backwards compatibility if needed.
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/multisplit.h
@@ -0,0 +1,43 @@
+#ifndef multisplit_h
+#define multisplit_h
+
+#include <nrnmpiuse.h>
+
+#if 0 /* comment */
+
+in the classical order, knowing a node means you know the classical parent with
+v_parent[node->v_node_index]. Also the effect of the parent on the node equation
+is given by NODEB(node) and the effect of the node on the parent equation is
+NODEA(node).
+
+One major circumstance of the multisplit order is that a parent child may
+be reversed. For a single sid0, this happens on the path between the classical
+root and sid0. If a parent-child has been reversed and given a node we know
+the classical parent (presently a child) then at the node
+ClassicalB = ClassicalParentPresentA
+ClassicalA = ClassicalParentPresentB
+
+The other aspect of multisplit, both sid0 and sid1 exist, is more complex
+because of the two parent nature of the center node on the path between sid0
+and sid1. Our convention is that v_parent[centernode->v_node_index] is toward
+sid0. And the other parent is
+v_parent[c2sid1_parent_index[centernode->v_node_index - backbone_center_begin]]
+So we need to know what Classical A and B are for the center node and its
+two parents. A center node may be reversed or not with respect to its classical
+parent. One of the present parents may or may not be its classical parent.
+
+#endif /* end comment */
+
+
+#if 1 || PARANEURON
+extern double* nrn_classicalNodeA(Node* n);
+extern double* nrn_classicalNodeB(Node* n);
+#define ClassicalNODEA(n) (*nrn_classicalNodeA(n))
+#define ClassicalNODEB(n) (*nrn_classicalNodeB(n))
+#else
+#define ClassicalNODEA(n) NODEA(n)
+#define ClassicalNODEB(n) NODEB(n)
+#endif
+
+
+#endif /* multisplit_h */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/neuron.h
@@ -0,0 +1,48 @@
+#include "options.h"
+
+
+#if METHOD3
+extern int spatial_method();
+#endif
+
+#if NEMO
+extern int neuron2nemo(), nemo2neuron();
+#endif
+
+extern void node_data(), disconnect();
+extern void batch_run(), batch_save();
+extern void pt3dadd(), n3d(), x3d(), y3d(), z3d(), arc3d(), diam3d();
+extern void pt3dclear(), pt3dinsert(), pt3dremove(), pt3dchange();
+extern void define_shape(), pt3dconst(), pt3dstyle();
+extern void spine3d(), setSpineArea(), getSpineArea();
+extern void area(), ri(), distance();
+extern void initnrn(), nrnhoc_topology(), fadvance(), finitialize();
+extern void fstim(), fstimi();
+extern void ion_style(), ion_register(), ion_charge(), nernst(), ghk();
+extern void section_owner(); /* returns object that created section */
+extern void make_mechanism(), make_pointprocess();
+extern void nrnpython();
+extern void nrnunit_use_legacy();
+
+extern void fsyn(), fsyng(), fsyni();
+extern void fclamp(), fclampi(), fclampv(), prstim();
+extern void fcurrent(), fmatrix(), frecord_init();
+extern void issection(), ismembrane(), sectionname(), psection();
+extern void pop_section(), push_section(), section_exists();
+extern void delete_section();
+extern int secondorder, diam_changed, nrn_shape_changed_;
+extern int nrn_netrec_state_adjust, nrn_sparse_partrans;
+extern double clamp_resist;
+extern double celsius;
+extern int stoprun;
+extern void fit_praxis(), attr_praxis(), pval_praxis(), stop_praxis();
+#if KEEP_NSEG_PARM
+extern void keep_nseg_parm();
+#endif
+#if EXTRACELLULAR
+extern void nlayer_extracellular();
+#endif
+extern void nrnallsectionmenu(), nrnallpointmenu(), nrnsecmenu();
+extern void nrnglobalmechmenu(), nrnmechmenu(), nrnpointmenu();
+extern void this_section(), this_node(), parent_section(), parent_node();
+extern void parent_connection(), section_orientation();
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/newton_struct.h
@@ -0,0 +1,39 @@
+#pragma once
+// This header has to be both valid C and C++ because the scoplib sources are
+// compiled as C.
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* avoid incessant alloc/free memory */
+typedef struct NewtonSpace {
+	int n;
+	double* delta_x;
+	double** jacobian;
+	int* perm;
+	double* high_value;
+	double* low_value;
+	double* rowmax;
+} NewtonSpace;
+
+// Forward-declare for use in function pointer type declaration.
+typedef union Datum Datum;
+typedef struct NrnThread NrnThread;
+
+/* Memory allocation routines */
+double* makevector(int length);
+int freevector(double* vector);
+double** makematrix(int nrows, int ncols);
+int freematrix(double** matrix);
+
+int nrn_crout_thread(NewtonSpace* ns, int n, double** a, int* perm);
+void nrn_scopmath_solve_thread(int n, double** a,
+ double* b, int* perm, double* p, int* y);
+int nrn_newton_thread(NewtonSpace* ns, int n, int* index, double* x,
+ int (*pfunc)(double *, Datum *, Datum *, NrnThread *), double* value, void* ppvar, void* thread, void* nt);
+NewtonSpace* nrn_cons_newtonspace(int n);
+void nrn_destroy_newtonspace(NewtonSpace* ns);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nmodlmutex.h
@@ -0,0 +1,25 @@
+#ifndef nmodlmutex_h
+#define nmodlmutex_h
+
+#include <nrnpthread.h>
+#if USE_PTHREAD
+#include <pthread.h>
+extern pthread_mutex_t* _nmodlmutex;
+#define _NMODLMUTEXLOCK                      \
+    {                                        \
+        if (_nmodlmutex) {                   \
+            pthread_mutex_lock(_nmodlmutex); \
+        }                                    \
+    }
+#define _NMODLMUTEXUNLOCK                      \
+    {                                          \
+        if (_nmodlmutex) {                     \
+            pthread_mutex_unlock(_nmodlmutex); \
+        }                                      \
+    }
+#else
+#define _NMODLMUTEXLOCK   /**/
+#define _NMODLMUTEXUNLOCK /**/
+#endif
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrn_ansi.h
@@ -0,0 +1,172 @@
+#ifndef nrn_ansi_h
+#define nrn_ansi_h
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+// nocpout.cpp
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void hoc_register_dparam_semantics(int, int, const char*);
+extern void add_nrn_fornetcons(int, int);
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+
+extern void oc_save_cabcode(int* a1, int* a2);
+extern void oc_restore_cabcode(int* a1, int* a2);
+
+extern void modl_reg(void);
+
+// nrnmech stuff
+extern void _nrn_free_fornetcon(void**);
+extern double nrn_call_mech_func(Symbol*, int narg, Prop*, int type);
+extern Prop* nrn_mechanism(int type, Node*);
+
+// mod stuff
+extern void _nrn_free_watch(Datum*, int, int);
+extern void _nrn_watch_activate(Datum*,
+                                double (*)(Point_process*),
+                                int,
+                                Point_process*,
+                                int,
+                                double);
+extern void _nrn_watch_allocate(Datum*,
+                                double (*)(Point_process*),
+                                int,
+                                Point_process*,
+                                double nrflag);
+extern void hoc_reg_ba(int, nrn_bamech_t, int);
+extern int nrn_pointing(double*);
+
+extern void nrn_pushsec(Section*);
+extern void nrn_popsec(void);
+extern Section* chk_access(void);
+
+extern Node* node_exact(Section*, double);
+
+#if defined(__cplusplus)
+}
+#endif
+
+extern int state_discon_allowed_;
+extern int section_object_seen;
+
+extern int nrn_isecstack(void);
+extern void nrn_secstack(int);
+extern void new_sections(Object* ob, Symbol* sym, hoc_Item** pitm, int size);
+extern void cable_prop_assign(Symbol* sym, double* pd, int op);
+extern void nrn_parent_info(Section* s);
+extern void nrn_relocate_old_points(Section* oldsec, Node* oldnode, Section* sec, Node* node);
+extern int nrn_at_beginning(Section* sec);
+extern void nrn_node_destruct1(Node*);
+extern void mech_insert1(Section*, int);
+extern void extcell_2d_alloc(Section* sec);
+extern int nrn_is_ion(int);
+extern void single_prop_free(Prop*);
+extern void prop_free(Prop**);
+extern int can_change_morph(Section*);
+extern void nrn_area_ri(Section* sec);
+extern void nrn_diam_change(Section*);
+extern void sec_free(hoc_Item*);
+extern int node_index(Section* sec, double x);
+extern void extcell_node_create(Node*);
+extern void extnode_free_elements(Extnode*);
+extern const char* sec_and_position(Section* sec, Node* nd);
+extern void section_order(void);
+extern Section* nrn_sec_pop(void);
+extern Node* node_ptr(Section* sec, double x, double* parea);
+extern double* nrn_vext_pd(Symbol* s, int indx, Node* nd);
+extern double* nrnpy_dprop(Symbol* s, int indx, Section* sec, short inode, int* err);
+extern void nrn_disconnect(Section*);
+extern void mech_uninsert1(Section* sec, Symbol* s);
+extern Object* nrn_sec2cell(Section*);
+extern int nrn_sec2cell_equals(Section*, Object*);
+extern double* dprop(Symbol* s, int indx, Section* sec, short inode);
+extern void nrn_initcode();
+extern int segment_limits(double*);
+extern void second_order_cur(NrnThread*);
+extern void hoc_register_dparam_size(int, int);
+extern void setup_topology(void);
+extern int nrn_errno_check(int);
+extern void long_difus_solve(int method, NrnThread* nt);
+extern void nrn_fihexec(int);
+extern int special_pnt_call(Object*, Symbol*, int);
+extern void ob_sec_access_push(hoc_Item*);
+extern void nrn_mk_prop_pools(int);
+extern void SectionList_reg(void);
+extern void SectionRef_reg(void);
+
+extern void hoc_symbol_tolerance(Symbol*, double);
+extern void node_destruct(Node**, int);
+extern void nrn_sec_ref(Section**, Section*);
+extern void hoc_level_pushsec(Section*);
+extern double nrn_ra(Section*);
+extern int node_index_exact(Section*, double);
+extern void nrn_cachevec(int);
+extern void nrn_ba(NrnThread*, int);
+extern void nrniv_recalc_ptrs(void);
+extern void nrn_recalc_ptrvector(void);
+extern void nrn_recalc_ptrs(double* (*r)(double*) );
+extern void nrn_rhs_ext(NrnThread*);
+extern void nrn_setup_ext(NrnThread*);
+extern void nrn_cap_jacob(NrnThread*, Memb_list*);
+extern void clear_point_process_struct(Prop* p);
+extern void ext_con_coef(void);
+extern void nrn_multisplit_ptr_update(void);
+extern void nrn_cache_prop_realloc();
+extern void nrn_use_daspk(int);
+extern void nrn_update_ps2nt(void);
+
+
+extern void activstim_rhs(void);
+extern void activclamp_rhs(void);
+extern void activclamp_lhs(void);
+extern void activsynapse_rhs(void);
+extern void activsynapse_lhs(void);
+extern void stim_prepare(void);
+extern void clamp_prepare(void);
+extern void synapse_prepare(void);
+
+extern void v_setup_vectors(void);
+extern void section_ref(Section*);
+extern void section_unref(Section*);
+extern const char* secname(Section*);
+extern const char* nrn_sec2pysecname(Section*);
+extern void nrn_rangeconst(Section*, Symbol*, double* value, int op);
+extern int nrn_exists(Symbol*, Node*);
+extern double* nrn_rangepointer(Section*, Symbol*, double x);
+extern double* cable_prop_eval_pointer(Symbol*);  // section on stack will be popped
+extern char* hoc_section_pathname(Section*);
+extern double nrn_arc_position(Section*, Node*);
+extern double node_dist(Section*, Node*);  // distance of node to parent position
+extern double nrn_section_orientation(Section*);
+extern double nrn_connection_position(Section*);
+extern Section* nrn_trueparent(Section*);
+extern double topol_distance(Section*, Node*, Section*, Node*, Section**, Node**);
+extern int arc0at0(Section*);
+extern void nrn_clear_mark(void);
+extern short nrn_increment_mark(Section*);
+extern short nrn_value_mark(Section*);
+extern int is_point_process(Object*);
+extern int nrn_vartype(Symbol*);  // nrnocCONST, DEP, STATE
+extern void recalc_diam(void);
+extern Prop* nrn_mechanism_check(int type, Section* sec, int inode);
+extern int nrn_use_fast_imem;
+extern void nrn_fast_imem_alloc();
+extern void nrn_calc_fast_imem(NrnThread*);
+extern Section* nrn_secarg(int iarg);
+extern void nrn_seg_or_x_arg(int iarg, Section** psec, double* px);
+extern void nrn_seg_or_x_arg2(int iarg, Section** psec, double* px);
+extern Section* nrnpy_pysecname2sec(const char*);
+extern const char* nrnpy_sec2pysecname(Section* sec);
+extern void nrnpy_pysecname2sec_add(Section* sec);
+extern void nrnpy_pysecname2sec_remove(Section* sec);
+extern void nrn_verify_ion_charge_defined();
+
+extern void nrn_pt3dclear(Section*, int);
+extern void nrn_length_change(Section*, double);
+extern void stor_pt3d(Section*, double x, double y, double z, double d);
+extern int nrn_netrec_state_adjust;
+extern int nrn_sparse_partrans;
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnapi.h
@@ -0,0 +1,6 @@
+#ifndef nrnapi_h
+#define nrnapi_h
+
+#define NRNAPI 2
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnassrt.h
@@ -0,0 +1,65 @@
+#ifndef nrnassrt_h
+#define nrnassrt_h
+
+/* nrn_assert is not deactivated by -DNDEBUG. Use when the assert expression
+has side effects which need to be executed regardles of NDEBUG.
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#if defined(hocassrt_h) /* hoc_execerror form */
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern void hoc_execerror(const char*, const char*);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#if defined(__STDC__)
+#define nrn_assert(ex)                                                                   \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            hoc_execerror(#ex, (char*) 0);                                               \
+        }                                                                                \
+    }
+#else
+#define nrn_assert(ex)                                                                   \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            hoc_execerror("ex", (char*) 0);                                              \
+        }                                                                                \
+    }
+#endif
+
+#else /* abort form */
+
+#if defined(__STDC__)
+#define nrn_assert(ex)                                                                   \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            abort();                                                                     \
+        }                                                                                \
+    }
+#else
+#define nrn_assert(ex)                                                                   \
+    {                                                                                    \
+        if (!(ex)) {                                                                     \
+            fprintf(stderr, "Assertion failed: file %s, line %d\n", __FILE__, __LINE__); \
+            abort();                                                                     \
+        }                                                                                \
+    }
+#endif
+
+#endif
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnconf.h
@@ -0,0 +1,392 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+
+#ifndef H_nrnconf_included
+#define H_nrnconf_included 1
+
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* if mac os x */
+/* #undef DARWIN */
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the `bcopy' function. */
+#define HAVE_BCOPY 1
+
+/* Define to 1 if you have the `bzero' function. */
+#define HAVE_BZERO 1
+
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H TRUE
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+#define HAVE_EXECINFO_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
+/* Define to 1 if you have the `fesetround' function. */
+#define HAVE_FESETROUND 1
+
+/* Define to 1 if you have the `feenableexcept' function. */
+#define HAVE_FEENABLEEXCEPT 1
+
+/* Define to 1 if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define to 1 if you have the `ftime' function. */
+#define HAVE_FTIME 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `gethostname' function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define to 1 if you have the `getpw' function. */
+#define HAVE_GETPW 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `index' function. */
+#define HAVE_INDEX 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* define if using InterViews */
+#define HAVE_IV 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if you have the `lockf' function. */
+#define HAVE_LOCKF 1
+
+/* Define to 1 if you have the `mallinfo' function. */
+#define HAVE_MALLINFO 1
+
+/* Define to 1 if you have the `mallinfo2' function. */
+#define HAVE_MALLINFO2 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define to 1 if you have the <math.h> header file. */
+#define HAVE_MATH_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkdir' function. */
+#define HAVE_MKDIR 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* define if the compiler implements namespaces */
+#define HAVE_NAMESPACES /**/
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the `posix_memalign' function. */
+#define HAVE_POSIX_MEMALIGN 1
+
+/* Define if you have POSIX threads libraries and header files. */
+/* #undef HAVE_PTHREAD */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if you have the `putenv' function. */
+#define HAVE_PUTENV 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `select' function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setitimer' function. */
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if you have the <sgtty.h> header file. */
+#define HAVE_SGTTY_H 1
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGBUS 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGSEGV 1
+
+/* define if the compiler has stringstream */
+#define HAVE_SSTREAM /**/
+
+/* Define to 1 if you have the <stdarg.h> header file. */
+#define HAVE_STDARG_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the <stream.h> header file. */
+/* #undef HAVE_STREAM_H */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `stty' function. */
+/* #undef HAVE_STTY */
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+/* #undef HAVE_SYS_CONF_H */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+#define HAVE_TERMIO_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <varargs.h> header file. */
+/* #undef HAVE_VARARGS_H */
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Define to 1 if you have the <_G_config.h> header file. */
+/* #undef HAVE__G_CONFIG_H */
+
+/* define if can declare inline float abs(float) */
+/* #undef INLINE_FLOAT_ABS */
+
+/* define if can declare inline long abs(long) */
+/* #undef INLINE_LONG_ABS */
+
+/* undefined or ::fabs or std::fabs */
+#define IVOS_FABS ::fabs
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
+
+/* 1 for legacy, undef for NIST (as of 2017), for FARADAY and R */
+/* #undef LegacyFR */
+
+/* define if using mingw */
+/* #undef MINGW */
+
+/* define if using Mike Neubig <neubig at salk.edu> contributions */
+/* #undef MikeNeubig */
+
+/* where the lib hoc is */
+#define NEURON_DATA_DIR "/usr/share/nrn"
+
+/* host triplet */
+#define NRNHOST "loongarch64-Linux"
+
+/* cpu type consistent with nrnivmodl */
+#define NRNHOSTCPU "loongarch64"
+
+/* if 1 then dlopen nrnmech instead of special */
+#define NRNMECH_DLL_STYLE 1
+
+/* if 1 then dynamic units default is legacy units */
+/* #undef DYNAMIC_UNITS_USE_LEGACY_DEFAULT */
+
+/* if nrnoc can use X11 */
+#define NRNOC_X11 1
+
+/* location of NEURON libraries */
+#define NRN_LIBDIR "/usr/lib"
+
+/* Name of package */
+#define PACKAGE "nrn"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+/* #undef PACKAGE_NAME */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "nrn 8.2.2"
+
+/* Define to the one symbol short name of this package. */
+/* #undef PACKAGE_TARNAME */
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "8.2.2"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* define if RETSIGTYPE(*)(int) is not the prototype for a signal handler */
+/* #undef SIGNAL_CAST */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define SUNDIALS data type 'realtype' as 'long double' */
+#define SUNDIALS_DOUBLE_PRECISION 1
+
+/* Use generic math functions */
+#define SUNDIALS_USE_GENERIC_MATH 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Version number of package */
+#define VERSION "8.2.2"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#define YYTEXT_POINTER 1
+
+/* define if using Carbon libraries */
+/* #undef carbon */
+
+/* Define to the type of a signed integer type of width exactly 64 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef int64_t */
+
+/* Define to `long int' if <sys/types.h> does not define. */
+/* #undef off_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+
+#if defined(__cplusplus)
+#include <ivstream.h>
+#endif
+
+#ifdef MINGW
+#define WIN32 1
+#endif
+
+
+#if defined(carbon) && defined(__cplusplus)
+#define MAC 1
+#include <Carbon/Carbon.h>
+#endif
+
+#endif /* H_nrnconf_included */
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrncvode.h
@@ -0,0 +1,30 @@
+#pragma once
+#ifdef __cplusplus
+extern "C" {
+#endif
+void clear_event_queue(void);
+void cvode_fadvance(double);
+void nrn_random_play();
+#ifdef __cplusplus
+}
+extern bool nrn_use_bin_queue_;
+#endif
+struct Memb_list;
+struct NrnThread;
+extern void cvode_finitialize(double);
+extern void nrncvode_set_t(double);
+extern void deliver_net_events(struct NrnThread*);
+extern void nrn_deliver_events(struct NrnThread*);
+extern void init_net_events(void);
+extern void nrn_record_init(void);
+extern void nrn_play_init(void);
+extern void fixed_record_continuous(struct NrnThread* nt);
+extern void fixed_play_continuous(struct NrnThread* nt);
+extern void nrn_solver_prepare(void);
+extern void nrn_daspk_init_step(double, double, int);
+extern void nrndae_init(void);
+extern void nrndae_update(void);
+extern void nrn_update_2d(struct NrnThread*);
+extern void nrn_capacity_current(struct NrnThread* _nt, struct Memb_list* ml);
+extern void nrn_spike_exchange_init(void);
+extern void nrn_spike_exchange(struct NrnThread* nt);
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrncvode/nrnneosm.h
@@ -0,0 +1,6 @@
+/* define to 1 if allowing NEOSIM */
+/* #undef USENEOSIM */
+/* define to 1 if allowing NCS */
+/* #undef USENCS */
+/* define to 1 (default) if Observer is a base class of DiscreteEvent */
+#define DISCRETE_EVENT_OBSERVER 1
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnisaac.h
@@ -0,0 +1,17 @@
+#ifndef nrnisaac_h
+#define nrnisaac_h
+
+#include <../../nrnconf.h>
+#if defined(HAVE_STDINT_H)
+#include <stdint.h>
+#endif
+
+
+void* nrnisaac_new(void);
+void nrnisaac_delete(void* rng);
+void nrnisaac_init(void* rng, unsigned long int seed);
+double nrnisaac_dbl_pick(void* rng);
+uint32_t nrnisaac_uint32_pick(void* rng);
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrniv_mf.h
@@ -0,0 +1,154 @@
+#ifndef nrniv_mf_h
+#define nrniv_mf_h
+
+#include "membfunc.h"
+#include <hoc_membf.h>
+
+struct NrnThread;
+typedef struct SparseObj SparseObj;
+union Datum;
+
+typedef double (*ldifusfunc3_t)(int, double*, Datum*, double*, double*, Datum*, NrnThread*);
+typedef void ldifusfunc2_t(int, ldifusfunc3_t, void**, int, int, int, NrnThread*);
+typedef void (*ldifusfunc_t)(ldifusfunc2_t, NrnThread*);
+typedef void (*pnt_receive_t)(Point_process*, double*, double);
+typedef void (*pnt_receive_init_t)(Point_process*, double*, double);
+
+extern Prop* need_memb_cl(Symbol*, int*, int*);
+extern Prop* prop_alloc(Prop**, int, Node*);
+
+extern double nrn_ion_charge(Symbol*);
+#if defined(__cplusplus)
+extern "C" {
+#endif
+extern Point_process* ob2pntproc(Object*);
+extern Point_process* ob2pntproc_0(Object*);
+extern double* _getelm(int, int);
+extern double* _nrn_thread_getelm(SparseObj*, int, int);
+extern int sparse(void**, int, int*, int*, double*, double*, double, int (*)(), double**, int);
+extern int sparse_thread(void**,
+                         int,
+                         int*,
+                         int*,
+                         double*,
+                         double*,
+                         double,
+                         int (*)(void*, double*, double*, Datum*, Datum*, NrnThread*),
+                         int,
+                         Datum*,
+                         Datum*,
+                         NrnThread*);
+extern int _ss_sparse(void**, int, int*, int*, double*, double*, double, int (*)(), double**, int);
+extern int _ss_sparse_thread(void**,
+                             int,
+                             int*,
+                             int*,
+                             double*,
+                             double*,
+                             double,
+                             int (*)(void*, double*, double*, Datum*, Datum*, NrnThread*),
+                             int,
+                             void*,
+                             void*,
+                             void*);
+extern int _cvode_sparse(void**, int, int*, double*, int (*)(), double**);
+extern int _cvode_sparse_thread(void**,
+                                int,
+                                int*,
+                                double*,
+                                int (*)(void*, double*, double*, Datum*, Datum*, NrnThread*),
+                                void*,
+                                void*,
+                                void*);
+extern int _nrn_destroy_sparseobj_thread(void*);
+extern int derivimplicit(int, int, int*, int*, double*, double*, double, int (*)(), double**);
+extern int derivimplicit_thread(int,
+                                int*,
+                                int*,
+                                double*,
+                                int (*)(double*, union Datum*, union Datum*, struct NrnThread*),
+                                void*,
+                                void*,
+                                void*);
+extern int _ss_derivimplicit(int, int, int*, int*, double*, double*, double, int (*)(), double**);
+extern int _ss_derivimplicit_thread(int,
+                                    int*,
+                                    int*,
+                                    double*,
+                                    int (*)(double*, union Datum*, union Datum*, struct NrnThread*),
+                                    void*,
+                                    void*,
+                                    void*);
+
+extern int euler_thread(int,
+                        int*,
+                        int*,
+                        double*,
+                        int (*)(double*, union Datum*, union Datum*, struct NrnThread*),
+                        union Datum*,
+                        union Datum*,
+                        struct NrnThread*);
+
+extern void register_mech(const char**, Pvmp, Pvmi, Pvmi, Pvmi, Pvmi, int, int);
+extern int point_register_mech(const char**,
+                               Pvmp,
+                               Pvmi,
+                               Pvmi,
+                               Pvmi,
+                               Pvmi,
+                               int,
+                               int,
+                               void* (*) (Object*),
+                               void (*)(void*),
+                               Member_func*);
+extern int nrn_get_mechtype(const char*);
+extern void nrn_writes_conc(int, int);
+extern void add_nrn_has_net_event(int);
+extern void hoc_register_cvode(int, nrn_ode_count_t, nrn_ode_map_t, Pvmi, Pvmi);
+extern void hoc_register_synonym(int, void (*)(int, double**, Datum**));
+extern void register_destructor(Pvmp);
+extern void ion_reg(const char*, double);
+extern void nrn_promote(Prop*, int, int);
+extern void add_nrn_artcell(int, int);
+extern void hoc_register_ldifus1(ldifusfunc_t);
+extern void nrn_check_conc_write(Prop*, Prop*, int);
+extern void nrn_wrote_conc(Symbol*, double*, int);
+extern void nrn_update_ion_pointer(Symbol*, Datum*, int, int);
+
+extern Prop* need_memb(Symbol*);
+
+extern void* create_point_process(int, Object*);
+extern void destroy_point_process(void*);
+extern double has_loc_point(void*);
+extern double get_loc_point_process(void*);
+extern double loc_point_process(int, void*);
+extern Prop* nrn_point_prop_;
+
+extern int at_time(NrnThread*, double);
+
+extern void artcell_net_send(void**, double*, Point_process*, double, double);
+extern void artcell_net_move(void**, Point_process*, double);
+
+extern int ifarg(int);
+
+extern void nrn_complain(double*);
+
+extern void set_seed(double);
+extern int v_structure_change;
+
+// nrnmech stuff
+extern pnt_receive_t* pnt_receive;
+extern pnt_receive_init_t* pnt_receive_init;
+extern short* pnt_receive_size;
+extern void nrn_net_send(void**, double*, Point_process*, double, double);
+extern void nrn_net_event(Point_process*, double);
+extern void nrn_net_move(void**, Point_process*, double);
+
+typedef void (*NrnWatchAllocateFunc_t)(Datum*);
+extern NrnWatchAllocateFunc_t* nrn_watch_allocate_;
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* nrniv_mf_h */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnmpi.h
@@ -0,0 +1,32 @@
+#ifndef nrnmpi_h
+#define nrnmpi_h
+#include "nrnmpiuse.h"
+
+/* by default nrnmpi_numprocs_world = nrnmpi_numprocs = nrnmpi_numsubworlds and
+   nrnmpi_myid_world = nrnmpi_myid and the bulletin board and network communication do
+   not easily coexist. ParallelContext.subworlds(nsmall) divides the world into
+   nrnmpi_numprocs_world/small subworlds of size nsmall.
+*/
+extern int nrnmpi_numprocs_world; /* size of entire world. total size of all subworlds */
+extern int nrnmpi_myid_world;     /* rank in entire world */
+extern int nrnmpi_numprocs;       /* size of subworld */
+extern int nrnmpi_myid;           /* rank in subworld */
+extern int nrnmpi_numprocs_bbs;   /* number of subworlds */
+extern int nrnmpi_myid_bbs;       /* rank in nrn_bbs_comm of rank 0 of a subworld */
+
+typedef struct {
+    int gid;
+    double spiketime;
+} NRNMPI_Spike;
+
+#if NRNMPI
+
+
+extern int nrnmpi_use;                     /* NEURON does MPI init and terminate?*/
+extern int nrn_cannot_use_threads_and_mpi; /* 0 if required <= provided from MPI_Init_thread */
+
+
+#include "nrnmpidec.h"
+
+#endif /*NRNMPI*/
+#endif /*nrnmpi_h*/
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnmpidec.h
@@ -0,0 +1,128 @@
+/*
+This file is processed by mkdynam.sh and so it is important that
+the prototypes be of the form "type foo(type arg, ...)"
+*/
+
+#ifndef nrnmpidec_h
+#define nrnmpidec_h
+#include <nrnmpiuse.h>
+#if defined(HAVE_STDINT_H)
+#include <stdint.h>
+#endif
+typedef long double longdbl;
+#if NRNMPI
+#include <stdlib.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* from bbsmpipack.cpp */
+typedef struct bbsmpibuf {
+    char* buf;
+    int size;
+    int pkposition;
+    int upkpos;
+    int keypos;
+    int refcount;
+} bbsmpibuf;
+
+// clang-format off
+extern bbsmpibuf* nrnmpi_newbuf(int size);
+extern void nrnmpi_copy(bbsmpibuf* dest, bbsmpibuf* src);
+extern void nrnmpi_ref(bbsmpibuf* buf);
+extern void nrnmpi_unref(bbsmpibuf* buf);
+
+extern void nrnmpi_upkbegin(bbsmpibuf* buf);
+extern char* nrnmpi_getkey(bbsmpibuf* buf);
+extern int nrnmpi_getid(bbsmpibuf* buf);
+extern int nrnmpi_upkint(bbsmpibuf* buf);
+extern double nrnmpi_upkdouble(bbsmpibuf* buf);
+extern void nrnmpi_upkvec(int n, double* x, bbsmpibuf* buf);
+extern char* nrnmpi_upkstr(bbsmpibuf* buf);
+extern char* nrnmpi_upkpickle(size_t* size, bbsmpibuf* buf);
+
+extern void nrnmpi_pkbegin(bbsmpibuf* buf);
+extern void nrnmpi_enddata(bbsmpibuf* buf);
+extern void nrnmpi_pkint(int i, bbsmpibuf* buf);
+extern void nrnmpi_pkdouble(double x, bbsmpibuf* buf);
+extern void nrnmpi_pkvec(int n, double* x, bbsmpibuf* buf);
+extern void nrnmpi_pkstr(const char* s, bbsmpibuf* buf);
+extern void nrnmpi_pkpickle(const char* s, size_t size, bbsmpibuf* buf);
+
+extern int nrnmpi_iprobe(int* size, int* tag, int* source);
+extern void nrnmpi_probe(int* size, int* tag, int* source);
+extern void nrnmpi_bbssend(int dest, int tag, bbsmpibuf* r);
+extern int nrnmpi_bbsrecv(int source, bbsmpibuf* r);
+extern int nrnmpi_bbssendrecv(int dest, int tag, bbsmpibuf* s, bbsmpibuf* r);
+
+/* from nrnmpi.cpp */
+extern void nrnmpi_init(int nrnmpi_under_nrncontrol, int* pargc, char*** pargv);
+extern int nrnmpi_wrap_mpi_init(int* flag);
+extern double nrnmpi_wtime();
+extern void nrnmpi_terminate();
+extern void nrnmpi_abort(int errcode);
+extern void nrnmpi_subworld_size(int n);
+
+
+/* from mpispike.cpp */
+extern void nrnmpi_spike_initialize();
+extern int nrnmpi_spike_exchange();
+extern int nrnmpi_spike_exchange_compressed();
+extern double nrnmpi_mindelay(double maxdel);
+extern int nrnmpi_int_allmax(int i);
+extern void nrnmpi_int_gather(int* s, int* r, int cnt, int root);
+extern void nrnmpi_int_gatherv(int* s, int scnt, int* r, int* rcnt, int* rdispl, int root);
+extern void nrnmpi_char_gatherv(char* s, int scnt, char* r, int* rcnt, int* rdispl, int root);
+extern void nrnmpi_int_scatter(int* s, int* r, int cnt, int root);
+extern void nrnmpi_char_scatterv(char* s, int* scnt, int* sdispl, char* r, int rcnt, int root);
+extern void nrnmpi_int_allgather(int* s, int* r, int n);
+extern void nrnmpi_int_allgather_inplace(int* srcdest, int n);
+extern void nrnmpi_int_allgatherv_inplace(int* srcdest, int* n, int* dspl);
+extern void nrnmpi_int_allgatherv(int* s, int* r, int* n, int* dspl);
+extern void nrnmpi_char_allgatherv(char* s, char* r, int* n, int* dspl);
+extern void nrnmpi_int_alltoall(int* s, int* r, int n);
+extern void nrnmpi_int_alltoallv(int* s, int* scnt, int* sdispl, int* r, int* rcnt, int* rdispl);
+extern void nrnmpi_int_alltoallv_sparse(int* s, int* scnt, int* sdispl, int* r, int* rcnt, int* rdispl);
+extern void nrnmpi_long_allgatherv(int64_t* s, int64_t* r, int* n, int* dspl);
+extern void nrnmpi_long_allgatherv_inplace(long* srcdest, int* n, int* dspl);
+extern void nrnmpi_long_alltoallv(int64_t* s, int* scnt, int* sdispl, int64_t* r, int* rcnt, int* rdispl);
+extern void nrnmpi_long_alltoallv_sparse(int64_t* s, int* scnt, int* sdispl, int64_t* r, int* rcnt, int* rdispl);
+extern void nrnmpi_dbl_allgatherv(double* s, double* r, int* n, int* dspl);
+extern void nrnmpi_dbl_allgatherv_inplace(double* srcdest, int* n, int* dspl);
+extern void nrnmpi_dbl_alltoallv(double* s, int* scnt, int* sdispl, double* r, int* rcnt, int* rdispl);
+extern void nrnmpi_dbl_alltoallv_sparse(double* s, int* scnt, int* sdispl, double* r, int* rcnt, int* rdispl);
+extern void nrnmpi_char_alltoallv(char* s, int* scnt, int* sdispl, char* r, int* rcnt, int* rdispl);
+extern void nrnmpi_dbl_broadcast(double* buf, int cnt, int root);
+extern void nrnmpi_int_broadcast(int* buf, int cnt, int root);
+extern void nrnmpi_char_broadcast(char* buf, int cnt, int root);
+extern void nrnmpi_char_broadcast_world(char** pstr, int root);
+extern int nrnmpi_int_sum_reduce(int in);
+extern void nrnmpi_assert_opstep(int opstep, double t);
+extern double nrnmpi_dbl_allmin(double x);
+extern int nrnmpi_pgvts_least(double* t, int* op, int* init);
+extern void nrnmpi_send_doubles(double* pd, int cnt, int dest, int tag);
+extern void nrnmpi_recv_doubles(double* pd, int cnt, int src, int tag);
+extern void nrnmpi_postrecv_doubles(double* pd, int cnt, int src, int tag, void** request);
+extern void nrnmpi_wait(void** request);
+extern void nrnmpi_barrier();
+extern double nrnmpi_dbl_allreduce(double x, int type);
+
+extern void nrnmpi_dbl_allreduce_vec(double* src, double* dest, int cnt, int type);
+extern void nrnmpi_longdbl_allreduce_vec(longdbl* src, longdbl* dest, int cnt, int type);
+extern void nrnmpi_long_allreduce_vec(long* src, long* dest, int cnt, int type);
+
+extern void nrnmpi_dbl_allgather(double* s, double* r, int n);
+#if BGPDMA
+extern void nrnmpi_bgp_comm();
+extern void nrnmpi_bgp_multisend(NRNMPI_Spike* spk, int n, int* hosts);
+extern int nrnmpi_bgp_single_advance(NRNMPI_Spike* spk);
+extern int nrnmpi_bgp_conserve(int nsend, int nrecv);
+#endif
+// clang-format on
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnmpiuse.h
@@ -0,0 +1,31 @@
+#ifndef usenrnmpi_h
+#define usenrnmpi_h
+
+/* define to 1 if you want MPI specific features activated */
+#define NRNMPI 1
+
+/* define to 1 if you want parallel distributed cells (and gap junctions) */
+#define PARANEURON 1
+
+/* define to 1 if you want mpi dynamically loaded instead of linked normally */
+/* #undef NRNMPI_DYNAMICLOAD */
+
+/* define to 1 if you want the MUSIC - MUlti SImulation Coordinator */
+/* #undef NRN_MUSIC */
+
+/* define to the dll path if you want to load automatically */
+#define DLL_DEFAULT_FNAME "loongarch64/.libs/libnrnmech.so"
+
+/* define if needed */
+/* #undef ALWAYS_CALL_MPI_INIT */
+
+/* Number of times to retry a failed open */
+/* #undef FILE_OPEN_RETRY */
+
+/* Define bits for BGPDMA & 1 (ISend) & 2 (DMA spike transfer) & 4 (DMA Record Replay */
+#define BGPDMA 1
+
+/* Define to 1 for possibility of rank 0 xopen/ropen a file and broadcast everywhere */
+/* #undef USE_NRNFILEWRAP */
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnoc_ml.h
@@ -0,0 +1,21 @@
+#ifndef nrnoc_ml_h
+#define nrnoc_ml_h
+
+typedef struct Memb_list {
+    Node** nodelist;
+#if CACHEVEC != 0
+    /* nodeindices contains all nodes this extension is responsible for,
+     * ordered according to the matrix. This allows to access the matrix
+     * directly via the nrn_actual_* arrays instead of accessing it in the
+     * order of insertion and via the node-structure, making it more
+     * cache-efficient */
+    int* nodeindices;
+#endif /* CACHEVEC */
+    double** data;
+    Datum** pdata;
+    Prop** prop;
+    Datum* _thread; /* thread specific data (when static is no good) */
+    int nodecount;
+} Memb_list;
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnpthread.h
@@ -0,0 +1,7 @@
+#ifndef nrnpthread_h
+#define nrnpthread_h
+
+/* Configure with use_pthread=no if pthread.h exists but you do not want to use it */
+#define USE_PTHREAD 1
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnpy_hoc.h
@@ -0,0 +1,47 @@
+#include "nrnpython.h"
+
+static PyType_Slot nrnpy_HocObjectType_slots[] = {
+    {Py_tp_dealloc, (void*) hocobj_dealloc},
+    {Py_tp_repr, (void*) hocobj_repr},
+    {Py_tp_hash, (void*) hocobj_hash},
+    {Py_tp_call, (void*) hocobj_call},
+    {Py_tp_getattro, (void*) hocobj_getattro},
+    {Py_tp_setattro, (void*) hocobj_setattro},
+    {Py_tp_richcompare, (void*) hocobj_richcmp},
+    {Py_tp_iter, (void*) &hocobj_iter},
+    {Py_tp_iternext, (void*) &hocobj_iternext},
+    {Py_tp_methods, (void*) hocobj_methods},
+    {Py_tp_init, (void*) hocobj_init},
+    {Py_tp_new, (void*) hocobj_new},
+    {Py_tp_doc, (void*) hocobj_docstring},
+    {Py_nb_bool, (void*) hocobj_nonzero},
+    {Py_sq_length, (void*) hocobj_len},
+    {Py_sq_item, (void*) hocobj_getitem},
+    {Py_sq_ass_item, (void*) hocobj_setitem},
+    {Py_nb_add, (PyObject*) py_hocobj_add},
+    {Py_nb_subtract, (PyObject*) py_hocobj_sub},
+    {Py_nb_multiply, (PyObject*) py_hocobj_mul},
+    {Py_nb_negative, (PyObject*) py_hocobj_uneg},
+    {Py_nb_positive, (PyObject*) py_hocobj_upos},
+    {Py_nb_absolute, (PyObject*) py_hocobj_uabs},
+    {Py_nb_true_divide, (PyObject*) py_hocobj_div},
+    {0, 0},
+};
+static PyType_Spec nrnpy_HocObjectType_spec = {
+    "hoc.HocObject",
+    sizeof(PyHocObject),
+    0,
+    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
+    nrnpy_HocObjectType_slots,
+};
+
+
+static struct PyModuleDef hocmodule = {PyModuleDef_HEAD_INIT,
+                                       "hoc",
+                                       "HOC interaction with Python",
+                                       -1,
+                                       HocMethods,
+                                       NULL,
+                                       NULL,
+                                       NULL,
+                                       NULL};
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnran123.h
@@ -0,0 +1,71 @@
+#ifndef nrnran123_h
+#define nrnran123_h
+
+/* interface to Random123 */
+/* http://www.thesalmons.org/john/random123/papers/random123sc11.pdf */
+
+/*
+The 4x32 generators utilize a uint32x4 counter and uint32x4 key to transform
+into an almost cryptographic quality uint32x4 random result.
+There are many possibilites for balancing the sharing of the internal
+state instances while reserving a uint32 counter for the stream sequence
+and reserving other portions of the counter vector for stream identifiers
+and global index used by all streams.
+
+We currently provide a single instance by default in which the policy is
+to use the 0th counter uint32 as the stream sequence, words 2, 3 and 4 as the
+stream identifier, and word 0 of the key as the global index. Unused words
+are constant uint32 0.
+
+It is also possible to use Random123 directly without reference to this
+interface. See Random123-1.02/docs/html/index.html
+of the full distribution available from
+http://www.deshawresearch.com/resources_random123.html
+*/
+
+#include <inttypes.h>
+
+
+typedef struct nrnran123_State nrnran123_State;
+
+typedef struct nrnran123_array4x32 {
+    uint32_t v[4];
+} nrnran123_array4x32;
+
+/* global index. eg. run number */
+/* all generator instances share this global index */
+extern void nrnran123_set_globalindex(uint32_t gix);
+extern uint32_t nrnran123_get_globalindex();
+
+/* minimal data stream */
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern nrnran123_State* nrnran123_newstream(uint32_t id1, uint32_t id2);
+extern nrnran123_State* nrnran123_newstream3(uint32_t id1, uint32_t id2, uint32_t id3);
+extern void nrnran123_deletestream(nrnran123_State*);
+extern void nrnran123_getseq(nrnran123_State*, uint32_t* seq, char* which);
+extern void nrnran123_setseq(nrnran123_State*, uint32_t seq, char which);
+extern void nrnran123_getids(nrnran123_State*, uint32_t* id1, uint32_t* id2);
+extern void nrnran123_getids3(nrnran123_State*, uint32_t* id1, uint32_t* id2, uint32_t* id3);
+
+extern double nrnran123_negexp(nrnran123_State*);  /* mean 1.0 */
+extern uint32_t nrnran123_ipick(nrnran123_State*); /* uniform 0 to 2^32-1 */
+extern double nrnran123_dblpick(nrnran123_State*); /* uniform open interval (0,1)*/
+/* nrnran123_dblpick minimum value is 2.3283064e-10 and max value is 1-min */
+
+/* nrnran123_negexp min value is 2.3283064e-10, max is 22.18071 */
+extern double nrnran123_normal(nrnran123_State*); /* mean 0.0, std 1.0 */
+
+#if defined(__cplusplus)
+}
+#endif
+
+/* more fundamental (stateless) (though the global index is still used) */
+extern nrnran123_array4x32 nrnran123_iran(uint32_t seq, uint32_t id1, uint32_t id2);
+extern nrnran123_array4x32 nrnran123_iran3(uint32_t seq, uint32_t id1, uint32_t id2, uint32_t id3);
+extern double nrnran123_uint2dbl(uint32_t);
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnrandom.h
@@ -0,0 +1,31 @@
+#pragma once
+#ifdef __cplusplus
+#error "This version of nrnrandom.h should never be compiled as C++."
+#endif
+#include <stdint.h>
+
+/** Ideally the prototypes below would take Rand* in place of void*, but this
+ *  would break several existing models. We do, however, want to declare the
+ *  Rand type, as this makes it possible to write (for example)
+ *  nrn_random_pick((Rand*)some_rand) now, which will be required to suppress
+ *  deprecation warnings in NEURON 9+ where nrn_random_pick(void*) is a
+ *  [[deprecated]] overload and the non-deprecated version takes Rand*.
+ */
+typedef struct Rand Rand;
+
+/** These declarations are wrong, in the sense that they are inconsistent with
+ *  the definitions in ivocrand.cpp. This is an intentional, but possibly
+ *  unwise, decision.
+ */
+long nrn_get_random_sequence(void* r);
+void* nrn_random_arg(int);
+int nrn_random_isran123(void* r, uint32_t* id1, uint32_t* id2, uint32_t* id3);
+double nrn_random_pick(void* r);
+void nrn_random_reset(void* r);
+int nrn_random123_getseq(void* r, uint32_t* seq, char* which);
+int nrn_random123_setseq(void* r, uint32_t seq, char which);
+
+/** Note that in addition to having void* in place of Rand*, this has int in
+ *  place of long.
+ */
+void nrn_set_random_sequence(void* r, int seq);
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnredef.h
@@ -0,0 +1,8 @@
+#ifndef nrnredef_h
+#define nrnredef_h
+
+#define net_send  nrn_net_send
+#define net_move  nrn_net_move
+#define net_event nrn_net_event
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnsemanticversion.h
@@ -0,0 +1,4 @@
+#pragma once
+#define NRN_VERSION_MAJOR 8
+#define NRN_VERSION_MINOR 2
+#define NRN_VERSION_PATCH 2
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/nrnversionmacros.h
@@ -0,0 +1,20 @@
+#pragma once
+#include "nrnsemanticversion.h"
+#define NRN_VERSION_INT(maj, min, pat)  (10000 * maj + 100 * min + pat)
+#define NRN_VERSION                     NRN_VERSION_INT(NRN_VERSION_MAJOR, NRN_VERSION_MINOR, NRN_VERSION_PATCH)
+#define NRN_VERSION_EQ(maj, min, pat)   (NRN_VERSION == NRN_VERSION_INT(maj, min, pat))
+#define NRN_VERSION_NE(maj, min, pat)   (NRN_VERSION != NRN_VERSION_INT(maj, min, pat))
+#define NRN_VERSION_GT(maj, min, pat)   (NRN_VERSION > NRN_VERSION_INT(maj, min, pat))
+#define NRN_VERSION_LT(maj, min, pat)   (NRN_VERSION < NRN_VERSION_INT(maj, min, pat))
+#define NRN_VERSION_GTEQ(maj, min, pat) (NRN_VERSION >= NRN_VERSION_INT(maj, min, pat))
+#define NRN_VERSION_LTEQ(maj, min, pat) (NRN_VERSION <= NRN_VERSION_INT(maj, min, pat))
+
+/* 8.2.0 is significant because all versions >=8.2.0 should contain definitions
+ * of these macros, and doing #ifndef NRN_VERSION_GTEQ_8_2_0 is a more
+ * descriptive way of writing #if defined(NRN_VERSION_GTEQ). Testing for 8.2.0
+ * is likely to be a common pattern when adapting MOD file VERBATIM blocks for
+ * C++ compatibility.
+ */
+#if NRN_VERSION_GTEQ(8, 2, 0)
+#define NRN_VERSION_GTEQ_8_2_0
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/oc_ansi.h
@@ -0,0 +1,312 @@
+#ifndef oc_ansi_h
+#define oc_ansi_h
+
+
+/**
+ * \dir
+ * \brief HOC Interpreter
+ *
+ * \file
+ * \brief HOC interpreter function declarations (included by hocdec.h)
+ */
+
+/**
+ * @defgroup HOC HOC Interpreter
+ * @brief All HOC interpreter related implementation details
+ *
+ * @defgroup hoc_functions HOC Functions
+ * @ingroup HOC
+ * @brief All hoc functions used in the NEURON codebase
+ * @{
+ */
+
+
+#if defined(__cplusplus)
+class IvocVect;
+#else
+#define IvocVect void
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+// nocpout.cpp
+extern void hoc_register_var(DoubScal*, DoubVec*, VoidFunc*);
+extern void ivoc_help(const char*);
+
+extern Symbol* hoc_lookup(const char*);
+
+extern void* hoc_Ecalloc(size_t nmemb, size_t size);
+extern void* hoc_Emalloc(size_t size);
+extern void hoc_malchk(void);
+
+extern void hoc_execerror(const char*, const char*);
+extern void hoc_execerr_ext(const char* fmt, ...);
+extern char* hoc_object_name(Object*);
+extern void hoc_retpushx(double);
+
+extern double* getarg(int);
+extern int ifarg(int);
+
+extern int vector_instance_px(void*, double**);
+extern void install_vector_method(const char*, double (*)(void*));
+
+extern IvocVect* vector_arg(int);
+extern int vector_arg_px(int i, double** p);
+extern double* vector_vec(IvocVect*);
+extern int vector_capacity(IvocVect*);
+extern void vector_resize(IvocVect*, int);
+
+#if defined(__cplusplus)
+}
+#endif
+
+extern int nrnignore;
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+
+/**
+ * \brief Brief explanation of hoc_obj_run
+ *
+ * Detailed explanation of hoc_obj_run goes here.
+ */
+extern int hoc_obj_run(const char*, Object*);
+
+extern int hoc_argtype(int);
+extern int hoc_is_double_arg(int);
+extern int hoc_is_pdouble_arg(int);
+extern int hoc_is_str_arg(int);
+extern int hoc_is_object_arg(int);
+extern char* gargstr(int);
+extern char** hoc_pgargstr(int);
+
+extern double* hoc_pgetarg(int);
+extern Object** hoc_objgetarg(int);
+extern Object* hoc_name2obj(const char* name, int index);
+
+extern char** hoc_temp_charptr(void);
+extern int hoc_is_temp_charptr(char** cpp);
+extern void hoc_assign_str(char** pstr, const char* buf);
+extern double chkarg(int, double low, double high);
+extern double hoc_call_func(Symbol*,
+                            int narg); /* push first arg first. Warning: if the function is inside
+                                          an object make sure you know what you are doing.*/
+extern double hoc_call_objfunc(Symbol*, int narg, Object*); /* call a fuction within the context of
+                                                               an object.*/
+extern double hoc_ac_;
+extern double hoc_epsilon;
+extern int nrn_inpython_;
+
+extern int hoc_color;
+extern int hoc_set_color(int);
+extern void hoc_plt(int, double, double);
+extern void hoc_plprint(const char*);
+extern void hoc_ret(void); /* but need to push before returning */
+
+extern void hoc_pushx(double);
+extern void hoc_pushstr(char**);
+extern void hoc_pushobj(Object**);
+extern void hoc_push_object(Object*);
+extern void hoc_pushpx(double*);
+extern void hoc_pushs(Symbol*);
+extern void hoc_pushi(int);
+extern double hoc_xpop(void);
+extern Symbol* hoc_spop(void);
+extern double* hoc_pxpop(void);
+extern Object** hoc_objpop(void);
+extern Object* hoc_pop_object(void);
+extern char** hoc_strpop(void);
+extern int hoc_ipop(void);
+extern void hoc_nopop(void);
+
+extern void hoc_execerror_mes(const char*, const char*, int);
+extern void hoc_warning(const char*, const char*);
+extern double* hoc_val_pointer(const char*);
+extern Symbol* hoc_table_lookup(const char*, Symlist*);
+extern Symbol* hoc_install(const char*, int, double, Symlist**);
+extern Objectdata* hoc_objectdata;
+extern Datum* hoc_look_inside_stack(int, int);
+extern Object* hoc_obj_look_inside_stack(int);
+extern int hoc_obj_look_inside_stack_index(int);
+extern void hoc_stkobj_unref(Object*, int stkindex);
+extern size_t hoc_total_array_data(Symbol*, Objectdata*);
+extern char* hoc_araystr(Symbol*, int, Objectdata*);
+
+extern char* hoc_object_pathname(Object*);
+extern const char* expand_env_var(const char*);
+extern void check_obj_type(Object*, const char*);
+extern int is_obj_type(Object*, const char*);
+extern void hoc_obj_ref(Object*);   /* NULL allowed */
+extern void hoc_obj_unref(Object*); /* NULL allowed */
+extern void hoc_dec_refcount(Object**);
+extern Object** hoc_temp_objvar(Symbol* template_symbol, void* cpp_object);
+extern Object** hoc_temp_objptr(Object*);
+extern void hoc_new_object_asgn(Object** obp, Symbol* template_symbol, void* cpp_object);
+extern HocSymExtension* hoc_var_extra(const char*);
+extern double check_domain_limits(float*, double);
+extern Object* hoc_obj_get(int i);
+extern void hoc_obj_set(int i, Object*);
+extern void nrn_hoc_lock(void);
+extern void nrn_hoc_unlock(void);
+
+extern void* hoc_Erealloc(void* ptr, size_t size);
+
+extern void* nrn_cacheline_alloc(void** memptr, size_t size);
+extern void* nrn_cacheline_calloc(void** memptr, size_t nmemb, size_t size);
+extern void nrn_exit(int);
+extern void hoc_free_list(Symlist**);
+extern int hoc_errno_check(void);
+extern Symbol* hoc_parse_stmt(const char*, Symlist**);
+extern void hoc_run_stmt(Symbol*);
+extern Symbol* hoc_parse_expr(const char*, Symlist**);
+extern double hoc_run_expr(Symbol*);
+extern void hoc_free_string(char*);
+extern int hoc_xopen1(const char*, const char*);
+extern int hoc_xopen_run(Symbol*, const char*);
+extern void hoc_symbol_limits(Symbol*, float, float);
+extern void sym_extra_alloc(Symbol*);
+extern int hoc_chdir(const char* path);
+
+extern void hoc_final_exit();
+extern void hoc_sprint1(char**, int);
+extern double hoc_scan(FILE*);
+extern char* hoc_symbol_units(Symbol* sym, const char* units);
+extern void hoc_fake_call(Symbol*);
+extern void hoc_last_init(void);
+extern void hoc_obj_notify(Object*);
+extern int ivoc_list_count(Object*);
+Object* ivoc_list_item(Object*, int);
+extern double hoc_func_table(void* functable, int n, double* args);
+extern void hoc_spec_table(void** pfunctable, int n);
+extern void* hoc_sec_internal_name2ptr(const char* s, int eflag);
+extern void* hoc_pysec_name2ptr(const char* s, int eflag);
+extern void* nrn_parsing_pysec_;
+
+extern void vector_append(IvocVect*, double);
+extern IvocVect* vector_new(int, Object*); /*use this if possible*/
+extern IvocVect* vector_new0();
+extern IvocVect* vector_new1(int);
+extern IvocVect* vector_new2(IvocVect*);
+extern void vector_delete(IvocVect*);
+extern int vector_buffer_size(IvocVect*);
+
+extern Object** vector_temp_objvar(IvocVect*);
+extern Object** vector_pobj(IvocVect*);
+
+extern int is_vector_arg(int);
+
+extern char* vector_get_label(IvocVect*);
+extern void vector_set_label(IvocVect*, char*);
+
+extern void hoc_regexp_compile(const char*);
+extern int hoc_regexp_search(const char*);
+extern Symbol* hoc_install_var(const char*, double*);
+extern void hoc_class_registration(void);
+extern void hoc_spinit(void);
+extern void hoc_freearay(Symbol*);
+extern int hoc_arayinfo_install(Symbol*, int);
+extern void hoc_free_arrayinfo(Arrayinfo*);
+extern void hoc_free_val_array(double*, size_t);
+extern size_t hoc_total_array(Symbol*);
+extern void hoc_menu_cleanup(void);
+extern void frame_debug(void);
+extern void hoc_oop_initaftererror(void);
+extern void save_parallel_envp(void);
+extern void save_parallel_argv(int, const char**);
+extern void hoc_init(void);
+extern void initplot(void);
+extern void hoc_audit_command(const char*);
+extern void hoc_audit_from_hoc_main1(int, const char**, const char**);
+extern void hoc_audit_from_final_exit(void);
+extern void hoc_audit_from_xopen1(const char*, const char*);
+extern void hoc_xopen_from_audit(const char* fname);
+extern int hoc_retrieving_audit(void);
+extern int hoc_retrieve_audit(int id);
+extern int hoc_saveaudit(void);
+
+extern void hoc_close_plot(void);
+extern void ivoc_cleanup(void);
+extern void ivoc_final_exit(void);
+extern int hoc_oc(const char*);
+extern void hoc_initcode(void);
+extern int hoc_ParseExec(int);
+extern int hoc_get_line(void);
+extern int hoc_araypt(Symbol*, int);
+extern double hoc_opasgn(int op, double dest, double src);
+extern void hoc_install_object_data_index(Symbol*);
+extern void hoc_template_notify(Object*, int);
+extern void hoc_construct_point(Object*, int);
+extern void hoc_call_ob_proc(Object* ob, Symbol* sym, int narg);
+extern void hoc_push_frame(Symbol*, int);
+extern void hoc_pop_frame(void);
+extern int hoc_argindex(void);
+extern void hoc_pop_defer(void);
+extern void hoc_tobj_unref(Object**);
+extern int hoc_stacktype(void);
+extern int hoc_inside_stacktype(int);
+extern void hoc_link_symbol(Symbol*, Symlist*);
+extern void hoc_unlink_symbol(Symbol*, Symlist*);
+extern void notify_freed(void*);
+extern void notify_freed_val_array(double*, size_t);
+extern void notify_pointer_freed(void*);
+extern int ivoc_list_look(Object*, Object*, char*, int);
+extern void ivoc_free_alias(Object*);
+extern Symbol* ivoc_alias_lookup(const char*, Object*);
+extern void hoc_obj_disconnect(Object*);
+extern void hoc_free_object(Object*);
+extern void hoc_free_pstring(char**);
+extern int hoc_returning;
+extern void hoc_on_init_register(Pfrv);
+extern int hoc_pid(void);
+extern int hoc_ired(const char*, int, int, int);
+extern double hoc_xred(const char*, double, double, double);
+extern int hoc_sred(const char*, char*, char*);
+extern int nrnpy_pr(const char* fmt, ...);
+extern int Fprintf(FILE*, const char* fmt, ...);
+extern void nrnpy_pass();
+extern void hoc_free_allobjects(cTemplate*, Symlist*, Objectdata*);
+extern int nrn_is_cable(void);
+extern int nrn_isdouble(double*, double, double);
+extern void* nrn_opaque_obj2pyobj(Object*);  // PyObject reference not incremented
+extern Symbol* hoc_get_symbol(const char* var);
+
+extern double hoc_Exp(double);
+extern int hoc_is_tempobj_arg(int narg);
+extern FILE* hoc_obj_file_arg(int i);
+extern void hoc_reg_nmodl_text(int type, const char* txt);
+extern void hoc_reg_nmodl_filename(int type, const char* filename);
+extern size_t nrn_mallinfo(int item);
+extern int nrn_mlh_gsort(double* vec, int* base_ptr, int total_elems, int (*cmp)(double, double));
+extern void state_discontinuity(int i, double* pd, double d);
+
+extern double nrn_event_queue_stats(double* stats);
+extern double* nrn_recalc_ptr(double*);
+extern void nrn_register_recalc_ptr_callback(Pfrv f);
+
+// BlueBrain
+extern void* bbss_buffer_counts(int*, int**, int**, int*);
+extern void bbss_save_global(void*, char*, int);
+extern void bbss_restore_global(void*, char*, int);
+extern void bbss_save(void*, int, char*, int);
+extern void bbss_restore(void*, int, int, char*, int);
+extern void bbss_save_done(void*);
+extern void bbss_restore_done(void*);
+
+#if defined(__cplusplus)
+}
+#endif
+
+extern int _nrnunit_use_legacy_; /* 1:legacy, 0:modern (default) */
+extern void bbs_done(void);
+extern int hoc_main1(int, const char**, const char**);
+extern char* cxx_char_alloc(size_t size);
+extern int stoprun;
+extern int nrn_mpiabort_on_error_;
+
+#endif
+
+/** @} */  // end of hoc_functions
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/ocfunc.h
@@ -0,0 +1,50 @@
+#ifndef ocfunc_h
+#define ocfunc_h
+
+
+extern double hoc_Log(double), hoc_Log10(double), hoc1_Exp(double), hoc_Sqrt(double),
+    hoc_integer(double);
+extern double hoc_Pow(double, double);
+extern void hoc_System(void), hoc_Prmat(void), hoc_solve(void), hoc_eqinit(void), hoc_Plt(void),
+    hoc_atan2(void);
+extern void hoc_symbols(void), hoc_PRintf(void), hoc_Xred(void), hoc_Sred(void);
+extern void hoc_ropen(void), hoc_wopen(void), hoc_xopen(void), hoc_Fscan(void), hoc_Fprint(void);
+extern void hoc_Graph(void), hoc_Graphmode(void), hoc_Plot(void), hoc_axis(void), hoc_Sprint(void);
+extern void hoc_fmenu(void), hoc_Getstr(void), hoc_Strcmp(void);
+extern void hoc_Lw(void), hoc_machine_name(void), hoc_Saveaudit(void), hoc_Retrieveaudit(void);
+extern void hoc_plotx(void), hoc_ploty(void), hoc_regraph(void);
+extern void hoc_startsw(void), hoc_stopsw(void), hoc_object_id(void);
+extern void hoc_allobjects(void), hoc_allobjectvars(void);
+extern void hoc_xpanel(void), hoc_xbutton(void), hoc_xmenu(void), hoc_xslider(void);
+extern void hoc_xfixedvalue(void), hoc_xvarlabel(void), hoc_xradiobutton(void);
+extern void hoc_xvalue(void), hoc_xpvalue(void), hoc_xlabel(void), ivoc_style(void);
+extern void hoc_boolean_dialog(void), hoc_string_dialog(void), hoc_continue_dialog(void);
+extern void nrn_err_dialog(const char*);
+extern void hoc_single_event_run(void), hoc_notify_iv(void), nrniv_bind_thread(void);
+extern void hoc_pointer(void), hoc_Numarg(void), hoc_Argtype(void), hoc_exec_cmd(void);
+extern void hoc_load_proc(void), hoc_load_func(void), hoc_load_template(void), hoc_load_file(void);
+extern void hoc_xcheckbox(void), hoc_xstatebutton(void), hoc_Symbol_limits(void);
+extern void hoc_coredump_on_error(void), hoc_checkpoint(void), hoc_quit(void);
+extern void hoc_object_push(void), hoc_object_pop(void), hoc_pwman_place(void);
+extern void hoc_show_errmess_always(void), hoc_execute1(void), hoc_secname(void);
+extern void hoc_neuronhome(void), hoc_Execerror(void);
+extern void hoc_sscanf(void), hoc_save_session(void), hoc_print_session(void);
+extern void hoc_Chdir(void), hoc_getcwd(void), hoc_Symbol_units(void), hoc_stdout(void);
+extern void hoc_name_declared(void), hoc_unix_mac_pc(void), hoc_show_winio(void);
+extern void hoc_usemcran4(void), hoc_mcran4(void), hoc_mcran4init(void);
+extern void hoc_nrn_load_dll(void), hoc_nrnversion(void), hoc_object_pushed(void);
+extern void hoc_mallinfo(void);
+extern void hoc_Setcolor(void);
+extern void hoc_init_space(void);
+extern void hoc_install_hoc_obj(void);
+extern void nrn_feenableexcept(void);
+extern int nrn_feenableexcept_;
+#if DOS
+extern void hoc_settext(void);
+#endif
+#if defined(WIN32)
+extern void hoc_win_exec();
+#endif
+
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/ocmisc.h
@@ -0,0 +1,11 @@
+#ifndef ocmisc_h
+#define ocmisc_h
+
+extern long hoc_nstack;
+extern long hoc_nframe;
+extern int hoc_errno_count;
+extern int hoc_pipeflag;
+extern int hoc_in_yyparse;
+extern int hoc_intset;
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/options.h
@@ -0,0 +1,48 @@
+/*
+  Options are either very significant to the usage and/or affect
+  the size of the main data structures and thus require much recompilation,
+  including recompilation of all models.
+*/
+
+/* switching from Ra being a global variable to it being a section variable
+opens up the possibility of a great deal of confusion and inadvertant wrong
+results. To help avoid this we print a warning message whenever the value
+in one section is set but no others. But only the first time through treeset.
+*/
+#define RA_WARNING 0
+
+#define VECTORIZE 1 /* hope this speeds up simulations on a Cray */
+/* this is no longer optional */
+
+#define I_MEMBRANE 1 /* compute i_cap and i_membrane on fadvance */
+
+#define EXTRACELLULAR 2 /* default number of extracellular layers */
+
+#define DIAMLIST 1 /* section contains diameter info */
+#define EXTRAEQN                             \
+    0 /* ionic concentrations calculated via \
+       * jacobian along with v */
+#if DIAMLIST
+#define NTS_SPINE                                      \
+    1 /* A negative diameter in pt3dadd() tags that    \
+       * diamlist location as having a spine.          \
+       * diam3d() still returns the postive diameter   \
+       * spined3d() returns 1 or 0 signifying presence \
+       * of spine. setSpineArea() tells how much       \
+       * area/spine to add to the segment. */
+#endif
+
+#define METHOD3 0 /* third order spatially correct method */
+/* testing only, not completely implemented */
+/* cannot be used with extracellular */
+
+#define KEEP_NSEG_PARM 1 /* Use old segment parameters to define */
+/* the new segment information */
+
+#define CVODE 1 /* Allow the cvode variable time step method*/
+
+#if !defined(CACHEVEC)
+#define CACHEVEC 1 /* define to 0 doubles in nodes instead of vectors*/
+#endif
+
+#define MULTICORE 1 /* not optional */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/scoplib.h
@@ -0,0 +1,194 @@
+#pragma once
+/** @file scoplib.h
+ *  @copyright (c) 1984, 1985, 1986, 1987, 1988, 1989 Duke University
+ *
+ *  This file declares all the SCoP library functions that can be called by the
+ *  user to describe or solve his model's	equations.
+ *
+ *  This header has to be both valid C and C++ because the scoplib sources are
+ *  compiled as C. This file is the result of merging the parallel version
+ *  scoplib_ansi.h back into scoplib.h to avoid duplication and inconsistency.
+ */
+#include "newton_struct.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Memory allocation routines */
+int zero_vector(double* vector, int n);
+int zero_ptrvector(double** ptrvector, int n);
+int zero_matrix(double** matrix, int rows, int cols);
+
+/* Printing error messages */
+int abort_run(int error_code);
+int prterr(const char* message_string);
+
+/* Solution of first order ordinary differential equations */
+int adams(int ninits,
+          int n,
+          int* y,
+          int* d,
+          double* p,
+          double* t,
+          double h,
+          int (*dy)(),
+          double** work);
+int euler(int ninits,
+          int neqn,
+          int* var,
+          int* der,
+          double* p,
+          double* t,
+          double dt,
+          int (*func)(),
+          double** work);
+int heun(int ninits,
+         int neqn,
+         int* var,
+         int* der,
+         double* p,
+         double* t,
+         double dt,
+         int (*func)(),
+         double** work);
+int runge(int ninits,
+          int n,
+          int* y,
+          int* d,
+          double* p,
+          double* t,
+          double h,
+          int (*dy)(),
+          double** work);
+
+int adeuler(int ninits,
+            int neqn,
+            int* var,
+            int* der,
+            double* p,
+            double* t,
+            double dt,
+            int (*func)(),
+            double** work,
+            double maxerror);
+int adrunge(int ninits,
+            int n,
+            int* y,
+            int* d,
+            double* p,
+            double* t,
+            double dt,
+            int (*dy)(),
+            double** work,
+            double maxerror);
+
+/* Implicit backwards eulerian integration.  Can find steady-state solution of
+ * first-order odes by passing "infinite" time step h */
+int _advance(int ninits,
+             int n,
+             int* s,
+             int* d,
+             double* p,
+             double* t,
+             double dt,
+             int (*fun)(),
+             double*** pcoef,
+             int linflag);
+
+/* Solution of boundary value problems */
+int boundary(int npts, double* x, double* y, double (*f)(), double (*g)(), double (*q)());
+
+/* Solution of parabolic partial differential equations */
+int crank(int n,
+          double* y,
+          double* fval,
+          double* gval,
+          double dt,
+          double dx,
+          double t,
+          double** bound,
+          double** pwork);
+
+/* Definite integrals */
+double romberg(double a, double b, int (*func)());
+double legendre(double a, double b, int (*func)());
+
+/* Solution of simultaneous algebraic equations */
+int simeq(int n, double** coef, double* soln, int* index);
+int seidel(int n, double** coef, double* soln, int* index);
+int invert(int n, double** matrix);
+int crout(int n, double** a, int* perm);
+int solve(int n, double** a, double** b, int* perm, double* p, int* y);
+int tridiag(int n, double* a, double* b, double* c, double* d, double* soln);
+int newton(int n, int* index, double* x, int (*pfunc)(), double* value);
+int simplex(int nparms, int* parms, double* pp, int (*pfunc)(), int* value);
+int buildjacobian(int n, int* index, double* x, int (*pfunc)(), double* value, double** jacobian);
+
+/* Curve-fitting and interpolation functions */
+int derivs(int nbase, double* x, double* y, double* h, double* der);
+double spline(int nbase, double* x, double* y, double* h, double* der, double x_inter);
+double force(double t, char* filename);
+double stepforce(int* reset_integ, double* old_value, double t, char* filename);
+/* Using deflate as a global symbol name is unfortunate and clashes with zlib;
+ * hopefully this can improved by porting the scoplib sources to C++ and moving
+ * them into an appropriate namespace. In the meantime, hack around this with
+ * the preprocessor.
+ */
+#define deflate scoplib_deflate
+int deflate(double degree, double* pcoeff, double* root);
+int expfit(double* terms, char* reffile, double* amplitude, double* lambda, double* error);
+
+/* General modeling functions */
+double hyperbol(double x, double max, double K);
+double revhyperbol(double x, double max, double K);
+double sigmoid(double x, double max, double K, double n);
+double revsigmoid(double x, double max, double K, double n);
+double* lag(double* var, double curt, double lagt, int vsize);
+
+/* Forcing functions */
+double threshold(int* reset_integ, double* old_value, double x, double limit, char* mode);
+double harmonic(double t, double period, double amplitude, double offset);
+double squarewave(int* reset_integ, double* old_value, double t, double period, double amplitude);
+double sawtooth(int* reset_integ, double* old_value, double t, double period, double amplitude);
+double revsawtooth(int* reset_integ, double* old_value, double t, double period, double amplitude);
+double ramp(int* reset_integ,
+            double* old_value,
+            double t,
+            double lag,
+            double height,
+            double duration);
+double pulse(int* reset_integ,
+             double* old_value,
+             double t,
+             double lag,
+             double height,
+             double duration);
+double perpulse(int* reset_integ,
+                double* old_value,
+                double t,
+                double lag,
+                double height,
+                double duration,
+                double delay);
+double step(int* reset_integ, double* old_value, double t, double jumpt, double jump);
+double perstep(int* reset_integ,
+               double* old_value,
+               double t,
+               double lag,
+               double period,
+               double jump);
+
+/* Probability functions */
+int poisrand(double mean);
+
+double factorial(double n);
+double scop_random();
+double exprand(double mean);
+double normrand(double mean, double std_dev);
+double poisson(double x, double mean);
+double gauss(double x, double mean, double std_dev);
+double scop_erf(double z);
+#ifdef __cplusplus
+} // extern "C"
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/section.h
@@ -0,0 +1,334 @@
+/* /local/src/master/nrn/src/nrnoc/section.h,v 1.4 1996/05/21 17:09:24 hines Exp */
+#ifndef section_h
+#define section_h
+
+/* In order to support oc objects containing sections, instead of vector
+    of ordered sections, we now have a list (in the nmodl sense)
+    of unordered sections. The lesser efficiency is ok because the
+    number crunching is vectorized. ie only the user interface deals
+    with sections and that needs to be convenient
+*/
+/* Data structure for solving branching 1-D tree diffusion type equations.
+    Vector of ordered sections each of which points to a vector of nodes.
+    Each section must have at least one node. There may be 0 sections.
+    The order of last node to first node is used in triangularization.
+    First node to last is used in back substitution.
+    The first node of a section is connected to some node of a section
+      with lesser index.
+*/
+/* An equation is associated with each node. d and rhs are the diagonal and
+   right hand side respectively.  a is the effect of this node on the parent
+   node's equation.  b is the effect of the parent node on this node's
+   equation.
+   d is assumed to be non-zero.
+   d and rhs is calculated from the property list.
+*/
+
+
+#include "nrnredef.h"
+#include "options.h"
+#include "hoclist.h"
+
+/*#define DEBUGSOLVE 1*/
+#define xpop      hoc_xpop
+#define pc        hoc_pc
+#define spop      hoc_spop
+#define execerror hoc_execerror
+#include "hocdec.h"
+
+typedef struct Section {
+    int refcount;              /* may be in more than one list */
+    short nnode;               /* Number of nodes for ith section */
+    struct Section* parentsec; /* parent section of node 0 */
+    struct Section* child;     /* root of the list of children
+                       connected to this parent kept in
+                       order of increasing x */
+    struct Section* sibling;   /* used as list of sections that have same parent */
+
+
+    /* the parentnode is only valid when tree_changed = 0 */
+    struct Node* parentnode; /* parent node */
+    struct Node** pnode;     /* Pointer to  pointer vector of node structures */
+    int order;               /* index of this in secorder vector */
+    short recalc_area_;      /* NODEAREA, NODERINV, diam, L need recalculation */
+    short volatile_mark;     /* for searching */
+    void* volatile_ptr;      /* e.g. ShapeSection* */
+#if DIAMLIST
+    short npt3d;                     /* number of 3-d points */
+    short pt3d_bsize;                /* amount of allocated space for 3-d points */
+    struct Pt3d* pt3d;               /* list of 3d points with diameter */
+    struct Pt3d* logical_connection; /* nil for legacy, otherwise specifies logical connection
+                                        position (for translation) */
+#endif
+    struct Prop* prop; /* eg. length, etc. */
+} Section;
+
+#if DIAMLIST
+typedef struct Pt3d {
+    float x, y, z, d; /* 3d point, microns */
+    double arc;
+} Pt3d;
+#endif
+
+#if METHOD3
+typedef float NodeCoef;
+typedef double NodeVal;
+
+typedef struct Info3Coef {
+    NodeVal current; /* for use in next time step */
+    NodeVal djdv0;
+    NodeCoef coef0;    /* 5dx/12 */
+    NodeCoef coefn;    /* 1dx/12 */
+    NodeCoef coefjdot; /* dx^2*ra/12 */
+    NodeCoef coefdg;   /* dx/12 */
+    NodeCoef coefj;    /* 1/(ra*dx) */
+    struct Node* nd2;  /* the node dx away in the opposite direction*/
+    /* note above implies that nodes next to branches cannot have point processes
+    and still be third order correct. Also nodes next to branches cannot themselves
+    be branch points */
+} Info3Coef;
+
+typedef struct Info3Val { /* storage to help build matrix efficiently */
+    NodeVal GC;           /* doesn't include point processes */
+    NodeVal EC;
+    NodeCoef Cdt;
+} Info3Val;
+
+/*METHOD3*/
+#endif
+
+/* if any double is added after area then think about changing
+the notify_free_val parameter in node_free in solve.cpp
+*/
+
+#define NODED(n)   (*((n)->_d))
+#define NODERHS(n) (*((n)->_rhs))
+
+#undef NODEV /* sparc-sun-solaris2.9 */
+
+#if CACHEVEC == 0
+#define NODEA(n)    ((n)->_a)
+#define NODEB(n)    ((n)->_b)
+#define NODEV(n)    ((n)->_v)
+#define NODEAREA(n) ((n)->_area)
+#else /* CACHEVEC */
+#define NODEV(n)    (*((n)->_v))
+#define NODEAREA(n) ((n)->_area)
+#define NODERINV(n) ((n)->_rinv)
+#define VEC_A(i)    (_nt->_actual_a[(i)])
+#define VEC_B(i)    (_nt->_actual_b[(i)])
+#define VEC_D(i)    (_nt->_actual_d[(i)])
+#define VEC_RHS(i)  (_nt->_actual_rhs[(i)])
+#define VEC_V(i)    (_nt->_actual_v[(i)])
+#define VEC_AREA(i) (_nt->_actual_area[(i)])
+#define NODEA(n)    (VEC_A((n)->v_node_index))
+#define NODEB(n)    (VEC_B((n)->v_node_index))
+#endif /* CACHEVEC */
+
+extern int use_sparse13;
+extern int use_cachevec;
+extern int secondorder;
+extern int cvode_active_;
+
+typedef struct Node {
+#if CACHEVEC == 0
+    double _v;    /* membrane potential */
+    double _area; /* area in um^2 but see treesetup.cpp */
+    double _a;    /* effect of node in parent equation */
+    double _b;    /* effect of parent in node equation */
+#else             /* CACHEVEC */
+    double* _v;     /* membrane potential */
+    double _area;   /* area in um^2 but see treesetup.cpp */
+    double _rinv;   /* conductance uS from node to parent */
+    double _v_temp; /* vile necessity til actual_v allocated */
+#endif            /* CACHEVEC */
+    double* _d;   /* diagonal element in node equation */
+    double* _rhs; /* right hand side in node equation */
+    double* _a_matelm;
+    double* _b_matelm;
+    int eqn_index_;                 /* sparse13 matrix row/col index */
+                                    /* if no extnodes then = v_node_index +1*/
+                                    /* each extnode adds nlayer more equations after this */
+    struct Prop* prop;              /* Points to beginning of property list */
+    Section* child;                 /* section connected to this node */
+                                    /* 0 means no other section connected */
+    Section* sec;                   /* section this node is in */
+                                    /* #if PARANEURON */
+    struct Node* _classical_parent; /* needed for multisplit */
+    struct NrnThread* _nt;
+/* #endif */
+#if EXTRACELLULAR
+    struct Extnode* extnode;
+#endif
+
+#if EXTRAEQN
+    struct Eqnblock* eqnblock; /* hook to other equations which
+           need to be solved at the same time as the membrane
+           potential. eg. fast changeing ionic concentrations */
+#endif                         /*MOREEQN*/
+
+#if DEBUGSOLVE
+    double savd;
+    double savrhs;
+#endif /*DEBUGSOLVE*/
+#if VECTORIZE
+    int v_node_index; /* only used to calculate parent_node_indices*/
+#endif
+    int sec_node_index_; /* to calculate segment index from *Node */
+#if METHOD3
+    Info3Coef toparent;
+    Info3Coef fromparent;
+    Info3Val thisnode;
+#endif
+} Node;
+
+#if EXTRACELLULAR
+/* pruned to only work with sparse13 */
+extern int nrn_nlayer_extracellular;
+#define nlayer (nrn_nlayer_extracellular) /* first (0) layer is extracellular next to membrane */
+typedef struct Extnode {
+    double* param; /* points to extracellular parameter vector */
+    /* v is membrane potential. so v internal = Node.v + Node.vext[0] */
+    /* However, the Node equation is for v internal. */
+    /* This is reconciled during update. */
+
+    /* Following all have allocated size of nlayer */
+    double* v; /* v external. */
+    double* _a;
+    double* _b;
+    double** _d;
+    double** _rhs; /* d, rhs, a, and b are analogous to those in node */
+    double** _a_matelm;
+    double** _b_matelm;
+    double** _x12; /* effect of v[layer] on eqn layer-1 (or internal)*/
+    double** _x21; /* effect of v[layer-1 or internal] on eqn layer*/
+} Extnode;
+#endif
+
+#if !INCLUDEHOCH
+#include "hocdec.h" /* Prop needs Datum and Datum needs Symbol */
+#endif
+
+#define PROP_PY_INDEX 10
+
+typedef struct Prop {
+    struct Prop* next; /* linked list of properties */
+    short type;        /* type of membrane, e.g. passive, HH, etc. */
+    short unused1;     /* gcc and borland need pairs of shorts to align the same.*/
+    int param_size;    /* for notifying hoc_free_val_array */
+    double* param;     /* vector of doubles for this property */
+    Datum* dparam;     /* usually vector of pointers to doubles
+                  of other properties but maybe other things as well
+                  for example one cable section property is a
+                  symbol */
+    long _alloc_seq;   /* for cache efficiency */
+    Object* ob;        /* nil if normal property, otherwise the object containing the data*/
+} Prop;
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+extern double* nrn_prop_data_alloc(int type, int count, Prop* p);
+extern Datum* nrn_prop_datum_alloc(int type, int count, Prop* p);
+extern void nrn_prop_data_free(int type, double* pd);
+extern void nrn_prop_datum_free(int type, Datum* ppd);
+extern Section* chk_access();
+extern double nrn_ghk(double, double, double, double);
+
+
+#if defined(__cplusplus)
+}
+#endif
+
+/* a point process is computed just like regular mechanisms. Ie it appears
+in the property list whose type specifies which allocation, current, and
+state functions to call.  This means some nodes have more properties than
+other nodes even in the same section.  The Point_process structure allows
+the interface to hoc variable names.
+Each variable symbol u.rng->type refers to the point process mechanism.
+The variable is treated as a vector
+variable whose first index specifies "which one" of that mechanisms insertion
+points we are talking about.  Finally the variable u.rng->index tells us
+where in the p-array to look.  The number of point_process vectors is the
+number of different point process types.  This is different from the
+mechanism type which enumerates all mechanisms including the point_processes.
+It is the responsibility of create_point_process to set up the vectors and
+fill in the symbol information.  However only after the process is given
+a location can the variables be set or accessed. This is because the
+allocation function may have to connect to some ionic parameters and the
+process exists primarily as a property of a node.
+*/
+typedef struct Point_process {
+    Section* sec; /* section and node location for the point mechanism*/
+    Node* node;
+    Prop* prop;    /* pointer to the actual property linked to the
+                  node property list */
+    Object* ob;    /* object that owns this process */
+    void* presyn_; /* non-threshold presynapse for NetCon */
+    void* nvi_;    /* NrnVarIntegrator (for local step method) */
+    void* _vnt;    /* NrnThread* (for NET_RECEIVE and multicore) */
+} Point_process;
+
+#if EXTRAEQN
+/*Blocks of equations can hang off each node of the current conservation
+equations. These are equations which must be solved simultaneously
+because they depend on the voltage and affect the voltage. An example
+are fast changing ionic concentrations (or merely if we want to be
+able to calculate steady states using a stable method).
+*/
+typedef struct Eqnblock {
+    struct Eqnblock* eqnblock_next; /* may be several such blocks */
+    Pfri eqnblock_triang;           /* triangularization function */
+    Pfri eqnblock_bksub;            /* back substitution function */
+    double* eqnblock_data;
+#if 0
+	the solving functions know how to find the following info from
+	the eqnblock_data.
+	double *eqnblock_row;	/* current conservation depends on states */
+	double *eqnblock_col;	/* state equations depend on voltage */
+	double *eqnblock_matrix; /* state equations depend on states */
+	double *eqnblock_rhs:
+	the functions merely take a pointer to the node and this Eqnblock
+	in order to update the values of the diagonal, v, and the rhs
+	The interface with EXTRACELLULAR makes things a bit more subtle.
+	It seems clear that we will have to change the meaning of v to
+	be membrane potential so that the internal potential is v + vext.
+	This will avoid requiring two rows and two columns since
+	the state equations will depend only on v and not vext.
+	In fact, if vext did not have longitudinal relationships with
+	other vext the extracellular mechanism could be implemented in
+	this style.
+#endif
+} Eqnblock;
+#endif /*EXTRAEQN*/
+
+extern int nrn_global_ncell;   /* note that for multiple threads all the rootnodes are no longer
+                                  contiguous */
+extern hoc_List* section_list; /* Where the Sections live */
+
+extern Section* sec_alloc();             /* Allocates a single section */
+extern void node_alloc(Section*, short); /* Allocates node vectors in a section*/
+extern double section_length(Section*), nrn_diameter(Node*);
+extern Node* nrn_parent_node(Node*);
+extern Section* nrn_section_alloc();
+extern void nrn_section_free(Section*);
+extern int nrn_is_valid_section_ptr(void*);
+
+#if METHOD3
+extern int _method3;
+#endif
+
+#include <multicore.h>
+
+extern int stoprun;
+#define tstopbit   (1 << 15)
+#define tstopset   stoprun |= tstopbit
+#define tstopunset stoprun &= (~tstopbit)
+/* cvode.event(tevent) sets this. Reset at beginning */
+/* of any hoc call for integration and before returning to hoc */
+
+
+#include "nrn_ansi.h"
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/spconfig.h
@@ -0,0 +1,499 @@
+/*
+ *  CONFIGURATION MACRO DEFINITIONS for sparse matrix routines
+ *
+ *  Author:                     Advising professor:
+ *      Kenneth S. Kundert          Alberto Sangiovanni-Vincentelli
+ *      U.C. Berkeley
+ *
+ *  This file contains macros for the sparse matrix routines that are used
+ *  to define the personality of the routines.  The user is expected to
+ *  modify this file to maximize the performance of the routines with
+ *  his/her matrices.
+ *
+ *  Macros are distinguished by using solely capital letters in their
+ *  identifiers.  This contrasts with C defined identifiers which are
+ *  strictly lower case, and program variable and procedure names which use
+ *  both upper and lower case.
+ */
+
+
+/*
+ *  Revision and copyright information.
+ *
+ *  Copyright (c) 1985,86,87,88
+ *  by Kenneth S. Kundert and the University of California.
+ *
+ *  Permission to use, copy, modify, and distribute this software and
+ *  its documentation for any purpose and without fee is hereby granted,
+ *  provided that the copyright notices appear in all copies and
+ *  supporting documentation and that the authors and the University of
+ *  California are properly credited.  The authors and the University of
+ *  California make no representations as to the suitability of this
+ *  software for any purpose.  It is provided `as is', without express
+ *  or implied warranty.
+ *
+ *  $Date: 2003-02-11 19:36:05 +0100 (Tue, 11 Feb 2003) $
+ *  $Revision: 3 $
+ */
+
+
+#ifndef spCONFIG_DEFS
+#define spCONFIG_DEFS
+
+#if defined(cmplx_spPrefix)
+#include "cspredef.h"
+#endif
+
+
+#ifdef spINSIDE_SPARSE
+/*
+ *  OPTIONS
+ *
+ *  These are compiler options.  Set each option to one to compile that
+ *  section of the code.  If a feature is not desired, set the macro
+ *  to NO. Recommendations are given in brackets, [ignore them].
+ *
+ *  >>> Option descriptions:
+ *  Arithmetic Precision
+ *      The precision of the arithmetic used by Sparse can be set by
+ *      changing changing the spREAL macro.  This macro is
+ *      contained in the file spMatrix.h.  It is strongly suggested to
+ *      used double precision with circuit simulators.  Note that
+ *      because C always performs arithmetic operations in double
+ *      precision, the only benefit to using single precision is that
+ *      less storage is required.  There is often a noticeable speed
+ *      penalty when using single precision.  Sparse internally refers
+ *      to a spREAL as a RealNumber.
+ *  REAL
+ *      This specifies that the routines are expected to handle real
+ *      systems of equations.  The routines can be compiled to handle
+ *      both real and complex systems at the same time, but there is a
+ *      slight speed and memory advantage if the routines are complied
+ *      to handle only real systems of equations.
+ *  spCOMPLEX
+ *      This specifies that the routines will be complied to handle
+ *      complex systems of equations.
+ *  EXPANDABLE
+ *      Setting this compiler flag true (1) makes the matrix
+ *      expandable before it has been factored.  If the matrix is
+ *      expandable, then if an element is added that would be
+ *      considered out of bounds in the current matrix, the size of
+ *      the matrix is increased to hold that element.  As a result,
+ *      the size of the matrix need not be known before the matrix is
+ *      built.  The matrix can be allocated with size zero and
+ *      expanded.
+ *  TRANSLATE
+ *      This option allows the set of external row and column numbers
+ *      to be non-packed.  In other words, the row and column numbers
+ *      do not have to be contiguous.  The priced paid for this
+ *      flexibility is that when TRANSLATE is set true, the time
+ *      required to initially build the matrix will be greater because
+ *      the external row and column number must be translated into
+ *      internal equivalents.  This translation brings about other
+ *      benefits though.  First, the spGetElement() and
+ *      spGetAdmittance() routines may be used after the matrix has
+ *      been factored.  Further, elements, and even rows and columns,
+ *      may be added to the matrix, and row and columns may be deleted
+ *      from the matrix, after it has been factored.  Note that when
+ *      the set of row and column number is not a packed set, neither
+ *      are the RHS and Solution vectors.  Thus the size of these
+ *      vectors must be at least as large as the external size, which
+ *      is the value of the largest given row or column numbers.
+ *  INITIALIZE
+ *      Causes the spInitialize(), spGetInitInfo(), and
+ *      spInstallInitInfo() routines to be compiled.  These routines
+ *      allow the user to store and read one pointer in each nonzero
+ *      element in the matrix.  spInitialize() then calls a user
+ *      specified function for each structural nonzero in the matrix,
+ *      and includes this pointer as well as the external row and
+ *      column numbers as arguments.  This allows the user to write
+ *      custom matrix initialization routines.
+ *  DIAGONAL_PIVOTING
+ *      Many matrices, and in particular node- and modified-node
+ *      admittance matrices, tend to be nearly symmetric and nearly
+ *      diagonally dominant.  For these matrices, it is a good idea to
+ *      select pivots from the diagonal.  With this option enabled,
+ *      this is exactly what happens, though if no satisfactory pivot
+ *      can be found on the diagonal, an off-diagonal pivot will be
+ *      used.  If this option is disabled, Sparse does not
+ *      preferentially search the diagonal.  Because of this, Sparse
+ *      has a wider variety of pivot candidates available, and so
+ *      presumably fewer fill-ins will be created.  However, the
+ *      initial pivot selection process will take considerably longer.
+ *      If working with node admittance matrices, or other matrices
+ *      with a strong diagonal, it is probably best to use
+ *      DIAGONAL_PIVOTING for two reasons.  First, accuracy will be
+ *      better because pivots will be chosen from the large diagonal
+ *      elements, thus reducing the chance of growth.  Second, a near
+ *      optimal ordering will be chosen quickly.  If the class of
+ *      matrices you are working with does not have a strong diagonal,
+ *      do not use DIAGONAL_PIVOTING, but consider using a larger
+ *      threshold.  When DIAGONAL_PIVOTING is turned off, the following
+ *      options and constants are not used: MODIFIED_MARKOWITZ,
+ *      MAX_MARKOWITZ_TIES, and TIES_MULTIPLIER.
+ *  ARRAY_OFFSET
+ *      This determines whether arrays start at an index of zero or one.
+ *      This option is necessitated by the fact that standard C
+ *      convention dictates that arrays begin with an index of zero but
+ *      the standard mathematic convention states that arrays begin with
+ *      an index of one.  So if you prefer to start your arrays with
+ *      zero, or your calling Sparse from FORTRAN, set ARRAY_OFFSET to
+ *      NO or 0.  Otherwise, set ARRAY_OFFSET to YES or 1.  Note that if
+ *      you use an offset of one, the arrays that you pass to Sparse
+ *      must have an allocated length of one plus the size of the
+ *      matrix.  ARRAY_OFFSET must be either 0 or 1, no other offsets
+ *      are valid.
+ *  spSEPARATED_COMPLEX_VECTORS
+ *      This specifies the format for complex vectors.  If this is set
+ *      false then a complex vector is made up of one double sized
+ *      array of RealNumber's in which the real and imaginary numbers
+ *      are placed in the alternately array in the array.  In other
+ *      words, the first entry would be Complex[1].Real, then comes
+ *      Complex[1].Imag, then Complex[1].Real, etc.  If
+ *      spSEPARATED_COMPLEX_VECTORS is set true, then each complex
+ *      vector is represented by two arrays of RealNumbers, one with
+ *      the real terms, the other with the imaginary. [NO]
+ *  MODIFIED_MARKOWITZ
+ *      This specifies that the modified Markowitz method of pivot
+ *      selection is to be used.  The modified Markowitz method differs
+ *      from standard Markowitz in two ways.  First, under modified
+ *      Markowitz, the search for a pivot can be terminated early if a
+ *      adequate (in terms of sparsity) pivot candidate is found.
+ *      Thus, when using modified Markowitz, the initial factorization
+ *      can be faster, but at the expense of a suboptimal pivoting
+ *      order that may slow subsequent factorizations.  The second
+ *      difference is in the way modified Markowitz breaks Markowitz
+ *      ties.  When two or more elements are pivot candidates and they
+ *      all have the same Markowitz product, then the tie is broken by
+ *      choosing the element that is best numerically.  The numerically
+ *      best element is the one with the largest ratio of its magnitude
+ *      to the magnitude of the largest element in the same column,
+ *      excluding itself.  The modified Markowitz method results in
+ *      marginally better accuracy.  This option is most appropriate
+ *      for use when working with very large matrices where the initial
+ *      factor time represents an unacceptable burden. [NO]
+ *  DELETE
+ *      This specifies that the spDeleteRowAndCol() routine
+ *      should be compiled.  Note that for this routine to be
+ *      compiled, both DELETE and TRANSLATE should be set true.
+ *  STRIP
+ *      This specifies that the spStripFills() routine should be compiled.
+ *  MODIFIED_NODAL
+ *      This specifies that the routine that preorders modified node
+ *      admittance matrices should be compiled.  This routine results
+ *      in greater speed and accuracy if used with this type of
+ *      matrix.
+ *  QUAD_ELEMENT
+ *      This specifies that the routines that allow four related
+ *      elements to be entered into the matrix at once should be
+ *      compiled.  These elements are usually related to an
+ *      admittance.  The routines affected by QUAD_ELEMENT are the
+ *      spGetAdmittance, spGetQuad and spGetOnes routines.
+ *  TRANSPOSE
+ *      This specifies that the routines that solve the matrix as if
+ *      it was transposed should be compiled.  These routines are
+ *      useful when performing sensitivity analysis using the adjoint
+ *      method.
+ *  SCALING
+ *      This specifies that the routine that performs scaling on the
+ *      matrix should be complied.  Scaling is not strongly
+ *      supported.  The routine to scale the matrix is provided, but
+ *      no routines are provided to scale and descale the RHS and
+ *      Solution vectors.  It is suggested that if scaling is desired,
+ *      it only be preformed when the pivot order is being chosen [in
+ *      spOrderAndFactor()].  This is the only time scaling has
+ *      an effect.  The scaling may then either be removed from the
+ *      solution by the user or the scaled factors may simply be
+ *      thrown away. [NO]
+ *  DOCUMENTATION
+ *      This specifies that routines that are used to document the
+ *      matrix, such as spPrint() and spFileMatrix(), should be
+ *      compiled.
+ *  DETERMINANT
+ *      This specifies that the routine spDeterminant() should be complied.
+ *  STABILITY
+ *      This specifies that spLargestElement() and spRoundoff() should
+ *      be compiled.  These routines are used to check the stability (and
+ *      hence the quality of the pivoting) of the factorization by
+ *      computing a bound on the size of the element is the matrix E =
+ *      A - LU.  If this bound is very high after applying
+ *      spOrderAndFactor(), then the pivot threshold should be raised.
+ *      If the bound increases greatly after using spFactor(), then the
+ *      matrix should probably be reordered.
+ *  CONDITION
+ *      This specifies that spCondition() and spNorm(), the code that
+ *      computes a good estimate of the condition number of the matrix,
+ *      should be compiled.
+ *  PSEUDOCONDITION
+ *      This specifies that spPseudoCondition(), the code that computes
+ *      a crude and easily fooled indicator of ill-conditioning in the
+ *      matrix, should be compiled.
+ *  MULTIPLICATION
+ *      This specifies that the routines to multiply the unfactored
+ *      matrix by a vector should be compiled.
+ *  FORTRAN
+ *      This specifies that the FORTRAN interface routines should be
+ *      compiled.  When interfacing to FORTRAN programs, the ARRAY_OFFSET
+ *      options should be set to NO.
+ *  DEBUG
+ *      This specifies that additional error checking will be compiled.
+ *      The type of error checked are those that are common when the
+ *      matrix routines are first integrated into a user's program.  Once
+ *      the routines have been integrated in and are running smoothly, this
+ *      option should be turned off.
+ */
+
+/* Begin options. */
+#define  REAL                           YES
+#define  EXPANDABLE                     YES
+#if defined(cmplx_spPrefix)
+/* NEURON's nonlinz.cpp uses cmplx_spGetElement after previous use of matrix */
+#define  TRANSLATE                      YES
+#else
+#define  TRANSLATE                      NO /* instead of YES */
+#endif
+#define  INITIALIZE                     NO /* instead of YES */
+#define  DIAGONAL_PIVOTING              YES
+#define  ARRAY_OFFSET                   NOT FORTRAN
+#define  MODIFIED_MARKOWITZ             NO
+#define  DELETE                         YES
+#define  STRIP                          YES
+#define  MODIFIED_NODAL                 YES
+#define  QUAD_ELEMENT                   YES
+#define  TRANSPOSE                      YES
+#define  SCALING                        YES
+#define  DOCUMENTATION                  YES
+#define  MULTIPLICATION                 YES
+#define  DETERMINANT                    YES
+#define  STABILITY                      YES
+#define  CONDITION                      YES
+#define  PSEUDOCONDITION                YES
+#define  FORTRAN                        NO
+#define  DEBUG                          YES
+
+/*
+ *  The following options affect Sparse exports and so are exported as a
+ *  side effect.  For this reason they use the `sp' prefix.  The bool
+ *  constants YES an NO are not defined in spMatrix.h to avoid conflicts
+ *  with user code, so use 0 for NO and 1 for YES.
+ */
+#endif /* spINSIDE_SPARSE */
+#if defined(cmplx_spPrefix)
+#define  spCOMPLEX                      1
+#define  spSEPARATED_COMPLEX_VECTORS    1
+#else
+#define  spCOMPLEX                      0 /* instead of 1 */
+#define  spSEPARATED_COMPLEX_VECTORS    0
+#endif
+#ifdef spINSIDE_SPARSE
+
+
+
+
+
+
+
+/*
+ *  MATRIX CONSTANTS
+ *
+ *  These constants are used throughout the sparse matrix routines.  They
+ *  should be set to suit the type of matrix being solved.  Recommendations
+ *  are given in brackets.
+ *
+ *  Some terminology should be defined.  The Markowitz row count is the number
+ *  of non-zero elements in a row excluding the one being considered as pivot.
+ *  There is one Markowitz row count for every row.  The Markowitz column
+ *  is defined similarly for columns.  The Markowitz product for an element
+ *  is the product of its row and column counts. It is a measure of how much
+ *  work would be required on the next step of the factorization if that
+ *  element were chosen to be pivot.  A small Markowitz product is desirable.
+ *
+ *  >>> Constants descriptions:
+ *  DEFAULT_THRESHOLD
+ *      The relative threshold used if the user enters an invalid
+ *      threshold.  Also the threshold used by spFactor() when
+ *      calling spOrderAndFactor().  The default threshold should
+ *      not be less than or equal to zero nor larger than one. [0.001]
+ *  DIAG_PIVOTING_AS_DEFAULT
+ *      This indicates whether spOrderAndFactor() should use diagonal
+ *      pivoting as default.  This issue only arises when
+ *      spOrderAndFactor() is called from spFactor().
+ *  SPACE_FOR_ELEMENTS
+ *      This number multiplied by the size of the matrix equals the number
+ *      of elements for which memory is initially allocated in
+ *      spCreate(). [6]
+ *  SPACE_FOR_FILL_INS
+ *      This number multiplied by the size of the matrix equals the number
+ *      of elements for which memory is initially allocated and specifically
+ *      reserved for fill-ins in spCreate(). [4]
+ *  ELEMENTS_PER_ALLOCATION
+ *      The number of matrix elements requested from the malloc utility on
+ *      each call to it.  Setting this value greater than 1 reduces the
+ *      amount of overhead spent in this system call. On a virtual memory
+ *      machine, its good to allocate slightly less than a page worth of
+ *      elements at a time (or some multiple thereof).
+ *      [For the VAX, for real only use 41, otherwise use 31]
+ *  MINIMUM_ALLOCATED_SIZE
+ *      The minimum allocated size of a matrix.  Note that this does not
+ *      limit the minimum size of a matrix.  This just prevents having to
+ *      resize a matrix many times if the matrix is expandable, large and
+ *      allocated with an estimated size of zero.  This number should not
+ *      be less than one.
+ *  EXPANSION_FACTOR
+ *      The amount the allocated size of the matrix is increased when it
+ *      is expanded.
+ *  MAX_MARKOWITZ_TIES
+ *      This number is used for two slightly different things, both of which
+ *      relate to the search for the best pivot.  First, it is the maximum
+ *      number of elements that are Markowitz tied that will be sifted
+ *      through when trying to find the one that is numerically the best.
+ *      Second, it creates an upper bound on how large a Markowitz product
+ *      can be before it eliminates the possibility of early termination
+ *      of the pivot search.  In other words, if the product of the smallest
+ *      Markowitz product yet found and TIES_MULTIPLIER is greater than
+ *      MAX_MARKOWITZ_TIES, then no early termination takes place.
+ *      Set MAX_MARKOWITZ_TIES to some small value if no early termination of
+ *      the pivot search is desired. An array of RealNumbers is allocated
+ *      of size MAX_MARKOWITZ_TIES so it must be positive and shouldn't
+ *      be too large.  Active when MODIFIED_MARKOWITZ is 1 (true).  [100]
+ *  TIES_MULTIPLIER
+ *      Specifies the number of Markowitz ties that are allowed to occur
+ *      before the search for the pivot is terminated early.  Set to some
+ *      large value if no early termination of the pivot search is desired.
+ *      This number is multiplied times the Markowitz product to determine
+ *      how many ties are required for early termination.  This means that
+ *      more elements will be searched before early termination if a large
+ *      number of fill-ins could be created by accepting what is currently
+ *      considered the best choice for the pivot.  Active when
+ *      MODIFIED_MARKOWITZ is 1 (true).  Setting this number to zero
+ *      effectively eliminates all pivoting, which should be avoided.
+ *      This number must be positive.  TIES_MULTIPLIER is also used when
+ *      diagonal pivoting breaks down. [5]
+ *  DEFAULT_PARTITION
+ *      Which partition mode is used by spPartition() as default.
+ *      Possibilities include
+ *          spDIRECT_PARTITION  -- each row used direct addressing, best for
+ *              a few relatively dense matrices.
+ *          spINDIRECT_PARTITION  -- each row used indirect addressing, best
+ *              for a few very sparse matrices.
+ *          spAUTO_PARTITION  -- direct or indirect addressing is chosen on
+ *              a row-by-row basis, carries a large overhead, but speeds up
+ *              both dense and sparse matrices, best if there is a large
+ *              number of matrices that can use the same ordering.
+ */
+
+/* Begin constants. */
+#define  DEFAULT_THRESHOLD              1.0e-3
+#define  DIAG_PIVOTING_AS_DEFAULT       YES
+/*#define  SPACE_FOR_ELEMENTS             6*/
+/*#define  SPACE_FOR_FILL_INS             4*/
+#define  SPACE_FOR_ELEMENTS             3
+#define  SPACE_FOR_FILL_INS             1
+#define  ELEMENTS_PER_ALLOCATION        31
+#define  MINIMUM_ALLOCATED_SIZE         6
+#define  EXPANSION_FACTOR               1.5
+#define  MAX_MARKOWITZ_TIES             100
+#define  TIES_MULTIPLIER                5
+#define  DEFAULT_PARTITION              spAUTO_PARTITION
+
+
+
+
+
+
+/*
+ *  PRINTER WIDTH
+ *
+ *  This macro characterize the printer for the spPrint() routine.
+ *
+ *  >>> Macros:
+ *  PRINTER_WIDTH
+ *      The number of characters per page width.  Set to 80 for terminal,
+ *      132 for line printer.
+ */
+
+/*  Begin printer constants. */
+#define  PRINTER_WIDTH  80
+
+
+
+
+
+
+/*
+ *  MACHINE CONSTANTS
+ *
+ *  These numbers must be updated when the program is ported to a new machine.
+ */
+
+/* Begin machine constants. */
+
+#ifdef notdef  /* __STDC__ */
+/*
+ * This code is currently deleted because most ANSI standard C compilers
+ * do not provide the standard header files yet.
+ */
+#endif
+#if defined(HAVE_LIMITS_H)
+#   include <limits.h>
+#   include <float.h>
+#   define  MACHINE_RESOLUTION      DBL_EPSILON
+#   define  LARGEST_REAL            DBL_MAX
+#   define  SMALLEST_REAL           DBL_MIN
+#   define  LARGEST_SHORT_INTEGER   SHRT_MAX
+#   define  LARGEST_LONG_INTEGER    LONG_MAX
+#else /* do not have limits.h */ /* NOT defined(__STDC__) */
+
+/* VAX machine constants */
+#ifdef vax
+#   define  MACHINE_RESOLUTION      6.93889e-18
+#   define  LARGEST_REAL            1.70141e+38
+#   define  SMALLEST_REAL           2.938743e-39
+#   define  LARGEST_SHORT_INTEGER   32766
+#   define  LARGEST_LONG_INTEGER    2147483646
+#endif
+
+/* hp9000 machine constants */
+#ifdef hpux
+/* These values are correct for hp9000/300.  Should be correct for others. */
+#   define  MACHINE_RESOLUTION      8.9e-15
+#   define  LARGEST_REAL            1.79769313486231e+308
+#   define  SMALLEST_REAL           2.22507385850721e-308
+#   define  LARGEST_SHORT_INTEGER   32766
+#   define  LARGEST_LONG_INTEGER    2147483646
+#endif
+
+/* Sun machine constants */
+#ifdef sun
+/* These values are rumored to be the correct values. */
+#   define  MACHINE_RESOLUTION      8.9e-15
+#   define  LARGEST_REAL            1.79769313486231e+308
+#   define  SMALLEST_REAL           2.22507385850721e-308
+#   define  LARGEST_SHORT_INTEGER   32766
+#   define  LARGEST_LONG_INTEGER    2147483646
+#endif
+#endif /* NOT defined(__STDC__) */
+
+
+
+
+
+
+/*
+ *  ANNOTATION
+ *
+ *  This macro changes the amount of annotation produced by the matrix
+ *  routines.  The annotation is used as a debugging aid.  Change the number
+ *  associated with ANNOTATE to change the amount of annotation produced by
+ *  the program.
+ */
+
+/* Begin annotation definitions. */
+#define  ANNOTATE		NONE
+
+#define  NONE			0
+#define  ON_STRANGE_BEHAVIOR	1
+#define  FULL			2
+
+#endif /* spINSIDE_SPARSE */
+#endif /* spCONFIG_DEFS */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/include/spmatrix.h
@@ -0,0 +1,373 @@
+/*
+ *  EXPORTS for sparse matrix routines.
+ *
+ *  Author:                     Advising professor:
+ *      Kenneth S. Kundert          Alberto Sangiovanni-Vincentelli
+ *      UC Berkeley
+ *
+ *  This file contains definitions that are useful to the calling
+ *  program.  In particular, this file contains error keyword
+ *  definitions, some macro functions that are used to quickly enter
+ *  data into the matrix and the type definition of a data structure
+ *  that acts as a template for entering admittances into the matrix.
+ *  Also included is the type definitions for the various functions
+ *  available to the user.
+ */
+
+
+/*
+ *  Revision and copyright information.
+ *
+ *  Copyright (c) 1985,86,87,88
+ *  by Kenneth S. Kundert and the University of California.
+ *
+ *  Permission to use, copy, modify, and distribute this software and
+ *  its documentation for any purpose and without fee is hereby granted,
+ *  provided that the copyright notices appear in all copies and
+ *  supporting documentation and that the authors and the University of
+ *  California are properly credited.  The authors and the University of
+ *  California make no representations as to the suitability of this
+ *  software for any purpose.  It is provided `as is', without express
+ *  or implied warranty.
+ *
+ *  $Date: 2003-02-11 19:36:05 +0100 (Tue, 11 Feb 2003) $
+ *  $Revision: 3 $
+ */
+
+
+
+
+#ifndef  spOKAY
+
+/*
+ *  IMPORTS
+ *
+ *  >>> Import descriptions:
+ *  spConfig.h
+ *      Macros that customize the sparse matrix routines.
+ */
+
+#include "spconfig.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+/*
+ *  ERROR KEYWORDS
+ *
+ *  The actual numbers used in the error codes are not sacred, they can be
+ *  changed under the condition that the codes for the nonfatal errors are
+ *  less than the code for spFATAL and similarly the codes for the fatal
+ *  errors are greater than that for spFATAL.
+ *
+ *  >>> Error descriptions:
+ *  spOKAY
+ *      No error has occurred.
+ *  spSMALL_PIVOT
+ *      When reordering the matrix, no element was found which satisfies the
+ *      absolute threshold criteria.  The largest element in the matrix was
+ *      chosen as pivot.  Non-fatal.
+ *  spZERO_DIAG
+ *      Fatal error.  A zero was encountered on the diagonal the matrix.  This
+ *      does not necessarily imply that the matrix is singular.  When this
+ *      error occurs, the matrix should be reconstructed and factored using
+ *      spOrderAndFactor().
+ *  spSINGULAR
+ *      Fatal error.  Matrix is singular, so no unique solution exists.
+ *  spNO_MEMORY
+ *      Fatal error.  Indicates that not enough memory is available to handle
+ *      the matrix.
+ *  spPANIC
+ *      Fatal error indicating that the routines are not prepared to
+ *      handle the matrix that has been requested.  This may occur when
+ *      the matrix is specified to be real and the routines are not
+ *      compiled for real matrices, or when the matrix is specified to
+ *      be complex and the routines are not compiled to handle complex
+ *      matrices.
+ *  spFATAL
+ *      Not an error flag, but rather the dividing line between fatal errors
+ *      and warnings.
+ */
+
+/* Begin error macros. */
+#define  spOKAY                 0
+#define  spSMALL_PIVOT          1
+#define  spZERO_DIAG            2
+#define  spSINGULAR             3
+#define  spNO_MEMORY            4
+#define  spPANIC                5
+
+#define  spFATAL                2
+
+
+
+
+
+
+
+/*
+ *  KEYWORD DEFINITIONS
+ *
+ *  Here we define what precision arithmetic Sparse will use.  Double
+ *  precision is suggested as being most appropriate for circuit
+ *  simulation and for C.  However, it is possible to change spREAL
+ *  to a float for single precision arithmetic.  Note that in C, single
+ *  precision arithmetic is often slower than double precision.  Sparse
+ *  internally refers to spREALs as RealNumbers.
+ *
+ *  Some C compilers, notably the old VMS compiler, do not handle the keyword
+ *  "void" correctly.  If this is true for your compiler, remove the
+ *  comment delimiters from the redefinition of void to int below.
+ */
+
+#define  spREAL double
+/* #define  void    int   */
+
+
+
+
+
+/*
+ *  PARTITION TYPES
+ *
+ *  When factoring a previously ordered matrix using spFactor(), Sparse
+ *  operates on a row-at-a-time basis.  For speed, on each step, the row
+ *  being updated is copied into a full vector and the operations are
+ *  performed on that vector.  This can be done one of two ways, either
+ *  using direct addressing or indirect addressing.  Direct addressing
+ *  is fastest when the matrix is relatively dense and indirect addressing
+ *  is quite sparse.  The user can select which partitioning mode is used.
+ *  The following keywords are passed to spPartition() and indicate that
+ *  Sparse should use only direct addressing, only indirect addressing, or
+ *  that it should choose the best mode on a row-by-row basis.  The time
+ *  required to choose a partition is of the same order of the cost to factor
+ *  the matrix.
+ *
+ *  If you plan to factor a large number of matrices with the same structure,
+ *  it is best to let Sparse choose the partition.  Otherwise, you should
+ *  choose the partition based on the predicted density of the matrix.
+ */
+
+/* Begin partition keywords. */
+
+#define spDEFAULT_PARTITION     0
+#define spDIRECT_PARTITION      1
+#define spINDIRECT_PARTITION    2
+#define spAUTO_PARTITION        3
+
+
+
+
+
+/*
+ *  MACRO FUNCTION DEFINITIONS
+ *
+ *  >>> Macro descriptions:
+ *  spADD_REAL_ELEMENT
+ *      Macro function that adds data to a real element in the matrix by a
+ *      pointer.
+ *  spADD_IMAG_ELEMENT
+ *      Macro function that adds data to a imaginary element in the matrix by
+ *      a pointer.
+ *  spADD_COMPLEX_ELEMENT
+ *      Macro function that adds data to a complex element in the matrix by a
+ *      pointer.
+ *  spADD_REAL_QUAD
+ *      Macro function that adds data to each of the four real matrix elements
+ *      specified by the given template.
+ *  spADD_IMAG_QUAD
+ *      Macro function that adds data to each of the four imaginary matrix
+ *      elements specified by the given template.
+ *  spADD_COMPLEX_QUAD
+ *      Macro function that adds data to each of the four complex matrix
+ *      elements specified by the given template.
+ */
+
+/* Begin Macros. */
+#define  spADD_REAL_ELEMENT(element,real)       *(element) += real
+
+#define  spADD_IMAG_ELEMENT(element,imag)       *(element+1) += imag
+
+#define  spADD_COMPLEX_ELEMENT(element,real,imag)       \
+{   *(element) += real;                                 \
+    *(element+1) += imag;                               \
+}
+
+#define  spADD_REAL_QUAD(template,real)         \
+{   *((template).Element1) += real;             \
+    *((template).Element2) += real;             \
+    *((template).Element3Negated) -= real;      \
+    *((template).Element4Negated) -= real;      \
+}
+
+#define  spADD_IMAG_QUAD(template,imag)         \
+{   *((template).Element1+1) += imag;           \
+    *((template).Element2+1) += imag;           \
+    *((template).Element3Negated+1) -= imag;    \
+    *((template).Element4Negated+1) -= imag;    \
+}
+
+#define  spADD_COMPLEX_QUAD(template,real,imag) \
+{   *((template).Element1) += real;             \
+    *((template).Element2) += real;             \
+    *((template).Element3Negated) -= real;      \
+    *((template).Element4Negated) -= real;      \
+    *((template).Element1+1) += imag;           \
+    *((template).Element2+1) += imag;           \
+    *((template).Element3Negated+1) -= imag;    \
+    *((template).Element4Negated+1) -= imag;    \
+}
+
+
+
+
+
+
+
+/*
+ *   TYPE DEFINITION FOR COMPONENT TEMPLATE
+ *
+ *   This data structure is used to hold pointers to four related elements in
+ *   matrix.  It is used in conjunction with the routines
+ *       spGetAdmittance
+ *       spGetQuad
+ *       spGetOnes
+ *   These routines stuff the structure which is later used by the spADD_QUAD
+ *   macro functions above.  It is also possible for the user to collect four
+ *   pointers returned by spGetElement and stuff them into the template.
+ *   The spADD_QUAD routines stuff data into the matrix in locations specified
+ *   by Element1 and Element2 without changing the data.  The data is negated
+ *   before being placed in Element3 and Element4.
+ */
+
+/* Begin `spTemplate'. */
+struct  spTemplate
+{   spREAL    *Element1       ;
+    spREAL    *Element2       ;
+    spREAL    *Element3Negated;
+    spREAL    *Element4Negated;
+};
+
+
+
+
+
+/*
+ *   FUNCTION TYPE DEFINITIONS
+ *
+ *   The type of every user accessible function is declared here.
+ */
+
+/* Begin function declarations. */
+
+#if defined(__STDC__) || defined(__cplusplus)
+
+/* For compilers that understand function prototypes. */
+
+extern  void     spClear( char* );
+extern  spREAL   spCondition( char*, spREAL, int* );
+extern  char    *spCreate( int, int, int* );
+extern  void     spDeleteRowAndCol( char*, int, int );
+extern  void     spDestroy( char* );
+extern  int      spElementCount( char* );
+extern  int      spError( char* );
+extern  int      spFactor( char* );
+extern  int      spFileMatrix( char*, char*, char*, int, int, int );
+extern  int      spFileStats( char*, char*, char* );
+extern  int      spFillinCount( char* );
+extern  int      spGetAdmittance( char*, int, int, struct spTemplate* );
+extern  spREAL  *spGetElement( char*, int, int );
+extern  char    *spGetInitInfo( spREAL* );
+extern  int      spGetOnes( char*, int, int, int, struct spTemplate* );
+extern  int      spGetQuad( char*, int, int, int, int, struct spTemplate* );
+extern  int      spGetSize( char*, int );
+extern  int      spInitialize( char*, int (*)() );
+extern  void     spInstallInitInfo( spREAL*, char* );
+extern  spREAL   spLargestElement( char* );
+extern  void     spMNA_Preorder( char* );
+extern  spREAL   spNorm( char* );
+extern  int      spOrderAndFactor( char*, spREAL[], spREAL, spREAL, int );
+extern  void     spPartition( char*, int );
+extern  void     spPrint( char*, int, int, int );
+extern  spREAL   spPseudoCondition( char* );
+extern  spREAL   spRoundoff( char*, spREAL );
+extern  void     spScale( char*, spREAL[], spREAL[] );
+extern  void     spSetComplex( char* );
+extern  void     spSetReal( char* );
+extern  void     spStripFills( char* );
+extern  void     spWhereSingular( char*, int*, int* );
+
+/* Functions with argument lists that are dependent on options. */
+
+#if spCOMPLEX
+extern  void     spDeterminant ( char*, int*, spREAL*, spREAL* );
+#else /* NOT spCOMPLEX */
+extern  void     spDeterminant ( char*, int*, spREAL* );
+#endif /* NOT spCOMPLEX */
+#if spCOMPLEX && spSEPARATED_COMPLEX_VECTORS
+extern  int      spFileVector( char*, char* , spREAL[], spREAL[]);
+extern  void     spMultiply( char*, spREAL[], spREAL[], spREAL[], spREAL[] );
+extern  void     spMultTransposed(char*,spREAL[],spREAL[],spREAL[],spREAL[]);
+extern  void     spSolve( char*, spREAL[], spREAL[], spREAL[], spREAL[] );
+extern  void     spSolveTransposed(char*,spREAL[],spREAL[],spREAL[],spREAL[]);
+#else /* NOT (spCOMPLEX && spSEPARATED_COMPLEX_VECTORS) */
+extern  int      spFileVector( char*, char* , spREAL[] );
+extern  void     spMultiply( char*, spREAL[], spREAL[] );
+extern  void     spMultTransposed( char*, spREAL[], spREAL[] );
+extern  void     spSolve( char*, spREAL[], spREAL[] );
+extern  void     spSolveTransposed( char*, spREAL[], spREAL[] );
+#endif /* NOT (spCOMPLEX && spSEPARATED_COMPLEX_VECTORS) */
+
+#else /* NOT defined(__STDC__) */
+
+/* For compilers that do not understand function prototypes. */
+
+extern  void     spClear();
+extern  spREAL   spCondition();
+extern  char    *spCreate();
+extern  void     spDeleteRowAndCol();
+extern  void     spDestroy();
+extern  void     spDeterminant ();
+extern  int      spElementCount();
+extern  int      spError();
+extern  int      spFactor();
+extern  int      spFileMatrix();
+extern  int      spFileStats();
+extern  int      spFileVector();
+extern  int      spFillinCount();
+extern  int      spGetAdmittance();
+extern  spREAL  *spGetElement(char*, int, int);
+extern  char    *spGetInitInfo();
+extern  int      spGetOnes();
+extern  int      spGetQuad();
+extern  int      spGetSize();
+extern  int      spInitialize();
+extern  void     spInstallInitInfo();
+extern  spREAL   spLargestElement();
+extern  void     spMNA_Preorder();
+extern  void     spMultiply();
+extern  void     spMultTransposed();
+extern  spREAL   spNorm();
+extern  int      spOrderAndFactor();
+extern  void     spPartition();
+extern  void     spPrint();
+extern  spREAL   spPseudoCondition();
+extern  spREAL   spRoundoff();
+extern  void     spScale();
+extern  void     spSetComplex();
+extern  void     spSetReal();
+extern  void     spSolve();
+extern  void     spSolveTransposed();
+extern  void     spStripFills();
+extern  void     spWhereSingular();
+#endif /* defined(__STDC__) */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* spOKAY */
\ No newline at end of file
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/lib/nrnunits.lib.in
@@ -0,0 +1,627 @@
+/ from gnu units distribution
+/ Nov, 2017 updated faraday, R, e, planck, hbar, mole, k according to
+/ https://physics.nist.gov/cuu/Constants/index.html
+
+/ primitive units
+
+m			*a*
+kg			*b*
+sec			*c*
+coul			*d*
+candela			*e*
+dollar			*f*
+bit			*h*
+erlang			*i*
+K			*j*
+
+/ prefixes
+
+/yotta-			1e24
+/zetta-			1e21
+/exa-			1e18
+/peta-			1e15
+/tera-			1e12
+/giga-			1e9
+/mega-			1e6
+/myria-			1e4
+/kilo-			1e3
+/hecto-			1e2
+/deka-			1e1
+/deci-			1e-1
+/centi-			1e-2
+/milli-			1e-3
+/micro-			1e-6
+/nano-			1e-9
+/pico-			1e-12
+/femto-			1e-15
+/atto-			1e-18
+/zopto-			1e-21
+/yocto-			1e-24
+/
+/semi-			.5
+/demi-			.5
+/
+/Y-			yotta
+/Z-			zetta
+/E-			exa
+/P-			peta
+/T-			tera
+/G-			giga
+/M-			mega
+/k-			kilo
+/h-			hecto
+/da-			deka
+/d-			deci
+/c-			centi
+/m-			milli
+/p-			pico
+/f-			femto
+/a-			atto
+/z-			zopto
+/y-			yocto
+
+/ constants
+
+fuzz			1
+two			2
+pi			3.14159265358979323846
+c			2.99792458+8 m/sec fuzz
+g			9.80665 m/sec2
+au			1.49597871+11 m fuzz
+ at LegacyY@mole			6.022169+23 fuzz
+ at LegacyN@mole			6.02214076+23 fuzz
+ at LegacyY@e			1.6021917-19 coul fuzz
+ at LegacyN@e			1.602176634-19 coul fuzz
+energy			c2
+force			g
+mercury			1.33322+5 kg/m2-sec2
+hg			mercury
+
+/ dimensionless
+
+radian			.5 / pi
+degree			1|180 pi-radian
+circle			2 pi-radian
+turn			2 pi-radian
+revolution			turn
+rev			turn
+grade			.9 degree
+arcdeg			1 degree
+arcmin			1|60 arcdeg
+ccs			1|36 erlang
+arcsec			1|60 arcmin
+
+steradian		radian2
+sphere			4 pi-steradian
+sr			steradian
+
+/ Time
+
+second			sec
+s			sec
+minute			60 sec
+min			minute
+hour			60 min
+hr			hour
+day			24 hr
+da			day
+week			7 day
+year			365.24219879 day fuzz
+yr			year
+month			1|12 year
+ms			millisec
+us			microsec
+
+/ Mass
+
+gram			millikg
+gm			gram
+mg			milligram
+metricton		kilokg
+
+/ Avoirdupois
+
+lb			.45359237 kg
+pound			lb
+lbf			lb g
+ounce			1|16 lb
+oz			ounce
+dram			1|16 oz
+dr			dram
+grain			1|7000 lb
+gr			grain
+shortton		2000 lb
+ton			shortton
+longton			2240 lb
+
+/ Apothecary
+
+scruple			20 grain
+apdram			60 grain
+apounce			480 grain
+appound			5760 grain
+troypound		appound
+
+/ Length
+
+meter			m
+cm			centimeter
+mm			millimeter
+km			kilometer
+nm			nanometer
+micron			micrometer
+angstrom		decinanometer
+
+inch			2.54 cm
+in			inch
+foot			12 in
+feet			foot
+ft			foot
+yard			3 ft
+yd			yard
+rod			5.5 yd
+rd			rod
+mile			5280 ft
+mi			mile
+
+british			1200|3937 m/ft
+nmile			1852m
+
+acre			4840 yd2
+
+cc			cm3
+liter			kilocc
+ml			milliliter
+
+/ US Liquid
+
+gallon			231 in3
+imperial		1.20095
+gal			gallon
+quart			1|4 gal
+qt			quart
+pint			1|2 qt
+pt			pint
+
+floz			1|16 pt
+fldr			1|8 floz
+
+/ US Dry
+
+dry			268.8025 in3/gallon fuzz
+peck			8 dry-quart
+pk			peck
+bushel			4 peck
+bu			bushel
+chaldron		36 bushel
+
+/ British
+
+brgallon		277.420 in3 fuzz
+brquart			1|4 brgallon
+brpint			1|2 brquart
+brfloz			1|20 brpint
+brpeck			554.84 in3 fuzz
+brbushel		4 brpeck
+
+/ Energy Work
+
+newton			kg-m/sec2
+nt			newton
+N			newton
+joule			nt-m
+cal			4.1868 joule
+
+/ Electrical
+
+coulomb			coul
+C			coul
+ampere			coul/sec
+amp			ampere
+watt			joule/sec
+volt			watt/amp
+ohm			volt/amp
+mho			/ohm
+farad			coul/volt
+henry			sec2/farad
+weber			volt-sec
+
+/ Light
+
+cd			candela
+lumen			cd sr
+lux			cd sr/m2
+
+/ Wall Street Journal, July 2, 1993
+
+$			dollar
+argentinapeso		$
+australiadollar		.66 $
+austriaschilling	.83 $
+bahraindinar		2.6522 $
+belgiumfranc		.028 $
+brazilcruzeiro		.000019 $
+britainpound		1.49 $
+canadadollar		.77 $
+czechkoruna		.034 $
+chilepeso		.0025 $
+chinarenminbi		.174856 $
+colombiapeso		.001495 $
+denmarkkrone		.15 $
+ecuadorsucre		.000539 $
+finlandmarkka		.17 $
+francefranc		.17 $
+germanymark		.58 $
+greatbritainpound	britainpound
+greecedrachma		.0043 $
+hongkongdollar		.13  $
+hungaryforint		.011 $
+indiarupee		.03211 $
+indonesiarupiah		.0004782 $
+irelandpunt		1.43 $
+israelshekel		.3642 $
+italylira		.00064 $
+japanyen		.0093 $
+jordandinar		1.4682 $
+kuwaitdinar		3.3173 $
+lebanonpound		.000578 $
+malaysiaringgit		.338 $
+maltalira		2.6042 $
+mexicopeso		.3205128 $
+netherlandsguilder	.52 $
+newzealanddollar	.539 $
+norwaykrone		.139 $
+pakistanrupee		.037 $
+perunewsol		.5065 $
+philippinespeso		.03738 $
+polandzloty		.000059 $
+portugalescudo		.00617 $
+saudiarabiariyal	.26702 $
+singaporedollar		.6157 $
+slovakkoruna		.034 $
+southafricarand		.21 $
+southkoreawon		.001 $
+spainpeseta		.007 $
+swedenkrona		.13 $
+switzerlandfranc	.66 $
+taiwandollar		.038285 $
+thailandbaht		.03962 $
+turkeylira		.0000929 $
+unitedarabdirham	.2723 $
+uruguaynewpeso		.246852 $
+venezuelabolivar	.011 $
+
+mark			germanymark
+bolivar			venezuelabolivar
+peseta			spainpeseta
+rand			southafricarand
+escudo			portugalescudo
+sol			perunewsol
+guilder			netherlandsguilder
+hollandguilder		netherlandsguilder
+peso			mexicopeso
+yen			japanyen
+lira			italylira
+rupee			indiarupee
+drachma			greecedrachma
+franc			francefranc
+markka			finlandmarkka
+sucre			ecuadorsucre
+poundsterling		britainpound
+cruzeiro		brazilcruzeiro
+
+/ computer
+
+baud			bit/sec
+byte			8 bit
+block			512 byte
+kbyte			1024 byte
+megabyte		1024 kbyte
+gigabyte		1024 megabyte
+meg			megabyte
+
+
+/ Trivia
+
+%			1|100
+admiraltyknot		6080 ft/hr
+apostilb		cd/pi-m2
+are			1+2 m2
+arpentcan		27.52 mi
+arpentlin		191.835 ft
+astronomicalunit	au
+atmosphere		1.01325+5 nt/m2
+atm			atmosphere
+atomicmassunit		1.66044-27 kg fuzz
+amu			atomicmassunit
+bag			94 lb
+bakersdozen		13
+bar			1+5 nt/m2
+barie			1-1 nt/m2
+barleycorn		1|3 in
+barn			1-28 m2
+barrel			42 gal
+barye			1-1 nt/m2
+bev			1+9 e-volt
+biot			10 amp
+blondel			cd/pi-m2
+boardfoot		144 in3
+bolt			40 yd
+bottommeasure		1|40 in
+britishthermalunit	1.05506+3 joule fuzz
+btu			britishthermalunit
+refrigeration		12000 btu/ton-hour
+buck			dollar
+cable			720 ft
+caliber			1-2 in
+calorie			cal
+carat			205 mg
+caratgold		1|24
+cent			centidollar
+cental			100 lb
+centesimalminute	1-2 grade
+centesimalsecond	1-4 grade
+century			100 year
+cfs			ft3/sec
+chain			66 ft
+circularinch		1|4 pi-in2
+circularmil		1-6|4 pi-in2
+clusec			1-8 mm-hg m3/s
+coomb			4 bu
+cord			128 ft3
+cordfoot		cord
+crith			9.06-2 gm
+cubit			18 in
+cup			1|2 pt
+curie			3.7+10 /sec
+dalton			amu
+decade			10 yr
+dipotre			/m
+displacementton		35 ft3
+doppelzentner		100 kg
+dozen			12
+drop			.03 cm3
+dyne			cm-gm/sec2
+electronvolt		e-volt
+ell			45 in
+engineerschain		100 ft
+engineerslink		100|100 ft
+equivalentfootcandle	lumen/pi-ft2
+equivalentlux		lumen/pi-m2
+equivalentphot		cd/pi-cm2
+erg			cm2-gm/sec2
+ev			e-volt
+/ faraday			9.652000+04 coul
+/ faraday  from  host: physics.nist.gov
+/          	 path: /PhysRefData/fundconst/html/keywords.html
+ at LegacyY@faraday		9.6485309+4 coul
+ at LegacyN@faraday		e-mole
+fathom			6 ft
+fermi			1-15 m
+fifth			4|5 qt
+fin			5 dollar
+finger			7|8 in
+firkin			9 gal
+footcandle		lumen/ft2
+footlambert		cd/pi-ft2
+fortnight		14 da
+franklin		3.33564-10 coul
+frigorie		kilocal
+furlong			220 yd
+galileo			1-2 m/sec2
+gamma			1-9 weber/m2
+gauss			1-4 weber/m2
+geodeticfoot		british-ft
+geographicalmile	1852 m
+gilbert			7.95775-1 amp
+gill			1|4 pt
+gross			144
+gunterschain		22 yd
+hand			4 in
+hectare			1+4 m2
+hefnercandle		.92 cd
+hertz			/sec
+Hz			hertz
+hogshead		2 barrel
+hd			hogshead
+homestead		1|4 mi2
+horsepower		550 ft-lb-g/sec
+hp			horsepower
+hyl			gm force sec2/m
+hz			/sec
+imaginarycubicfoot	1.4 ft3
+jeroboam		4|5 gal
+ at LegacyY@boltzmann		1.38064852-23 joule/K
+ at LegacyN@boltzmann		1.380649-23 joule/K
+k			boltzmann
+karat			1|24
+kcal			kilocal
+kcalorie		kilocal
+kev			1+3 e-volt
+key			kg
+khz			1+3 /sec
+kilderkin		18 gal
+knot			nmile/hr
+lambert			cd/pi-cm2
+langley			cal/cm2
+last			80 bu
+league			3 mi
+lightyear		c-yr
+line			1|12 in
+link			66|100 ft
+longhundredweight	112 lb
+longquarter		28 lb
+lusec			1-6 mm-hg m3/s
+mach			331.46 m/sec
+magnum			2 qt
+marineleague		3 nmile
+maxwell			1-8 weber
+metriccarat		200 mg
+mgd			megagal/day
+mh			millihenry
+mhz			1+6 /sec
+mil			1-3 in
+millenium		1000 year
+minersinch		1.5 ft3/min
+minim			1|60 fldr
+mo			month
+mpg			mile/gal
+mph			mile/hr
+nail			1|16 yd
+nauticalmile		nmile
+nit			cd/m2
+noggin			1|8 qt
+nox			1-3 lux
+ns			nanosec
+oersted			2.5+2 pi-amp/m
+oe			oersted
+pace			36 in
+palm			3 in
+parasang		3.5 mi
+parsec			au-radian/arcsec
+pascal			nt/m2
+pc			parsec
+pennyweight		1|20 oz
+pwt			pennyweight
+percent			%
+perch			rd
+pf			picofarad
+phot			lumen/cm2
+pica			1|6 in
+pieze			1+3 nt/m2
+pipe			4 barrel
+point			1|72 in
+poise			gm/cm-sec
+pole			rd
+poundal			ft-lb/sec2
+pdl			poundal
+proof			1|200
+psi			lb-g/in2
+quarter			9 in
+quartersection		1|4 mi2
+quintal			100 kg
+quire			25
+ at LegacyY@gasconstant		8.3144598 joule/K
+ at LegacyN@gasconstant		k-mole
+R			gasconstant
+rad			100 erg/gm
+ream			500
+registerton		100 ft3
+rehoboam		156 floz
+rhe			10 m2/nt-sec
+rontgen			2.58-4 curie/kg
+rood			1.21+3 yd
+rope			20 ft
+rutherford		1+6 /sec
+rydberg			1.36054+1 ev
+sabin			1 ft2
+sack			3 bu
+seam			8 bu
+section			mi2
+shippington		40 ft3
+shorthundredweight	100 lb
+shortquarter		25 lb
+siemens			/ohm
+sigma			microsec
+skein			120 yd
+skot			1-3 apostilb
+slug			lb-g-sec2/ft
+span			9 in
+spat			4 pi sr
+spindle			14400 yd
+square			100 ft2
+stere			m3
+sthene			1+3 nt
+stilb			cd/cm2
+stoke			1-4 m2/sec
+stone			14 lb
+strike			2 bu
+surveyfoot		british-ft
+surveyyard		3 surveyfoot
+surveyorschain		66 ft
+surveyorslink		66|100 ft
+tablespoon		4 fldr
+teaspoon		4|3 fldr
+tesla			weber/m2
+therm			1+5 btu
+thermie			1+6 cal
+timberfoot		ft3
+tnt			4.6+6 m2/sec2
+tonne			1+6 gm
+torr			mm hg
+township		36 mi2
+tun			8 barrel
+water			gram g / cc
+wey			40 bu
+weymass			252 lb
+Xunit			1.00202-13m
+degC			K
+
+kelvin			K
+brewster		1-12 m2/newton
+degF			5|9 degC
+degreesrankine		degF
+degrankine		degreesrankine
+degreerankine		degF
+degreaumur		10|8 degC
+drachm			60 grain
+poncelet		100 kg m g / sec
+denier			.05|450 gram / m
+tex			.001 gram / m
+englishell		45 inch
+scottishell		37.2 inch
+flemishell		27 inch
+ at LegacyY@planck			6.626-34 joule-sec
+ at LegacyN@planck			6.62607015-34 joule-sec
+ at LegacyY@hbar			1.055-34 joule-sec
+ at LegacyN@hbar			planck/two-pi
+electronmass		9.1095-31 kg
+protonmass		1.6726-27 kg
+neutronmass		1.6606-27 kg
+V			volt
+eV			e V
+bohrradius		1|8.988e9 hbar2-C2 / N m2-e2-electronmass
+becquerel		1|3.7+10 curie
+fresnel			1+12 hertz
+statcoul		1|2.99792458+9 coul
+statamp			1|2.99792458+9 amp
+statvolt		2.99792458+2 volt
+statcoulomb		statcoul
+statampere		statamp
+debye			3.336-30 coul-m
+pulsatance		2 pi/sec
+rpm			rev/minute
+rps			rev/sec
+kilohm			kiloohm
+megohm			megaohm
+siderealyear		365.256360417 day
+siderealday		23.934469444 hour
+siderealhour		1|24 siderealday
+lunarmonth		29.5305555 day
+synodicmonth		lunarmonth
+siderealmonth		27.32152777 day
+tropicalyear		year
+solaryear		year
+lunaryear		12 lunarmonth
+cran			37.5 brgallon
+kip			1000 lbf
+frenchfoot		16|15 ft
+frenchfeet		frenchfoot
+toise			6 frenchfeet
+sievert			8.4 rontgen
+candle			1.02 candela
+militarypace		2.5 feet
+metre			meter
+litre			liter
+gramme			gram
+iudiptheria		62.8 microgram
+iupenicillin		.6 microgram
+iuinsulin		41.67 microgram
+cottonyarncount		2520 ft/pound
+linenyarncount		900 ft/pound
+worstedyarncount	1680 ft/pound
+metricyarncount		meter/gram
+jewlerspoint		2 milligram
+
+
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/nmodlconf.h
@@ -0,0 +1,392 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+
+#ifndef H_nrnconf_included
+#define H_nrnconf_included 1
+
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* if mac os x */
+/* #undef DARWIN */
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the `bcopy' function. */
+#define HAVE_BCOPY 1
+
+/* Define to 1 if you have the `bzero' function. */
+#define HAVE_BZERO 1
+
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H TRUE
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+#define HAVE_EXECINFO_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
+/* Define to 1 if you have the `fesetround' function. */
+#define HAVE_FESETROUND 1
+
+/* Define to 1 if you have the `feenableexcept' function. */
+#define HAVE_FEENABLEEXCEPT 1
+
+/* Define to 1 if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define to 1 if you have the `ftime' function. */
+#define HAVE_FTIME 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `gethostname' function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define to 1 if you have the `getpw' function. */
+#define HAVE_GETPW 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `index' function. */
+#define HAVE_INDEX 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* define if using InterViews */
+#define HAVE_IV 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if you have the `lockf' function. */
+#define HAVE_LOCKF 1
+
+/* Define to 1 if you have the `mallinfo' function. */
+#define HAVE_MALLINFO 1
+
+/* Define to 1 if you have the `mallinfo2' function. */
+#define HAVE_MALLINFO2 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define to 1 if you have the <math.h> header file. */
+#define HAVE_MATH_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkdir' function. */
+#define HAVE_MKDIR 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* define if the compiler implements namespaces */
+#define HAVE_NAMESPACES /**/
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the `posix_memalign' function. */
+#define HAVE_POSIX_MEMALIGN 1
+
+/* Define if you have POSIX threads libraries and header files. */
+/* #undef HAVE_PTHREAD */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if you have the `putenv' function. */
+#define HAVE_PUTENV 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `select' function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setitimer' function. */
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if you have the <sgtty.h> header file. */
+#define HAVE_SGTTY_H 1
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGBUS 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGSEGV 1
+
+/* define if the compiler has stringstream */
+#define HAVE_SSTREAM /**/
+
+/* Define to 1 if you have the <stdarg.h> header file. */
+#define HAVE_STDARG_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the <stream.h> header file. */
+/* #undef HAVE_STREAM_H */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `stty' function. */
+/* #undef HAVE_STTY */
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+/* #undef HAVE_SYS_CONF_H */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+#define HAVE_TERMIO_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <varargs.h> header file. */
+/* #undef HAVE_VARARGS_H */
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Define to 1 if you have the <_G_config.h> header file. */
+/* #undef HAVE__G_CONFIG_H */
+
+/* define if can declare inline float abs(float) */
+/* #undef INLINE_FLOAT_ABS */
+
+/* define if can declare inline long abs(long) */
+/* #undef INLINE_LONG_ABS */
+
+/* undefined or ::fabs or std::fabs */
+#define IVOS_FABS ::fabs
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
+
+/* 1 for legacy, undef for NIST (as of 2017), for FARADAY and R */
+/* #undef LegacyFR */
+
+/* define if using mingw */
+/* #undef MINGW */
+
+/* define if using Mike Neubig <neubig at salk.edu> contributions */
+/* #undef MikeNeubig */
+
+/* where the lib hoc is */
+#define NEURON_DATA_DIR "/usr/share/nrn"
+
+/* host triplet */
+#define NRNHOST "loongarch64-Linux"
+
+/* cpu type consistent with nrnivmodl */
+#define NRNHOSTCPU "loongarch64"
+
+/* if 1 then dlopen nrnmech instead of special */
+#define NRNMECH_DLL_STYLE 1
+
+/* if 1 then dynamic units default is legacy units */
+/* #undef DYNAMIC_UNITS_USE_LEGACY_DEFAULT */
+
+/* if nrnoc can use X11 */
+#define NRNOC_X11 1
+
+/* location of NEURON libraries */
+#define NRN_LIBDIR "/usr/lib"
+
+/* Name of package */
+#define PACKAGE "nrn"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+/* #undef PACKAGE_NAME */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "nrn 8.2.2"
+
+/* Define to the one symbol short name of this package. */
+/* #undef PACKAGE_TARNAME */
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "8.2.2"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* define if RETSIGTYPE(*)(int) is not the prototype for a signal handler */
+/* #undef SIGNAL_CAST */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define SUNDIALS data type 'realtype' as 'long double' */
+#define SUNDIALS_DOUBLE_PRECISION 1
+
+/* Use generic math functions */
+#define SUNDIALS_USE_GENERIC_MATH 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Version number of package */
+#define VERSION "8.2.2"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#define YYTEXT_POINTER 1
+
+/* define if using Carbon libraries */
+/* #undef carbon */
+
+/* Define to the type of a signed integer type of width exactly 64 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef int64_t */
+
+/* Define to `long int' if <sys/types.h> does not define. */
+/* #undef off_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+
+#if defined(__cplusplus)
+#include <ivstream.h>
+#endif
+
+#ifdef MINGW
+#define WIN32 1
+#endif
+
+
+#if defined(carbon) && defined(__cplusplus)
+#define MAC 1
+#include <Carbon/Carbon.h>
+#endif
+
+#endif /* H_nrnconf_included */
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h
@@ -0,0 +1,392 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+
+#ifndef H_nrnconf_included
+#define H_nrnconf_included 1
+
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* if mac os x */
+/* #undef DARWIN */
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the `bcopy' function. */
+#define HAVE_BCOPY 1
+
+/* Define to 1 if you have the `bzero' function. */
+#define HAVE_BZERO 1
+
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H TRUE
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+#define HAVE_EXECINFO_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
+/* Define to 1 if you have the `fesetround' function. */
+#define HAVE_FESETROUND 1
+
+/* Define to 1 if you have the `feenableexcept' function. */
+#define HAVE_FEENABLEEXCEPT 1
+
+/* Define to 1 if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define to 1 if you have the `ftime' function. */
+#define HAVE_FTIME 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `gethostname' function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define to 1 if you have the `getpw' function. */
+#define HAVE_GETPW 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `index' function. */
+#define HAVE_INDEX 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* define if using InterViews */
+#define HAVE_IV 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if you have the `lockf' function. */
+#define HAVE_LOCKF 1
+
+/* Define to 1 if you have the `mallinfo' function. */
+#define HAVE_MALLINFO 1
+
+/* Define to 1 if you have the `mallinfo2' function. */
+#define HAVE_MALLINFO2 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define to 1 if you have the <math.h> header file. */
+#define HAVE_MATH_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkdir' function. */
+#define HAVE_MKDIR 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* define if the compiler implements namespaces */
+#define HAVE_NAMESPACES /**/
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the `posix_memalign' function. */
+#define HAVE_POSIX_MEMALIGN 1
+
+/* Define if you have POSIX threads libraries and header files. */
+/* #undef HAVE_PTHREAD */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if you have the `putenv' function. */
+#define HAVE_PUTENV 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `select' function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setitimer' function. */
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if you have the <sgtty.h> header file. */
+#define HAVE_SGTTY_H 1
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGBUS 1
+
+/* (Define if this signal exists) */
+#define HAVE_SIGSEGV 1
+
+/* define if the compiler has stringstream */
+#define HAVE_SSTREAM /**/
+
+/* Define to 1 if you have the <stdarg.h> header file. */
+#define HAVE_STDARG_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the <stream.h> header file. */
+/* #undef HAVE_STREAM_H */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `stty' function. */
+/* #undef HAVE_STTY */
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+/* #undef HAVE_SYS_CONF_H */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+#define HAVE_TERMIO_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <varargs.h> header file. */
+/* #undef HAVE_VARARGS_H */
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Define to 1 if you have the <_G_config.h> header file. */
+/* #undef HAVE__G_CONFIG_H */
+
+/* define if can declare inline float abs(float) */
+/* #undef INLINE_FLOAT_ABS */
+
+/* define if can declare inline long abs(long) */
+/* #undef INLINE_LONG_ABS */
+
+/* undefined or ::fabs or std::fabs */
+#define IVOS_FABS ::fabs
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
+
+/* 1 for legacy, undef for NIST (as of 2017), for FARADAY and R */
+/* #undef LegacyFR */
+
+/* define if using mingw */
+/* #undef MINGW */
+
+/* define if using Mike Neubig <neubig at salk.edu> contributions */
+/* #undef MikeNeubig */
+
+/* where the lib hoc is */
+#define NEURON_DATA_DIR "/usr/share/nrn"
+
+/* host triplet */
+#define NRNHOST "loongarch64-Linux"
+
+/* cpu type consistent with nrnivmodl */
+#define NRNHOSTCPU "loongarch64"
+
+/* if 1 then dlopen nrnmech instead of special */
+#define NRNMECH_DLL_STYLE 1
+
+/* if 1 then dynamic units default is legacy units */
+/* #undef DYNAMIC_UNITS_USE_LEGACY_DEFAULT */
+
+/* if nrnoc can use X11 */
+#define NRNOC_X11 1
+
+/* location of NEURON libraries */
+#define NRN_LIBDIR "/usr/lib"
+
+/* Name of package */
+#define PACKAGE "nrn"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+/* #undef PACKAGE_NAME */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "nrn 8.2.2"
+
+/* Define to the one symbol short name of this package. */
+/* #undef PACKAGE_TARNAME */
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "8.2.2"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* define if RETSIGTYPE(*)(int) is not the prototype for a signal handler */
+/* #undef SIGNAL_CAST */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define SUNDIALS data type 'realtype' as 'long double' */
+#define SUNDIALS_DOUBLE_PRECISION 1
+
+/* Use generic math functions */
+#define SUNDIALS_USE_GENERIC_MATH 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Version number of package */
+#define VERSION "8.2.2"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#define YYTEXT_POINTER 1
+
+/* define if using Carbon libraries */
+/* #undef carbon */
+
+/* Define to the type of a signed integer type of width exactly 64 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef int64_t */
+
+/* Define to `long int' if <sys/types.h> does not define. */
+/* #undef off_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+
+#if defined(__cplusplus)
+#include <ivstream.h>
+#endif
+
+#ifdef MINGW
+#define WIN32 1
+#endif
+
+
+#if defined(carbon) && defined(__cplusplus)
+#define MAC 1
+#include <Carbon/Carbon.h>
+#endif
+
+#endif /* H_nrnconf_included */
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/debian-build/wuruilong/demo/neuron-8.2.2")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+1
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make
@@ -0,0 +1,89 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for rx3d.
+
+# Include any custom commands dependencies for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/progress.make
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d:
+
+rx3d: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d
+rx3d: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make
+.PHONY : rx3d
+
+# Rule to build all files generated by this target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build: rx3d
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d && $(CMAKE_COMMAND) -P CMakeFiles/rx3d.dir/cmake_clean.cmake
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/clean
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/rx3d"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/rx3d.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for rx3d.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for rx3d.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/progress.make
@@ -0,0 +1 @@
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make
@@ -0,0 +1,90 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for rx3dextensions_0.
+
+# Include any custom commands dependencies for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/progress.make
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d && bash /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/runpy.sh /usr/bin/python3
+
+rx3dextensions_0: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0
+rx3dextensions_0: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make
+.PHONY : rx3dextensions_0
+
+# Rule to build all files generated by this target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build: rx3dextensions_0
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d && $(CMAKE_COMMAND) -P CMakeFiles/rx3dextensions_0.dir/cmake_clean.cmake
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/clean
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/rx3dextensions_0"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/rx3dextensions_0.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for rx3dextensions_0.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for rx3dextensions_0.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/progress.make
@@ -0,0 +1 @@
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make
@@ -0,0 +1,112 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for rxd_cython_generated.
+
+# Include any custom commands dependencies for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/progress.make
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/ctng.cpp
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
+
+share/lib/python/neuron/rxd/geometry3d/ctng.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d/ctng.pyx
+share/lib/python/neuron/rxd/geometry3d/ctng.cpp: share/lib/python/neuron/rxd/geometry3d/setup.py
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating ctng.cpp"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && /usr/bin/cython3 -2 ctng.pyx -o /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/ctng.cpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && bash /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cy_cpp_filt.sh /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/ctng.cpp
+
+share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.pyx
+share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp: share/lib/python/neuron/rxd/geometry3d/setup.py
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating graphicsPrimitives.cpp"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && /usr/bin/cython3 -2 graphicsPrimitives.pyx -o /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && bash /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cy_cpp_filt.sh /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
+
+share/lib/python/neuron/rxd/geometry3d/surfaces.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d/surfaces.pyx
+share/lib/python/neuron/rxd/geometry3d/surfaces.cpp: share/lib/python/neuron/rxd/geometry3d/setup.py
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating surfaces.cpp"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && /usr/bin/cython3 -2 surfaces.pyx -o /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d && bash /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cy_cpp_filt.sh /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
+
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/ctng.cpp
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make
+.PHONY : rxd_cython_generated
+
+# Rule to build all files generated by this target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build: rxd_cython_generated
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d && $(CMAKE_COMMAND) -P CMakeFiles/rxd_cython_generated.dir/cmake_clean.cmake
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/clean
+
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/cmake_clean.cmake
@@ -0,0 +1,11 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/rxd_cython_generated"
+  "ctng.cpp"
+  "graphicsPrimitives.cpp"
+  "surfaces.cpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/rxd_cython_generated.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for rxd_cython_generated.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for rxd_cython_generated.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/progress.make
@@ -0,0 +1,4 @@
+CMAKE_PROGRESS_1 = 99
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/Makefile
@@ -0,0 +1,237 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d//CMakeFiles/progress.marks
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule
+
+# Convenience name for target.
+rxd_cython_generated: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/rule
+.PHONY : rxd_cython_generated
+
+# fast build rule for target.
+rxd_cython_generated/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rxd_cython_generated.dir/build
+.PHONY : rxd_cython_generated/fast
+
+# Convenience name for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule
+
+# Convenience name for target.
+rx3dextensions_0: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/rule
+.PHONY : rx3dextensions_0
+
+# fast build rule for target.
+rx3dextensions_0/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3dextensions_0.dir/build
+.PHONY : rx3dextensions_0/fast
+
+# Convenience name for target.
+share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule
+.PHONY : share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule
+
+# Convenience name for target.
+rx3d: share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/rule
+.PHONY : rx3d
+
+# fast build rule for target.
+rx3d/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build.make share/lib/python/neuron/rxd/geometry3d/CMakeFiles/rx3d.dir/build
+.PHONY : rx3d/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... install"
+	@echo "... install/local"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... rx3d"
+	@echo "... rx3dextensions_0"
+	@echo "... rxd_cython_generated"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cmake_install.cmake
@@ -0,0 +1,44 @@
+# Install script for directory: /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/rxd/geometry3d
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/ctng.cpp
@@ -0,0 +1,30489 @@
+/* Generated by Cython 0.29.36 */
+
+#ifndef PY_SSIZE_T_CLEAN
+#define PY_SSIZE_T_CLEAN
+#endif /* PY_SSIZE_T_CLEAN */
+#include "Python.h"
+#ifndef Py_PYTHON_H
+    #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
+    #error Cython requires Python 2.6+ or Python 3.3+.
+#else
+#define CYTHON_ABI "0_29_36"
+#define CYTHON_HEX_VERSION 0x001D24F0
+#define CYTHON_FUTURE_DIVISION 0
+#include <stddef.h>
+#ifndef offsetof
+  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
+#endif
+#if !defined(WIN32) && !defined(MS_WINDOWS)
+  #ifndef __stdcall
+    #define __stdcall
+  #endif
+  #ifndef __cdecl
+    #define __cdecl
+  #endif
+  #ifndef __fastcall
+    #define __fastcall
+  #endif
+#endif
+#ifndef DL_IMPORT
+  #define DL_IMPORT(t) t
+#endif
+#ifndef DL_EXPORT
+  #define DL_EXPORT(t) t
+#endif
+#define __PYX_COMMA ,
+#ifndef HAVE_LONG_LONG
+  #if PY_VERSION_HEX >= 0x02070000
+    #define HAVE_LONG_LONG
+  #endif
+#endif
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+#ifndef Py_HUGE_VAL
+  #define Py_HUGE_VAL HUGE_VAL
+#endif
+#ifdef PYPY_VERSION
+  #define CYTHON_COMPILING_IN_PYPY 1
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #undef CYTHON_USE_TYPE_SLOTS
+  #define CYTHON_USE_TYPE_SLOTS 0
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #if PY_VERSION_HEX < 0x03050000
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_INTERNALS
+  #define CYTHON_USE_UNICODE_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #undef CYTHON_AVOID_BORROWED_REFS
+  #define CYTHON_AVOID_BORROWED_REFS 1
+  #undef CYTHON_ASSUME_SAFE_MACROS
+  #define CYTHON_ASSUME_SAFE_MACROS 0
+  #undef CYTHON_UNPACK_METHODS
+  #define CYTHON_UNPACK_METHODS 0
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #if PY_VERSION_HEX < 0x03090000
+    #undef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PYSTON_VERSION)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 1
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #undef CYTHON_USE_ASYNC_SLOTS
+  #define CYTHON_USE_ASYNC_SLOTS 0
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #undef CYTHON_PEP489_MULTI_PHASE_INIT
+  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE 0
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PY_NOGIL)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 1
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #ifndef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE 1
+  #endif
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+#else
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 1
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYTYPE_LOOKUP
+    #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
+    #define CYTHON_USE_PYTYPE_LOOKUP 1
+  #endif
+  #if PY_MAJOR_VERSION < 3
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYLONG_INTERNALS
+    #define CYTHON_USE_PYLONG_INTERNALS 0
+  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
+    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
+  #endif
+  #ifndef CYTHON_USE_PYLIST_INTERNALS
+    #define CYTHON_USE_PYLIST_INTERNALS 1
+  #endif
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
+    #undef CYTHON_USE_UNICODE_WRITER
+    #define CYTHON_USE_UNICODE_WRITER 0
+  #elif !defined(CYTHON_USE_UNICODE_WRITER)
+    #define CYTHON_USE_UNICODE_WRITER 1
+  #endif
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_FAST_THREAD_STATE
+    #define CYTHON_FAST_THREAD_STATE 0
+  #elif !defined(CYTHON_FAST_THREAD_STATE)
+    #define CYTHON_FAST_THREAD_STATE 1
+  #endif
+  #ifndef CYTHON_FAST_PYCALL
+    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
+  #endif
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
+  #endif
+  #ifndef CYTHON_USE_DICT_VERSIONS
+    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_USE_EXC_INFO_STACK
+    #define CYTHON_USE_EXC_INFO_STACK 0
+  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
+    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
+  #endif
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
+  #endif
+#endif
+#if !defined(CYTHON_FAST_PYCCALL)
+#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
+#endif
+#if CYTHON_USE_PYLONG_INTERNALS
+  #if PY_MAJOR_VERSION < 3
+    #include "longintrepr.h"
+  #endif
+  #undef SHIFT
+  #undef BASE
+  #undef MASK
+  #ifdef SIZEOF_VOID_P
+    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
+  #endif
+#endif
+#ifndef __has_attribute
+  #define __has_attribute(x) 0
+#endif
+#ifndef __has_cpp_attribute
+  #define __has_cpp_attribute(x) 0
+#endif
+#ifndef CYTHON_RESTRICT
+  #if defined(__GNUC__)
+    #define CYTHON_RESTRICT __restrict__
+  #elif defined(_MSC_VER) && _MSC_VER >= 1400
+    #define CYTHON_RESTRICT __restrict
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_RESTRICT restrict
+  #else
+    #define CYTHON_RESTRICT
+  #endif
+#endif
+#ifndef CYTHON_UNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define CYTHON_UNUSED __attribute__ ((__unused__))
+#   else
+#     define CYTHON_UNUSED
+#   endif
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
+#   define CYTHON_UNUSED __attribute__ ((__unused__))
+# else
+#   define CYTHON_UNUSED
+# endif
+#endif
+#ifndef CYTHON_MAYBE_UNUSED_VAR
+#  if defined(__cplusplus)
+     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
+#  else
+#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
+#  endif
+#endif
+#ifndef CYTHON_NCP_UNUSED
+# if CYTHON_COMPILING_IN_CPYTHON
+#  define CYTHON_NCP_UNUSED
+# else
+#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
+# endif
+#endif
+#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
+#ifdef _MSC_VER
+    #ifndef _MSC_STDINT_H_
+        #if _MSC_VER < 1300
+           typedef unsigned char     uint8_t;
+           typedef unsigned int      uint32_t;
+        #else
+           typedef unsigned __int8   uint8_t;
+           typedef unsigned __int32  uint32_t;
+        #endif
+    #endif
+#else
+   #include <stdint.h>
+#endif
+#ifndef CYTHON_FALLTHROUGH
+  #if defined(__cplusplus) && __cplusplus >= 201103L
+    #if __has_cpp_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH [[fallthrough]]
+    #elif __has_cpp_attribute(clang::fallthrough)
+      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
+    #elif __has_cpp_attribute(gnu::fallthrough)
+      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
+    #endif
+  #endif
+  #ifndef CYTHON_FALLTHROUGH
+    #if __has_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
+    #else
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+  #if defined(__clang__ ) && defined(__apple_build_version__)
+    #if __apple_build_version__ < 7000000
+      #undef  CYTHON_FALLTHROUGH
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+#endif
+
+#ifndef CYTHON_INLINE
+  #if defined(__clang__)
+    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
+  #elif defined(__GNUC__)
+    #define CYTHON_INLINE __inline__
+  #elif defined(_MSC_VER)
+    #define CYTHON_INLINE __inline
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_INLINE inline
+  #else
+    #define CYTHON_INLINE
+  #endif
+#endif
+
+#define __PYX_BUILD_PY_SSIZE_T "n"
+#define CYTHON_FORMAT_SSIZE_T "z"
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+  #define __Pyx_DefaultClassType PyClass_Type
+#else
+  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_DefaultClassType PyType_Type
+#if PY_VERSION_HEX >= 0x030B00A1
+    static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
+                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+                                                    PyObject *fv, PyObject *cell, PyObject* fn,
+                                                    PyObject *name, int fline, PyObject *lnos) {
+        PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
+        PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
+        const char *fn_cstr=NULL;
+        const char *name_cstr=NULL;
+        PyCodeObject* co=NULL;
+        PyObject *type, *value, *traceback;
+        PyErr_Fetch(&type, &value, &traceback);
+        if (!(kwds=PyDict_New())) goto end;
+        if (!(argcount=PyLong_FromLong(a))) goto end;
+        if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
+        if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
+        if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
+        if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
+        if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
+        if (!(nlocals=PyLong_FromLong(l))) goto end;
+        if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
+        if (!(stacksize=PyLong_FromLong(s))) goto end;
+        if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
+        if (!(flags=PyLong_FromLong(f))) goto end;
+        if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
+        if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
+        if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
+        if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
+        if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
+        if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
+        if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
+        Py_XDECREF((PyObject*)co);
+        co = (PyCodeObject*)call_result;
+        call_result = NULL;
+        if (0) {
+            cleanup_code_too:
+            Py_XDECREF((PyObject*)co);
+            co = NULL;
+        }
+        end:
+        Py_XDECREF(kwds);
+        Py_XDECREF(argcount);
+        Py_XDECREF(posonlyargcount);
+        Py_XDECREF(kwonlyargcount);
+        Py_XDECREF(nlocals);
+        Py_XDECREF(stacksize);
+        Py_XDECREF(replace);
+        Py_XDECREF(call_result);
+        Py_XDECREF(empty);
+        if (type) {
+            PyErr_Restore(type, value, traceback);
+        }
+        return co;
+    }
+#else
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#endif
+  #define __Pyx_DefaultClassType PyType_Type
+#endif
+#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
+#else
+  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
+#endif
+#ifndef Py_TPFLAGS_CHECKTYPES
+  #define Py_TPFLAGS_CHECKTYPES 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_INDEX
+  #define Py_TPFLAGS_HAVE_INDEX 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
+  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_FINALIZE
+  #define Py_TPFLAGS_HAVE_FINALIZE 0
+#endif
+#ifndef METH_STACKLESS
+  #define METH_STACKLESS 0
+#endif
+#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
+  #ifndef METH_FASTCALL
+     #define METH_FASTCALL 0x80
+  #endif
+  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
+  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
+                                                          Py_ssize_t nargs, PyObject *kwnames);
+#else
+  #define __Pyx_PyCFunctionFast _PyCFunctionFast
+  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
+#endif
+#if CYTHON_FAST_PYCCALL
+#define __Pyx_PyFastCFunction_Check(func)\
+    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
+#else
+#define __Pyx_PyFastCFunction_Check(func) 0
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
+  #define PyObject_Malloc(s)   PyMem_Malloc(s)
+  #define PyObject_Free(p)     PyMem_Free(p)
+  #define PyObject_Realloc(p)  PyMem_Realloc(p)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
+  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
+  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
+  #define PyMem_RawFree(p)             PyMem_Free(p)
+#endif
+#if CYTHON_COMPILING_IN_PYSTON
+  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
+#else
+  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
+#endif
+#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x03060000
+  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
+#elif PY_VERSION_HEX >= 0x03000000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#else
+  #define __Pyx_PyThreadState_Current _PyThreadState_Current
+#endif
+#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
+#include "pythread.h"
+#define Py_tss_NEEDS_INIT 0
+typedef int Py_tss_t;
+static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
+  *key = PyThread_create_key();
+  return 0;
+}
+static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
+  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
+  *key = Py_tss_NEEDS_INIT;
+  return key;
+}
+static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
+  PyObject_Free(key);
+}
+static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
+  return *key != Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
+  PyThread_delete_key(*key);
+  *key = Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
+  return PyThread_set_key_value(*key, value);
+}
+static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
+  return PyThread_get_key_value(*key);
+}
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
+#else
+#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
+#endif
+#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
+#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
+#else
+#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
+#endif
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
+  #define CYTHON_PEP393_ENABLED 1
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_READY(op)       (0)
+  #else
+    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
+                                                0 : _PyUnicode_Ready((PyObject *)(op)))
+  #endif
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
+  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
+  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
+  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
+  #else
+    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
+    #else
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+    #endif
+  #endif
+#else
+  #define CYTHON_PEP393_ENABLED 0
+  #define PyUnicode_1BYTE_KIND  1
+  #define PyUnicode_2BYTE_KIND  2
+  #define PyUnicode_4BYTE_KIND  4
+  #define __Pyx_PyUnicode_READY(op)       (0)
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
+  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
+  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
+  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
+  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
+#endif
+#if CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+#else
+  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
+      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
+  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
+  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
+  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
+#endif
+#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
+#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
+#else
+  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
+#endif
+#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
+  #define PyObject_ASCII(o)            PyObject_Repr(o)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBaseString_Type            PyUnicode_Type
+  #define PyStringObject               PyUnicodeObject
+  #define PyString_Type                PyUnicode_Type
+  #define PyString_Check               PyUnicode_Check
+  #define PyString_CheckExact          PyUnicode_CheckExact
+#ifndef PyObject_Unicode
+  #define PyObject_Unicode             PyObject_Str
+#endif
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
+  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
+#else
+  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
+  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
+#endif
+#ifndef PySet_CheckExact
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
+#endif
+#if PY_VERSION_HEX >= 0x030900A4
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
+#else
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
+#endif
+#if CYTHON_ASSUME_SAFE_MACROS
+  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
+#else
+  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyIntObject                  PyLongObject
+  #define PyInt_Type                   PyLong_Type
+  #define PyInt_Check(op)              PyLong_Check(op)
+  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
+  #define PyInt_FromString             PyLong_FromString
+  #define PyInt_FromUnicode            PyLong_FromUnicode
+  #define PyInt_FromLong               PyLong_FromLong
+  #define PyInt_FromSize_t             PyLong_FromSize_t
+  #define PyInt_FromSsize_t            PyLong_FromSsize_t
+  #define PyInt_AsLong                 PyLong_AsLong
+  #define PyInt_AS_LONG                PyLong_AS_LONG
+  #define PyInt_AsSsize_t              PyLong_AsSsize_t
+  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
+  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+  #define PyNumber_Int                 PyNumber_Long
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBoolObject                 PyLongObject
+#endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
+#if PY_VERSION_HEX < 0x030200A4
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
+#endif
+#if CYTHON_USE_ASYNC_SLOTS
+  #if PY_VERSION_HEX >= 0x030500B1
+    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
+    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
+  #else
+    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
+  #endif
+#else
+  #define __Pyx_PyType_AsAsync(obj) NULL
+#endif
+#ifndef __Pyx_PyAsyncMethodsStruct
+    typedef struct {
+        unaryfunc am_await;
+        unaryfunc am_aiter;
+        unaryfunc am_anext;
+    } __Pyx_PyAsyncMethodsStruct;
+#endif
+
+#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
+  #if !defined(_USE_MATH_DEFINES)
+    #define _USE_MATH_DEFINES
+  #endif
+#endif
+#include <math.h>
+#ifdef NAN
+#define __PYX_NAN() ((float) NAN)
+#else
+static CYTHON_INLINE float __PYX_NAN() {
+  float value;
+  memset(&value, 0xFF, sizeof(value));
+  return value;
+}
+#endif
+#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
+#define __Pyx_truncl trunc
+#else
+#define __Pyx_truncl truncl
+#endif
+
+#define __PYX_MARK_ERR_POS(f_index, lineno) \
+    { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
+#define __PYX_ERR(f_index, lineno, Ln_error) \
+    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
+
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
+#endif
+
+#define __PYX_HAVE__neuron__rxd__geometry3d__ctng
+#define __PYX_HAVE_API__neuron__rxd__geometry3d__ctng
+/* Early includes */
+#include <string.h>
+#include <stdio.h>
+#include "numpy/arrayobject.h"
+#include "numpy/ufuncobject.h"
+#include "math.h"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
+
+#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
+#define CYTHON_WITHOUT_ASSERTIONS
+#endif
+
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
+                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
+
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
+#define __PYX_DEFAULT_STRING_ENCODING ""
+#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#define __Pyx_uchar_cast(c) ((unsigned char)c)
+#define __Pyx_long_cast(x) ((long)x)
+#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
+    (sizeof(type) < sizeof(Py_ssize_t))  ||\
+    (sizeof(type) > sizeof(Py_ssize_t) &&\
+          likely(v < (type)PY_SSIZE_T_MAX ||\
+                 v == (type)PY_SSIZE_T_MAX)  &&\
+          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
+                                v == (type)PY_SSIZE_T_MIN)))  ||\
+    (sizeof(type) == sizeof(Py_ssize_t) &&\
+          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
+                               v == (type)PY_SSIZE_T_MAX)))  )
+static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
+    return (size_t) i < (size_t) limit;
+}
+#if defined (__cplusplus) && __cplusplus >= 201103L
+    #include <cstdlib>
+    #define __Pyx_sst_abs(value) std::abs(value)
+#elif SIZEOF_INT >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) abs(value)
+#elif SIZEOF_LONG >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) labs(value)
+#elif defined (_MSC_VER)
+    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
+#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define __Pyx_sst_abs(value) llabs(value)
+#elif defined (__GNUC__)
+    #define __Pyx_sst_abs(value) __builtin_llabs(value)
+#else
+    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
+#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
+#define __Pyx_PyBytes_FromString        PyBytes_FromString
+#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
+#if PY_MAJOR_VERSION < 3
+    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#else
+    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
+#endif
+#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
+    const Py_UNICODE *u_end = u;
+    while (*u_end++) ;
+    return (size_t)(u_end - u - 1);
+}
+#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
+#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
+#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
+#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
+#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
+#define __Pyx_PySequence_Tuple(obj)\
+    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
+#if CYTHON_ASSUME_SAFE_MACROS
+#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
+#else
+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
+#endif
+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
+#else
+#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
+#endif
+#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+static int __Pyx_sys_getdefaultencoding_not_ascii;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    PyObject* ascii_chars_u = NULL;
+    PyObject* ascii_chars_b = NULL;
+    const char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    if (strcmp(default_encoding_c, "ascii") == 0) {
+        __Pyx_sys_getdefaultencoding_not_ascii = 0;
+    } else {
+        char ascii_chars[128];
+        int c;
+        for (c = 0; c < 128; c++) {
+            ascii_chars[c] = c;
+        }
+        __Pyx_sys_getdefaultencoding_not_ascii = 1;
+        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
+        if (!ascii_chars_u) goto bad;
+        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
+        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
+            PyErr_Format(
+                PyExc_ValueError,
+                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
+                default_encoding_c);
+            goto bad;
+        }
+        Py_DECREF(ascii_chars_u);
+        Py_DECREF(ascii_chars_b);
+    }
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    Py_XDECREF(ascii_chars_u);
+    Py_XDECREF(ascii_chars_b);
+    return -1;
+}
+#endif
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
+#else
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+static char* __PYX_DEFAULT_STRING_ENCODING;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
+    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
+    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    return -1;
+}
+#endif
+#endif
+
+
+/* Test for GCC > 2.95 */
+#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
+  #define likely(x)   __builtin_expect(!!(x), 1)
+  #define unlikely(x) __builtin_expect(!!(x), 0)
+#else /* !__GNUC__ or GCC < 2.95 */
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
+#endif /* __GNUC__ */
+static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
+
+static PyObject *__pyx_m = NULL;
+static PyObject *__pyx_d;
+static PyObject *__pyx_b;
+static PyObject *__pyx_cython_runtime = NULL;
+static PyObject *__pyx_empty_tuple;
+static PyObject *__pyx_empty_bytes;
+static PyObject *__pyx_empty_unicode;
+static int __pyx_lineno;
+static int __pyx_clineno = 0;
+static const char * __pyx_cfilenm= __FILE__;
+static const char *__pyx_filename;
+
+/* Header.proto */
+#if !defined(CYTHON_CCOMPLEX)
+  #if defined(__cplusplus)
+    #define CYTHON_CCOMPLEX 1
+  #elif defined(_Complex_I)
+    #define CYTHON_CCOMPLEX 1
+  #else
+    #define CYTHON_CCOMPLEX 0
+  #endif
+#endif
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #include <complex>
+  #else
+    #include <complex.h>
+  #endif
+#endif
+#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
+  #undef _Complex_I
+  #define _Complex_I 1.0fj
+#endif
+
+
+static const char *__pyx_f[] = {
+  "ctng.pyx",
+  "__init__.pxd",
+  "type.pxd",
+};
+/* BufferFormatStructs.proto */
+#define IS_UNSIGNED(type) (((type) -1) > 0)
+struct __Pyx_StructField_;
+#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
+typedef struct {
+  const char* name;
+  struct __Pyx_StructField_* fields;
+  size_t size;
+  size_t arraysize[8];
+  int ndim;
+  char typegroup;
+  char is_unsigned;
+  int flags;
+} __Pyx_TypeInfo;
+typedef struct __Pyx_StructField_ {
+  __Pyx_TypeInfo* type;
+  const char* name;
+  size_t offset;
+} __Pyx_StructField;
+typedef struct {
+  __Pyx_StructField* field;
+  size_t parent_offset;
+} __Pyx_BufFmt_StackElem;
+typedef struct {
+  __Pyx_StructField root;
+  __Pyx_BufFmt_StackElem* head;
+  size_t fmt_offset;
+  size_t new_count, enc_count;
+  size_t struct_alignment;
+  int is_complex;
+  char enc_type;
+  char new_packmode;
+  char enc_packmode;
+  char is_valid_array;
+} __Pyx_BufFmt_Context;
+
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":775
+ * # in Cython to enable them only on the right systems.
+ * 
+ * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ */
+typedef npy_int8 __pyx_t_5numpy_int8_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":776
+ * 
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t
+ */
+typedef npy_int16 __pyx_t_5numpy_int16_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":777
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int64      int64_t
+ * #ctypedef npy_int96      int96_t
+ */
+typedef npy_int32 __pyx_t_5numpy_int32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":778
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_int96      int96_t
+ * #ctypedef npy_int128     int128_t
+ */
+typedef npy_int64 __pyx_t_5numpy_int64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":782
+ * #ctypedef npy_int128     int128_t
+ * 
+ * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ */
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":783
+ * 
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t
+ */
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":784
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint64     uint64_t
+ * #ctypedef npy_uint96     uint96_t
+ */
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":785
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_uint96     uint96_t
+ * #ctypedef npy_uint128    uint128_t
+ */
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":789
+ * #ctypedef npy_uint128    uint128_t
+ * 
+ * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_float64    float64_t
+ * #ctypedef npy_float80    float80_t
+ */
+typedef npy_float32 __pyx_t_5numpy_float32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":790
+ * 
+ * ctypedef npy_float32    float32_t
+ * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_float80    float80_t
+ * #ctypedef npy_float128   float128_t
+ */
+typedef npy_float64 __pyx_t_5numpy_float64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":799
+ * # The int types are mapped a bit surprising --
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t
+ */
+typedef npy_long __pyx_t_5numpy_int_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":800
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   longlong_t
+ * 
+ */
+typedef npy_longlong __pyx_t_5numpy_long_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":801
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_ulong      uint_t
+ */
+typedef npy_longlong __pyx_t_5numpy_longlong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":803
+ * ctypedef npy_longlong   longlong_t
+ * 
+ * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t
+ */
+typedef npy_ulong __pyx_t_5numpy_uint_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":804
+ * 
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":805
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_intp       intp_t
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":807
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uintp      uintp_t
+ * 
+ */
+typedef npy_intp __pyx_t_5numpy_intp_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":808
+ * 
+ * ctypedef npy_intp       intp_t
+ * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_double     float_t
+ */
+typedef npy_uintp __pyx_t_5numpy_uintp_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":810
+ * ctypedef npy_uintp      uintp_t
+ * 
+ * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t
+ */
+typedef npy_double __pyx_t_5numpy_float_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":811
+ * 
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ */
+typedef npy_double __pyx_t_5numpy_double_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":812
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ */
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
+/* Declarations.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< float > __pyx_t_float_complex;
+  #else
+    typedef float _Complex __pyx_t_float_complex;
+  #endif
+#else
+    typedef struct { float real, imag; } __pyx_t_float_complex;
+#endif
+static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
+
+/* Declarations.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< double > __pyx_t_double_complex;
+  #else
+    typedef double _Complex __pyx_t_double_complex;
+  #endif
+#else
+    typedef struct { double real, imag; } __pyx_t_double_complex;
+#endif
+static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
+
+
+/*--- Type declarations ---*/
+struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":814
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t
+ */
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":815
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ */
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":816
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cdouble     complex_t
+ */
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":818
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ */
+typedef npy_cdouble __pyx_t_5numpy_complex_t;
+
+/* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry {
+  PyObject_HEAD
+  PyObject *__pyx_v_cell;
+};
+
+
+/* "neuron/rxd/geometry3d/ctng.pyx":307
+ *         cell = source
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)             # <<<<<<<<<<<<<<
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr {
+  PyObject_HEAD
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *__pyx_outer_scope;
+  PyObject *__pyx_v_sec;
+  PyObject *__pyx_t_0;
+  Py_ssize_t __pyx_t_1;
+  PyObject *(*__pyx_t_2)(PyObject *);
+};
+
+
+/* --- Runtime support code (head) --- */
+/* Refnanny.proto */
+#ifndef CYTHON_REFNANNY
+  #define CYTHON_REFNANNY 0
+#endif
+#if CYTHON_REFNANNY
+  typedef struct {
+    void (*INCREF)(void*, PyObject*, int);
+    void (*DECREF)(void*, PyObject*, int);
+    void (*GOTREF)(void*, PyObject*, int);
+    void (*GIVEREF)(void*, PyObject*, int);
+    void* (*SetupContext)(const char*, int, const char*);
+    void (*FinishContext)(void**);
+  } __Pyx_RefNannyAPIStruct;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+#ifdef WITH_THREAD
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          if (acquire_gil) {\
+              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+              PyGILState_Release(__pyx_gilstate_save);\
+          } else {\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+          }
+#else
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+#endif
+  #define __Pyx_RefNannyFinishContext()\
+          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
+#else
+  #define __Pyx_RefNannyDeclarations
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)
+  #define __Pyx_RefNannyFinishContext()
+  #define __Pyx_INCREF(r) Py_INCREF(r)
+  #define __Pyx_DECREF(r) Py_DECREF(r)
+  #define __Pyx_GOTREF(r)
+  #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
+  #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
+#endif
+#define __Pyx_XDECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_XDECREF(tmp);\
+    } while (0)
+#define __Pyx_DECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_DECREF(tmp);\
+    } while (0)
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
+
+/* PyObjectGetAttrStr.proto */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
+#endif
+
+/* GetBuiltinName.proto */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+
+/* RaiseTooManyValuesToUnpack.proto */
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
+
+/* RaiseNeedMoreValuesToUnpack.proto */
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
+
+/* IterFinish.proto */
+static CYTHON_INLINE int __Pyx_IterFinish(void);
+
+/* UnpackItemEndCheck.proto */
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
+
+/* PyDictVersioning.proto */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
+#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
+    (version_var) = __PYX_GET_DICT_VERSION(dict);\
+    (cache_var) = (value);
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
+        (VAR) = __pyx_dict_cached_value;\
+    } else {\
+        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
+        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
+    }\
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
+#else
+#define __PYX_GET_DICT_VERSION(dict)  (0)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
+#endif
+
+/* GetModuleGlobalName.proto */
+#if CYTHON_USE_DICT_VERSIONS
+#define __Pyx_GetModuleGlobalName(var, name)  do {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
+        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
+        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
+    PY_UINT64_T __pyx_dict_version;\
+    PyObject *__pyx_dict_cached_value;\
+    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
+#else
+#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
+#endif
+
+/* PyCFunctionFastCall.proto */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
+#else
+#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
+#endif
+
+/* PyFunctionFastCall.proto */
+#if CYTHON_FAST_PYCALL
+#define __Pyx_PyFunction_FastCall(func, args, nargs)\
+    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
+#else
+#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
+#endif
+#define __Pyx_BUILD_ASSERT_EXPR(cond)\
+    (sizeof(char [1 - 2*!(cond)]) - 1)
+#ifndef Py_MEMBER_SIZE
+#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
+#endif
+#if CYTHON_FAST_PYCALL
+  static size_t __pyx_pyframe_localsplus_offset = 0;
+  #include "frameobject.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+  #define __Pxy_PyFrame_Initialize_Offsets()\
+    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
+     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
+  #define __Pyx_PyFrame_GetLocalsplus(frame)\
+    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
+#endif // CYTHON_FAST_PYCALL
+#endif
+
+/* PyObjectCall.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
+#else
+#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
+#endif
+
+/* PyObjectCall2Args.proto */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
+
+/* PyObjectCallMethO.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
+
+/* PyObjectCallOneArg.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+
+/* PyThreadStateGet.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
+#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
+#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
+#else
+#define __Pyx_PyThreadState_declare
+#define __Pyx_PyThreadState_assign
+#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
+#endif
+
+/* PyErrFetchRestore.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
+#else
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#endif
+#else
+#define __Pyx_PyErr_Clear() PyErr_Clear()
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
+#endif
+
+/* RaiseException.proto */
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
+
+/* None.proto */
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
+
+/* PyDictContains.proto */
+static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
+    int result = PyDict_Contains(dict, item);
+    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+/* ListAppend.proto */
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        __Pyx_SET_SIZE(list, len + 1);
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* PyObjectGetMethod.proto */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
+
+/* PyObjectCallMethod1.proto */
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
+
+/* append.proto */
+static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);
+
+/* DictGetItem.proto */
+#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
+#define __Pyx_PyObject_Dict_GetItem(obj, name)\
+    (likely(PyDict_CheckExact(obj)) ?\
+     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
+#else
+#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
+#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
+#endif
+
+/* ExtTypeTest.proto */
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
+
+/* IsLittleEndian.proto */
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);
+
+/* BufferFormatCheck.proto */
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+                              __Pyx_BufFmt_StackElem* stack,
+                              __Pyx_TypeInfo* type);
+
+/* BufferGetAndValidate.proto */
+#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\
+    ((obj == Py_None || obj == NULL) ?\
+    (__Pyx_ZeroBuffer(buf), 0) :\
+    __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack))
+static int  __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj,
+    __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
+static void __Pyx_ZeroBuffer(Py_buffer* buf);
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);
+static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 };
+static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+
+/* BufferFallbackError.proto */
+static void __Pyx_RaiseBufferFallbackError(void);
+
+#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0)
+/* WriteUnraisableException.proto */
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+                                  int lineno, const char *filename,
+                                  int full_traceback, int nogil);
+
+/* RaiseNoneIterError.proto */
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
+
+/* RaiseArgTupleInvalid.proto */
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
+/* RaiseDoubleKeywords.proto */
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
+
+/* ParseKeywords.proto */
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
+    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
+    const char* function_name);
+
+/* ListCompAppend.proto */
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len)) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        __Pyx_SET_SIZE(list, len + 1);
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
+#endif
+
+/* PyObjectCallNoArg.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+#else
+#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#endif
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_SubtractCObj(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
+#endif
+
+/* GetItemInt.proto */
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
+    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
+               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+                                                     int is_list, int wraparound, int boundscheck);
+
+/* ObjectGetItem.proto */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
+#else
+#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
+#endif
+
+/* PyFloatBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyFloat_DivideObjC(op1, op2, floatval, inplace, zerodivision_check)\
+    ((inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2)))
+    #endif
+
+/* None.proto */
+static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
+
+/* GetAttr.proto */
+static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
+
+/* HasAttr.proto */
+static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
+
+/* UnpackUnboundCMethod.proto */
+typedef struct {
+    PyObject *type;
+    PyObject **method_name;
+    PyCFunction func;
+    PyObject *method;
+    int flag;
+} __Pyx_CachedCFunction;
+
+/* CallUnboundCMethod1.proto */
+static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
+#else
+#define __Pyx_CallUnboundCMethod1(cfunc, self, arg)  __Pyx__CallUnboundCMethod1(cfunc, self, arg)
+#endif
+
+/* PySequenceContains.proto */
+static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
+    int result = PySequence_Contains(seq, item);
+    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
+#endif
+
+/* py_abs.proto */
+#if CYTHON_USE_PYLONG_INTERNALS
+static PyObject *__Pyx_PyLong_AbsNeg(PyObject *num);
+#define __Pyx_PyNumber_Absolute(x)\
+    ((likely(PyLong_CheckExact(x))) ?\
+         (likely(Py_SIZE(x) >= 0) ? (Py_INCREF(x), (x)) : __Pyx_PyLong_AbsNeg(x)) :\
+         PyNumber_Absolute(x))
+#else
+#define __Pyx_PyNumber_Absolute(x)  PyNumber_Absolute(x)
+#endif
+
+/* Import.proto */
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
+
+/* SliceObject.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+        PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+        PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+        int has_cstart, int has_cstop, int wraparound);
+
+/* SetItemInt.proto */
+#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
+    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
+               __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
+static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v);
+static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v,
+                                               int is_list, int wraparound, int boundscheck);
+
+/* PyObjectCallMethod0.proto */
+static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
+
+/* UnpackTupleError.proto */
+static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
+
+/* UnpackTuple2.proto */
+#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
+    (likely(is_tuple || PyTuple_Check(tuple)) ?\
+        (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
+            __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
+            (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
+        __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
+static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
+    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
+static int __Pyx_unpack_tuple2_generic(
+    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
+
+/* dict_iter.proto */
+static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
+                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
+static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
+                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
+
+/* PyIntCompare.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
+
+/* py_dict_items.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);
+
+/* CallUnboundCMethod0.proto */
+static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CallUnboundCMethod0(cfunc, self)\
+    (likely((cfunc)->func) ?\
+        (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
+         (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
+            (PY_VERSION_HEX >= 0x030700A0 ?\
+                (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
+                (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
+          (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
+            (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
+            (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
+               ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
+               __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
+        __Pyx__CallUnboundCMethod0(cfunc, self))
+#else
+#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
+#endif
+
+/* GetTopmostException.proto */
+#if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
+#endif
+
+/* SaveResetException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+#else
+#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
+#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
+#endif
+
+/* PyErrExceptionMatches.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
+#else
+#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
+#endif
+
+/* GetException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
+#endif
+
+/* IncludeStringH.proto */
+#include <string.h>
+
+/* PyObject_GenericGetAttrNoDict.proto */
+#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
+#endif
+
+/* TypeImport.proto */
+#ifndef __PYX_HAVE_RT_ImportType_proto_0_29_36
+#define __PYX_HAVE_RT_ImportType_proto_0_29_36
+#if __STDC_VERSION__ >= 201112L
+#include <stdalign.h>
+#endif
+#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
+#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) alignof(s)
+#else
+#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) sizeof(void*)
+#endif
+enum __Pyx_ImportType_CheckSize_0_29_36 {
+   __Pyx_ImportType_CheckSize_Error_0_29_36 = 0,
+   __Pyx_ImportType_CheckSize_Warn_0_29_36 = 1,
+   __Pyx_ImportType_CheckSize_Ignore_0_29_36 = 2
+};
+static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size);
+#endif
+
+/* ImportFrom.proto */
+static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
+
+/* CLineInTraceback.proto */
+#ifdef CYTHON_CLINE_IN_TRACEBACK
+#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
+#else
+static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
+#endif
+
+/* CodeObjectCache.proto */
+typedef struct {
+    PyCodeObject* code_object;
+    int code_line;
+} __Pyx_CodeObjectCacheEntry;
+struct __Pyx_CodeObjectCache {
+    int count;
+    int max_count;
+    __Pyx_CodeObjectCacheEntry* entries;
+};
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
+static PyCodeObject *__pyx_find_code_object(int code_line);
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+
+/* AddTraceback.proto */
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename);
+
+/* BufferStructDeclare.proto */
+typedef struct {
+  Py_ssize_t shape, strides, suboffsets;
+} __Pyx_Buf_DimInfo;
+typedef struct {
+  size_t refcount;
+  Py_buffer pybuffer;
+} __Pyx_Buffer;
+typedef struct {
+  __Pyx_Buffer *rcbuffer;
+  char *data;
+  __Pyx_Buf_DimInfo diminfo[8];
+} __Pyx_LocalBuf_ND;
+
+#if PY_MAJOR_VERSION < 3
+    static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
+    static void __Pyx_ReleaseBuffer(Py_buffer *view);
+#else
+    #define __Pyx_GetBuffer PyObject_GetBuffer
+    #define __Pyx_ReleaseBuffer PyBuffer_Release
+#endif
+
+
+/* GCCDiagnostics.proto */
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
+#define __Pyx_HAS_GCC_DIAGNOSTIC
+#endif
+
+/* RealImag.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #define __Pyx_CREAL(z) ((z).real())
+    #define __Pyx_CIMAG(z) ((z).imag())
+  #else
+    #define __Pyx_CREAL(z) (__real__(z))
+    #define __Pyx_CIMAG(z) (__imag__(z))
+  #endif
+#else
+    #define __Pyx_CREAL(z) ((z).real)
+    #define __Pyx_CIMAG(z) ((z).imag)
+#endif
+#if defined(__cplusplus) && CYTHON_CCOMPLEX\
+        && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
+    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
+    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
+#else
+    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
+    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
+#endif
+
+/* Arithmetic.proto */
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eq_float(a, b)   ((a)==(b))
+    #define __Pyx_c_sum_float(a, b)  ((a)+(b))
+    #define __Pyx_c_diff_float(a, b) ((a)-(b))
+    #define __Pyx_c_prod_float(a, b) ((a)*(b))
+    #define __Pyx_c_quot_float(a, b) ((a)/(b))
+    #define __Pyx_c_neg_float(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
+    #define __Pyx_c_conj_float(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_abs_float(z)     (::std::abs(z))
+        #define __Pyx_c_pow_float(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zero_float(z) ((z)==0)
+    #define __Pyx_c_conj_float(z)    (conjf(z))
+    #if 1
+        #define __Pyx_c_abs_float(z)     (cabsf(z))
+        #define __Pyx_c_pow_float(a, b)  (cpowf(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    #endif
+#endif
+
+/* Arithmetic.proto */
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eq_double(a, b)   ((a)==(b))
+    #define __Pyx_c_sum_double(a, b)  ((a)+(b))
+    #define __Pyx_c_diff_double(a, b) ((a)-(b))
+    #define __Pyx_c_prod_double(a, b) ((a)*(b))
+    #define __Pyx_c_quot_double(a, b) ((a)/(b))
+    #define __Pyx_c_neg_double(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
+    #define __Pyx_c_conj_double(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_abs_double(z)     (::std::abs(z))
+        #define __Pyx_c_pow_double(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zero_double(z) ((z)==0)
+    #define __Pyx_c_conj_double(z)    (conj(z))
+    #if 1
+        #define __Pyx_c_abs_double(z)     (cabs(z))
+        #define __Pyx_c_pow_double(a, b)  (cpow(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    #endif
+#endif
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+
+/* FastTypeChecks.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
+#else
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
+#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
+#endif
+#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
+
+/* FetchCommonType.proto */
+static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
+
+/* SwapException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#else
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
+#endif
+
+/* CoroutineBase.proto */
+typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *);
+#if CYTHON_USE_EXC_INFO_STACK
+#define __Pyx_ExcInfoStruct  _PyErr_StackItem
+#else
+typedef struct {
+    PyObject *exc_type;
+    PyObject *exc_value;
+    PyObject *exc_traceback;
+} __Pyx_ExcInfoStruct;
+#endif
+typedef struct {
+    PyObject_HEAD
+    __pyx_coroutine_body_t body;
+    PyObject *closure;
+    __Pyx_ExcInfoStruct gi_exc_state;
+    PyObject *gi_weakreflist;
+    PyObject *classobj;
+    PyObject *yieldfrom;
+    PyObject *gi_name;
+    PyObject *gi_qualname;
+    PyObject *gi_modulename;
+    PyObject *gi_code;
+    PyObject *gi_frame;
+    int resume_label;
+    char is_running;
+} __pyx_CoroutineObject;
+static __pyx_CoroutineObject *__Pyx__Coroutine_New(
+    PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
+    PyObject *name, PyObject *qualname, PyObject *module_name);
+static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
+            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
+            PyObject *name, PyObject *qualname, PyObject *module_name);
+static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
+static int __Pyx_Coroutine_clear(PyObject *self);
+static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
+static PyObject *__Pyx_Coroutine_Close(PyObject *self);
+static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
+#if CYTHON_USE_EXC_INFO_STACK
+#define __Pyx_Coroutine_SwapException(self)
+#define __Pyx_Coroutine_ResetAndClearException(self)  __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
+#else
+#define __Pyx_Coroutine_SwapException(self) {\
+    __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
+    __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
+    }
+#define __Pyx_Coroutine_ResetAndClearException(self) {\
+    __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
+    (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
+    }
+#endif
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
+    __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
+#else
+#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
+    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
+#endif
+static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
+static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
+
+/* PatchModuleWithCoroutine.proto */
+static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);
+
+/* PatchGeneratorABC.proto */
+static int __Pyx_patch_abc(void);
+
+/* Generator.proto */
+#define __Pyx_Generator_USED
+static PyTypeObject *__pyx_GeneratorType = 0;
+#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType)
+#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
+    __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
+static PyObject *__Pyx_Generator_Next(PyObject *self);
+static int __pyx_Generator_init(void);
+
+/* CheckBinaryVersion.proto */
+static int __Pyx_check_binary_version(void);
+
+/* InitStrings.proto */
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
+
+
+/* Module declarations from 'cpython.buffer' */
+
+/* Module declarations from 'libc.string' */
+
+/* Module declarations from 'libc.stdio' */
+
+/* Module declarations from '__builtin__' */
+
+/* Module declarations from 'cpython.type' */
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
+
+/* Module declarations from 'cpython' */
+
+/* Module declarations from 'cpython.object' */
+
+/* Module declarations from 'cpython.ref' */
+
+/* Module declarations from 'cpython.mem' */
+
+/* Module declarations from 'numpy' */
+
+/* Module declarations from 'numpy' */
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
+
+/* Module declarations from 'cython' */
+
+/* Module declarations from 'neuron.rxd.geometry3d.ctng' */
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr = 0;
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_seg_line_intersection(double, double, double, double, double, double, double, double, int); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_closest_pt(PyObject *, PyObject *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_extreme_pts(PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(PyObject *, PyObject *, PyObject *); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(PyObject *, PyObject *, double); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_get_infinite_cones(double, double, double, double, double, double, double, double, double, double, double, double); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_join_outside(double, double, double, double, double, double, double, double, double, double, double, double, double); /*proto*/
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 };
+#define __Pyx_MODULE_NAME "neuron.rxd.geometry3d.ctng"
+extern int __pyx_module_is_main_neuron__rxd__geometry3d__ctng;
+int __pyx_module_is_main_neuron__rxd__geometry3d__ctng = 0;
+
+/* Implementation of 'neuron.rxd.geometry3d.ctng' */
+static PyObject *__pyx_builtin_enumerate;
+static PyObject *__pyx_builtin_zip;
+static PyObject *__pyx_builtin_xrange;
+static PyObject *__pyx_builtin_sum;
+static PyObject *__pyx_builtin_range;
+static PyObject *__pyx_builtin_max;
+static PyObject *__pyx_builtin_min;
+static PyObject *__pyx_builtin_all;
+static PyObject *__pyx_builtin_any;
+static PyObject *__pyx_builtin_ValueError;
+static PyObject *__pyx_builtin_RuntimeError;
+static PyObject *__pyx_builtin_ImportError;
+static const char __pyx_k_L[] = "L";
+static const char __pyx_k_d[] = "d";
+static const char __pyx_k_h[] = "h";
+static const char __pyx_k_i[] = "i";
+static const char __pyx_k_j[] = "j";
+static const char __pyx_k_k[] = "k";
+static const char __pyx_k_m[] = "m";
+static const char __pyx_k_p[] = "p";
+static const char __pyx_k_q[] = "q";
+static const char __pyx_k_s[] = "s";
+static const char __pyx_k_v[] = "v";
+static const char __pyx_k_x[] = "x";
+static const char __pyx_k_y[] = "y";
+static const char __pyx_k_z[] = "z";
+static const char __pyx_k_c0[] = "c0";
+static const char __pyx_k_c1[] = "c1";
+static const char __pyx_k_cp[] = "cp";
+static const char __pyx_k_cx[] = "cx";
+static const char __pyx_k_cy[] = "cy";
+static const char __pyx_k_d0[] = "d0";
+static const char __pyx_k_d1[] = "d1";
+static const char __pyx_k_dx[] = "dx";
+static const char __pyx_k_hi[] = "hi";
+static const char __pyx_k_lo[] = "lo";
+static const char __pyx_k_p1[] = "p1";
+static const char __pyx_k_p2[] = "p2";
+static const char __pyx_k_pt[] = "pt";
+static const char __pyx_k_r0[] = "_r0";
+static const char __pyx_k_r1[] = "_r1";
+static const char __pyx_k_r2[] = "r2";
+static const char __pyx_k_r3[] = "r3";
+static const char __pyx_k_s0[] = "s0";
+static const char __pyx_k_s1[] = "s1";
+static const char __pyx_k_sp[] = "sp";
+static const char __pyx_k_sx[] = "sx";
+static const char __pyx_k_sy[] = "sy";
+static const char __pyx_k_sz[] = "sz";
+static const char __pyx_k_x0[] = "x0";
+static const char __pyx_k_x1[] = "_x1";
+static const char __pyx_k_x2[] = "x2";
+static const char __pyx_k_x3[] = "x3";
+static const char __pyx_k_x4[] = "x4";
+static const char __pyx_k_xx[] = "xx";
+static const char __pyx_k_y0[] = "y0";
+static const char __pyx_k_y1[] = "_y1";
+static const char __pyx_k_y2[] = "y2";
+static const char __pyx_k_y3[] = "y3";
+static const char __pyx_k_y4[] = "y4";
+static const char __pyx_k_yy[] = "yy";
+static const char __pyx_k_z0[] = "z0";
+static const char __pyx_k_z1[] = "_z1";
+static const char __pyx_k_z2[] = "z2";
+static const char __pyx_k_z3[] = "z3";
+static const char __pyx_k_abs[] = "abs";
+static const char __pyx_k_all[] = "all";
+static const char __pyx_k_any[] = "any";
+static const char __pyx_k_arc[] = "arc";
+static const char __pyx_k_div[] = "div";
+static const char __pyx_k_dot[] = "dot";
+static const char __pyx_k_end[] = "end";
+static const char __pyx_k_inf[] = "inf";
+static const char __pyx_k_loc[] = "loc";
+static const char __pyx_k_mag[] = "mag";
+static const char __pyx_k_max[] = "max";
+static const char __pyx_k_min[] = "min";
+static const char __pyx_k_n3d[] = "n3d";
+static const char __pyx_k_pt0[] = "pt0";
+static const char __pyx_k_pt1[] = "pt1";
+static const char __pyx_k_pt2[] = "pt2";
+static const char __pyx_k_pt3[] = "pt3";
+static const char __pyx_k_pts[] = "pts";
+static const char __pyx_k_raw[] = "raw";
+static const char __pyx_k_rng[] = "rng";
+static const char __pyx_k_sec[] = "sec";
+static const char __pyx_k_seg[] = "seg";
+static const char __pyx_k_sum[] = "sum";
+static const char __pyx_k_x3d[] = "x3d";
+static const char __pyx_k_y3d[] = "y3d";
+static const char __pyx_k_z3d[] = "z3d";
+static const char __pyx_k_zip[] = "zip";
+static const char __pyx_k_Cone[] = "Cone";
+static const char __pyx_k_args[] = "args";
+static const char __pyx_k_axis[] = "axis";
+static const char __pyx_k_cell[] = "cell";
+static const char __pyx_k_clip[] = "clip";
+static const char __pyx_k_cone[] = "cone";
+static const char __pyx_k_iseg[] = "iseg";
+static const char __pyx_k_main[] = "__main__";
+static const char __pyx_k_name[] = "__name__";
+static const char __pyx_k_norm[] = "norm";
+static const char __pyx_k_nseg[] = "nseg";
+static const char __pyx_k_psec[] = "psec";
+static const char __pyx_k_pt1x[] = "pt1x";
+static const char __pyx_k_pt1y[] = "pt1y";
+static const char __pyx_k_pt2x[] = "pt2x";
+static const char __pyx_k_pt2y[] = "pt2y";
+static const char __pyx_k_r0_2[] = "r0";
+static const char __pyx_k_r1_2[] = "r1";
+static const char __pyx_k_send[] = "send";
+static const char __pyx_k_sqrt[] = "sqrt";
+static const char __pyx_k_test[] = "__test__";
+static const char __pyx_k_tobj[] = "tobj";
+static const char __pyx_k_vals[] = "vals";
+static const char __pyx_k_warn[] = "warn";
+static const char __pyx_k_x0_2[] = "_x0";
+static const char __pyx_k_x1_2[] = "x1";
+static const char __pyx_k_y0_2[] = "_y0";
+static const char __pyx_k_y1_2[] = "y1";
+static const char __pyx_k_z0_2[] = "_z0";
+static const char __pyx_k_z1_2[] = "z1";
+static const char __pyx_k_Plane[] = "Plane";
+static const char __pyx_k_Union[] = "Union";
+static const char __pyx_k_arc3d[] = "arc3d";
+static const char __pyx_k_array[] = "array";
+static const char __pyx_k_axisx[] = "axisx";
+static const char __pyx_k_axisy[] = "axisy";
+static const char __pyx_k_axisz[] = "axisz";
+static const char __pyx_k_clips[] = "clips";
+static const char __pyx_k_close[] = "close";
+static const char __pyx_k_cones[] = "cones";
+static const char __pyx_k_cross[] = "cross";
+static const char __pyx_k_diam1[] = "diam1";
+static const char __pyx_k_diam2[] = "diam2";
+static const char __pyx_k_diams[] = "diams";
+static const char __pyx_k_f_pts[] = "f_pts";
+static const char __pyx_k_hname[] = "hname";
+static const char __pyx_k_items[] = "items";
+static const char __pyx_k_major[] = "major";
+static const char __pyx_k_minor[] = "minor";
+static const char __pyx_k_naxis[] = "naxis";
+static const char __pyx_k_numpy[] = "numpy";
+static const char __pyx_k_pts3d[] = "pts3d";
+static const char __pyx_k_range[] = "range";
+static const char __pyx_k_shift[] = "shift";
+static const char __pyx_k_somax[] = "somax";
+static const char __pyx_k_somay[] = "somay";
+static const char __pyx_k_somaz[] = "somaz";
+static const char __pyx_k_throw[] = "throw";
+static const char __pyx_k_Matrix[] = "Matrix";
+static const char __pyx_k_Sphere[] = "Sphere";
+static const char __pyx_k_append[] = "append";
+static const char __pyx_k_bisect[] = "bisect";
+static const char __pyx_k_branch[] = "branch";
+static const char __pyx_k_deltad[] = "deltad";
+static const char __pyx_k_diam3d[] = "diam3d";
+static const char __pyx_k_getcol[] = "getcol";
+static const char __pyx_k_getrow[] = "getrow";
+static const char __pyx_k_import[] = "__import__";
+static const char __pyx_k_interp[] = "interp";
+static const char __pyx_k_linalg[] = "linalg";
+static const char __pyx_k_margin[] = "margin";
+static const char __pyx_k_neuron[] = "neuron";
+static const char __pyx_k_orig_x[] = "orig_x";
+static const char __pyx_k_orig_y[] = "orig_y";
+static const char __pyx_k_orig_z[] = "orig_z";
+static const char __pyx_k_remove[] = "remove";
+static const char __pyx_k_sec_db[] = "_sec_db";
+static const char __pyx_k_setval[] = "setval";
+static const char __pyx_k_source[] = "source";
+static const char __pyx_k_update[] = "update";
+static const char __pyx_k_xrange[] = "xrange";
+static const char __pyx_k_delta_x[] = "delta_x";
+static const char __pyx_k_delta_y[] = "delta_y";
+static const char __pyx_k_diam_db[] = "diam_db";
+static const char __pyx_k_f_diams[] = "f_diams";
+static const char __pyx_k_genexpr[] = "genexpr";
+static const char __pyx_k_max_ind[] = "max_ind";
+static const char __pyx_k_min_ind[] = "min_ind";
+static const char __pyx_k_objects[] = "objects";
+static const char __pyx_k_product[] = "product";
+static const char __pyx_k_symmeig[] = "symmeig";
+static const char __pyx_k_xcoords[] = "xcoords";
+static const char __pyx_k_xs_loop[] = "xs_loop";
+static const char __pyx_k_ycoords[] = "ycoords";
+static const char __pyx_k_ys_loop[] = "ys_loop";
+static const char __pyx_k_zcoords[] = "zcoords";
+static const char __pyx_k_Cylinder[] = "Cylinder";
+static const char __pyx_k_SkewCone[] = "SkewCone";
+static const char __pyx_k_branches[] = "branches";
+static const char __pyx_k_ctng_pyx[] = "ctng.pyx";
+static const char __pyx_k_distance[] = "distance";
+static const char __pyx_k_extreme1[] = "extreme1";
+static const char __pyx_k_extreme2[] = "extreme2";
+static const char __pyx_k_int_clip[] = "int_clip";
+static const char __pyx_k_is_stack[] = "is_stack";
+static const char __pyx_k_major_p1[] = "major_p1";
+static const char __pyx_k_major_p2[] = "major_p2";
+static const char __pyx_k_neighbor[] = "neighbor";
+static const char __pyx_k_sections[] = "sections";
+static const char __pyx_k_seg_dict[] = "seg_dict";
+static const char __pyx_k_set_clip[] = "set_clip";
+static const char __pyx_k_warnings[] = "warnings";
+static const char __pyx_k_xshifted[] = "xshifted";
+static const char __pyx_k_yshifted[] = "yshifted";
+static const char __pyx_k_zshifted[] = "zshifted";
+static const char __pyx_k_all_cones[] = "all_cones";
+static const char __pyx_k_enumerate[] = "enumerate";
+static const char __pyx_k_iscontour[] = "iscontour_";
+static const char __pyx_k_itertools[] = "itertools";
+static const char __pyx_k_join_item[] = "join_item";
+static const char __pyx_k_joingroup[] = "joingroup";
+static const char __pyx_k_nouniform[] = "nouniform";
+static const char __pyx_k_parentsec[] = "parentsec";
+static const char __pyx_k_soma_secs[] = "soma_secs";
+static const char __pyx_k_thickness[] = "thickness";
+static const char __pyx_k_to_python[] = "to_python";
+static const char __pyx_k_SphereCone[] = "SphereCone";
+static const char __pyx_k_ValueError[] = "ValueError";
+static const char __pyx_k_axislength[] = "axislength";
+static const char __pyx_k_center_vec[] = "center_vec";
+static const char __pyx_k_conecoords[] = "conecoords";
+static const char __pyx_k_corner_pts[] = "corner_pts";
+static const char __pyx_k_radial_vec[] = "radial_vec";
+static const char __pyx_k_sharp_turn[] = "sharp_turn";
+static const char __pyx_k_ImportError[] = "ImportError";
+static const char __pyx_k_join_groups[] = "join_groups";
+static const char __pyx_k_n_soma_step[] = "n_soma_step";
+static const char __pyx_k_new_objects[] = "new_objects";
+static const char __pyx_k_nradial_vec[] = "nradial_vec";
+static const char __pyx_k_path_length[] = "path_length";
+static const char __pyx_k_pts_sources[] = "pts_sources";
+static const char __pyx_k_Intersection[] = "Intersection";
+static const char __pyx_k_RuntimeError[] = "RuntimeError";
+static const char __pyx_k_RxDException[] = "RxDException";
+static const char __pyx_k_clip_copying[] = "clip_copying";
+static const char __pyx_k_combinations[] = "combinations";
+static const char __pyx_k_cone_clip_db[] = "cone_clip_db";
+static const char __pyx_k_corner_count[] = "corner_count";
+static const char __pyx_k_define_shape[] = "define_shape";
+static const char __pyx_k_major_length[] = "major_length";
+static const char __pyx_k_num_contours[] = "num_contours";
+static const char __pyx_k_obj_pts_dict[] = "obj_pts_dict";
+static const char __pyx_k_obj_sections[] = "obj_sections";
+static const char __pyx_k_plane_normal[] = "plane_normal";
+static const char __pyx_k_pts_cones_db[] = "pts_cones_db";
+static const char __pyx_k_relevant_pts[] = "relevant_pts";
+static const char __pyx_k_segment_locs[] = "segment_locs";
+static const char __pyx_k_soma_objects[] = "soma_objects";
+static const char __pyx_k_cone_sections[] = "cone_sections";
+static const char __pyx_k_contourcenter[] = "contourcenter";
+static const char __pyx_k_neighbor_copy[] = "neighbor_copy";
+static const char __pyx_k_neighbor_left[] = "neighbor_left";
+static const char __pyx_k_trueparentseg[] = "trueparentseg";
+static const char __pyx_k_left_neighbors[] = "left_neighbors";
+static const char __pyx_k_neighbor_right[] = "neighbor_right";
+static const char __pyx_k_my_corner_count[] = "my_corner_count";
+static const char __pyx_k_no_parent_count[] = "no_parent_count";
+static const char __pyx_k_parent_sec_name[] = "parent_sec_name";
+static const char __pyx_k_radial_vec_norm[] = "radial_vec_norm";
+static const char __pyx_k_right_neighbors[] = "right_neighbors";
+static const char __pyx_k_diam_corrections[] = "diam_corrections";
+static const char __pyx_k_cone_segment_dict[] = "cone_segment_dict";
+static const char __pyx_k_hoc_internal_name[] = "hoc_internal_name";
+static const char __pyx_k_soma_segment_dict[] = "soma_segment_dict";
+static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
+static const char __pyx_k_graphicsPrimitives[] = "graphicsPrimitives";
+static const char __pyx_k_source_is_import3d[] = "source_is_import3d";
+static const char __pyx_k_potential_soma_cones[] = "potential_soma_cones";
+static const char __pyx_k_neuron_rxd_rxdException[] = "neuron.rxd.rxdException";
+static const char __pyx_k_unexpected_corner_counts[] = "unexpected corner_counts?";
+static const char __pyx_k_join_items_needing_clipped[] = "join_items_needing_clipped";
+static const char __pyx_k_neuron_rxd_geometry3d_ctng[] = "neuron.rxd.geometry3d.ctng";
+static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
+static const char __pyx_k_multiple_most_extreme_points[] = "multiple most extreme points";
+static const char __pyx_k_constructive_neuronal_geometry[] = "constructive_neuronal_geometry";
+static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";
+static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
+static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
+static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
+static const char __pyx_k_constructive_neuronal_geometry_l[] = "constructive_neuronal_geometry.<locals>.genexpr";
+static const char __pyx_k_extreme_points_computation_faile[] = "extreme points computation failed";
+static const char __pyx_k_more_than_one_contour_is_not_cur[] = "more than one contour is not currently supported";
+static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
+static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";
+static const char __pyx_k_soma_rotation_unsupported_for_vo[] = "soma rotation unsupported for voxelized somas";
+static const char __pyx_k_soma_stack_ignored_using_centroi[] = "soma stack ignored; using centroid instead";
+static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
+static PyObject *__pyx_n_s_Cone;
+static PyObject *__pyx_n_s_Cylinder;
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
+static PyObject *__pyx_n_s_ImportError;
+static PyObject *__pyx_n_s_Intersection;
+static PyObject *__pyx_n_s_L;
+static PyObject *__pyx_n_s_Matrix;
+static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
+static PyObject *__pyx_n_s_Plane;
+static PyObject *__pyx_n_s_RuntimeError;
+static PyObject *__pyx_n_s_RxDException;
+static PyObject *__pyx_n_s_SkewCone;
+static PyObject *__pyx_n_s_Sphere;
+static PyObject *__pyx_n_s_SphereCone;
+static PyObject *__pyx_n_s_Union;
+static PyObject *__pyx_n_s_ValueError;
+static PyObject *__pyx_n_s_abs;
+static PyObject *__pyx_n_s_all;
+static PyObject *__pyx_n_s_all_cones;
+static PyObject *__pyx_n_s_any;
+static PyObject *__pyx_n_s_append;
+static PyObject *__pyx_n_s_arc;
+static PyObject *__pyx_n_s_arc3d;
+static PyObject *__pyx_n_s_args;
+static PyObject *__pyx_n_s_array;
+static PyObject *__pyx_n_s_axis;
+static PyObject *__pyx_n_s_axislength;
+static PyObject *__pyx_n_s_axisx;
+static PyObject *__pyx_n_s_axisy;
+static PyObject *__pyx_n_s_axisz;
+static PyObject *__pyx_n_s_bisect;
+static PyObject *__pyx_n_s_branch;
+static PyObject *__pyx_n_s_branches;
+static PyObject *__pyx_n_s_c0;
+static PyObject *__pyx_n_s_c1;
+static PyObject *__pyx_n_s_cell;
+static PyObject *__pyx_n_s_center_vec;
+static PyObject *__pyx_n_s_cline_in_traceback;
+static PyObject *__pyx_n_s_clip;
+static PyObject *__pyx_n_s_clip_copying;
+static PyObject *__pyx_n_s_clips;
+static PyObject *__pyx_n_s_close;
+static PyObject *__pyx_n_s_combinations;
+static PyObject *__pyx_n_s_cone;
+static PyObject *__pyx_n_s_cone_clip_db;
+static PyObject *__pyx_n_s_cone_sections;
+static PyObject *__pyx_n_s_cone_segment_dict;
+static PyObject *__pyx_n_s_conecoords;
+static PyObject *__pyx_n_s_cones;
+static PyObject *__pyx_n_s_constructive_neuronal_geometry;
+static PyObject *__pyx_n_s_constructive_neuronal_geometry_l;
+static PyObject *__pyx_n_s_contourcenter;
+static PyObject *__pyx_n_s_corner_count;
+static PyObject *__pyx_n_s_corner_pts;
+static PyObject *__pyx_n_s_cp;
+static PyObject *__pyx_n_s_cross;
+static PyObject *__pyx_kp_s_ctng_pyx;
+static PyObject *__pyx_n_s_cx;
+static PyObject *__pyx_n_s_cy;
+static PyObject *__pyx_n_s_d;
+static PyObject *__pyx_n_s_d0;
+static PyObject *__pyx_n_s_d1;
+static PyObject *__pyx_n_s_define_shape;
+static PyObject *__pyx_n_s_delta_x;
+static PyObject *__pyx_n_s_delta_y;
+static PyObject *__pyx_n_s_deltad;
+static PyObject *__pyx_n_s_diam1;
+static PyObject *__pyx_n_s_diam2;
+static PyObject *__pyx_n_s_diam3d;
+static PyObject *__pyx_n_s_diam_corrections;
+static PyObject *__pyx_n_s_diam_db;
+static PyObject *__pyx_n_s_diams;
+static PyObject *__pyx_n_s_distance;
+static PyObject *__pyx_n_s_div;
+static PyObject *__pyx_n_s_dot;
+static PyObject *__pyx_n_s_dx;
+static PyObject *__pyx_n_s_end;
+static PyObject *__pyx_n_s_enumerate;
+static PyObject *__pyx_n_s_extreme1;
+static PyObject *__pyx_n_s_extreme2;
+static PyObject *__pyx_kp_s_extreme_points_computation_faile;
+static PyObject *__pyx_n_s_f_diams;
+static PyObject *__pyx_n_s_f_pts;
+static PyObject *__pyx_n_s_genexpr;
+static PyObject *__pyx_n_s_getcol;
+static PyObject *__pyx_n_s_getrow;
+static PyObject *__pyx_n_s_graphicsPrimitives;
+static PyObject *__pyx_n_s_h;
+static PyObject *__pyx_n_s_hi;
+static PyObject *__pyx_n_s_hname;
+static PyObject *__pyx_n_s_hoc_internal_name;
+static PyObject *__pyx_n_s_i;
+static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_inf;
+static PyObject *__pyx_n_s_int_clip;
+static PyObject *__pyx_n_s_interp;
+static PyObject *__pyx_n_s_is_stack;
+static PyObject *__pyx_n_s_iscontour;
+static PyObject *__pyx_n_s_iseg;
+static PyObject *__pyx_n_s_items;
+static PyObject *__pyx_n_s_itertools;
+static PyObject *__pyx_n_s_j;
+static PyObject *__pyx_n_s_join_groups;
+static PyObject *__pyx_n_s_join_item;
+static PyObject *__pyx_n_s_join_items_needing_clipped;
+static PyObject *__pyx_n_s_joingroup;
+static PyObject *__pyx_n_s_k;
+static PyObject *__pyx_n_s_left_neighbors;
+static PyObject *__pyx_n_s_linalg;
+static PyObject *__pyx_n_s_lo;
+static PyObject *__pyx_n_s_loc;
+static PyObject *__pyx_n_s_m;
+static PyObject *__pyx_n_s_mag;
+static PyObject *__pyx_n_s_main;
+static PyObject *__pyx_n_s_major;
+static PyObject *__pyx_n_s_major_length;
+static PyObject *__pyx_n_s_major_p1;
+static PyObject *__pyx_n_s_major_p2;
+static PyObject *__pyx_n_s_margin;
+static PyObject *__pyx_n_s_max;
+static PyObject *__pyx_n_s_max_ind;
+static PyObject *__pyx_n_s_min;
+static PyObject *__pyx_n_s_min_ind;
+static PyObject *__pyx_n_s_minor;
+static PyObject *__pyx_kp_s_more_than_one_contour_is_not_cur;
+static PyObject *__pyx_kp_s_multiple_most_extreme_points;
+static PyObject *__pyx_n_s_my_corner_count;
+static PyObject *__pyx_n_s_n3d;
+static PyObject *__pyx_n_s_n_soma_step;
+static PyObject *__pyx_n_s_name;
+static PyObject *__pyx_n_s_naxis;
+static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;
+static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;
+static PyObject *__pyx_n_s_neighbor;
+static PyObject *__pyx_n_s_neighbor_copy;
+static PyObject *__pyx_n_s_neighbor_left;
+static PyObject *__pyx_n_s_neighbor_right;
+static PyObject *__pyx_n_s_neuron;
+static PyObject *__pyx_n_s_neuron_rxd_geometry3d_ctng;
+static PyObject *__pyx_n_s_neuron_rxd_rxdException;
+static PyObject *__pyx_n_s_new_objects;
+static PyObject *__pyx_n_s_no_parent_count;
+static PyObject *__pyx_n_s_norm;
+static PyObject *__pyx_n_s_nouniform;
+static PyObject *__pyx_n_s_nradial_vec;
+static PyObject *__pyx_n_s_nseg;
+static PyObject *__pyx_n_s_num_contours;
+static PyObject *__pyx_n_s_numpy;
+static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;
+static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;
+static PyObject *__pyx_n_s_obj_pts_dict;
+static PyObject *__pyx_n_s_obj_sections;
+static PyObject *__pyx_n_s_objects;
+static PyObject *__pyx_n_s_orig_x;
+static PyObject *__pyx_n_s_orig_y;
+static PyObject *__pyx_n_s_orig_z;
+static PyObject *__pyx_n_s_p;
+static PyObject *__pyx_n_s_p1;
+static PyObject *__pyx_n_s_p2;
+static PyObject *__pyx_n_s_parent_sec_name;
+static PyObject *__pyx_n_s_parentsec;
+static PyObject *__pyx_n_s_path_length;
+static PyObject *__pyx_n_s_plane_normal;
+static PyObject *__pyx_n_s_potential_soma_cones;
+static PyObject *__pyx_n_s_product;
+static PyObject *__pyx_n_s_psec;
+static PyObject *__pyx_n_s_pt;
+static PyObject *__pyx_n_s_pt0;
+static PyObject *__pyx_n_s_pt1;
+static PyObject *__pyx_n_s_pt1x;
+static PyObject *__pyx_n_s_pt1y;
+static PyObject *__pyx_n_s_pt2;
+static PyObject *__pyx_n_s_pt2x;
+static PyObject *__pyx_n_s_pt2y;
+static PyObject *__pyx_n_s_pt3;
+static PyObject *__pyx_n_s_pts;
+static PyObject *__pyx_n_s_pts3d;
+static PyObject *__pyx_n_s_pts_cones_db;
+static PyObject *__pyx_n_s_pts_sources;
+static PyObject *__pyx_n_s_q;
+static PyObject *__pyx_n_s_r0;
+static PyObject *__pyx_n_s_r0_2;
+static PyObject *__pyx_n_s_r1;
+static PyObject *__pyx_n_s_r1_2;
+static PyObject *__pyx_n_s_r2;
+static PyObject *__pyx_n_s_r3;
+static PyObject *__pyx_n_s_radial_vec;
+static PyObject *__pyx_n_s_radial_vec_norm;
+static PyObject *__pyx_n_s_range;
+static PyObject *__pyx_n_s_raw;
+static PyObject *__pyx_n_s_relevant_pts;
+static PyObject *__pyx_n_s_remove;
+static PyObject *__pyx_n_s_right_neighbors;
+static PyObject *__pyx_n_s_rng;
+static PyObject *__pyx_n_s_s;
+static PyObject *__pyx_n_s_s0;
+static PyObject *__pyx_n_s_s1;
+static PyObject *__pyx_n_s_sec;
+static PyObject *__pyx_n_s_sec_db;
+static PyObject *__pyx_n_s_sections;
+static PyObject *__pyx_n_s_seg;
+static PyObject *__pyx_n_s_seg_dict;
+static PyObject *__pyx_n_s_segment_locs;
+static PyObject *__pyx_n_s_send;
+static PyObject *__pyx_n_s_set_clip;
+static PyObject *__pyx_n_s_setval;
+static PyObject *__pyx_n_s_sharp_turn;
+static PyObject *__pyx_n_s_shift;
+static PyObject *__pyx_n_s_soma_objects;
+static PyObject *__pyx_kp_s_soma_rotation_unsupported_for_vo;
+static PyObject *__pyx_n_s_soma_secs;
+static PyObject *__pyx_n_s_soma_segment_dict;
+static PyObject *__pyx_kp_s_soma_stack_ignored_using_centroi;
+static PyObject *__pyx_n_s_somax;
+static PyObject *__pyx_n_s_somay;
+static PyObject *__pyx_n_s_somaz;
+static PyObject *__pyx_n_s_source;
+static PyObject *__pyx_n_s_source_is_import3d;
+static PyObject *__pyx_n_s_sp;
+static PyObject *__pyx_n_s_sqrt;
+static PyObject *__pyx_n_s_sum;
+static PyObject *__pyx_n_s_sx;
+static PyObject *__pyx_n_s_sy;
+static PyObject *__pyx_n_s_symmeig;
+static PyObject *__pyx_n_s_sz;
+static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_thickness;
+static PyObject *__pyx_n_s_throw;
+static PyObject *__pyx_n_s_to_python;
+static PyObject *__pyx_n_s_tobj;
+static PyObject *__pyx_n_s_trueparentseg;
+static PyObject *__pyx_kp_s_unexpected_corner_counts;
+static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;
+static PyObject *__pyx_n_s_update;
+static PyObject *__pyx_n_s_v;
+static PyObject *__pyx_n_s_vals;
+static PyObject *__pyx_n_s_warn;
+static PyObject *__pyx_n_s_warnings;
+static PyObject *__pyx_n_s_x;
+static PyObject *__pyx_n_s_x0;
+static PyObject *__pyx_n_s_x0_2;
+static PyObject *__pyx_n_s_x1;
+static PyObject *__pyx_n_s_x1_2;
+static PyObject *__pyx_n_s_x2;
+static PyObject *__pyx_n_s_x3;
+static PyObject *__pyx_n_s_x3d;
+static PyObject *__pyx_n_s_x4;
+static PyObject *__pyx_n_s_xcoords;
+static PyObject *__pyx_n_s_xrange;
+static PyObject *__pyx_n_s_xs_loop;
+static PyObject *__pyx_n_s_xshifted;
+static PyObject *__pyx_n_s_xx;
+static PyObject *__pyx_n_s_y;
+static PyObject *__pyx_n_s_y0;
+static PyObject *__pyx_n_s_y0_2;
+static PyObject *__pyx_n_s_y1;
+static PyObject *__pyx_n_s_y1_2;
+static PyObject *__pyx_n_s_y2;
+static PyObject *__pyx_n_s_y3;
+static PyObject *__pyx_n_s_y3d;
+static PyObject *__pyx_n_s_y4;
+static PyObject *__pyx_n_s_ycoords;
+static PyObject *__pyx_n_s_ys_loop;
+static PyObject *__pyx_n_s_yshifted;
+static PyObject *__pyx_n_s_yy;
+static PyObject *__pyx_n_s_z;
+static PyObject *__pyx_n_s_z0;
+static PyObject *__pyx_n_s_z0_2;
+static PyObject *__pyx_n_s_z1;
+static PyObject *__pyx_n_s_z1_2;
+static PyObject *__pyx_n_s_z2;
+static PyObject *__pyx_n_s_z3;
+static PyObject *__pyx_n_s_z3d;
+static PyObject *__pyx_n_s_zcoords;
+static PyObject *__pyx_n_s_zip;
+static PyObject *__pyx_n_s_zshifted;
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_soma_objects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y, CYTHON_UNUSED PyObject *__pyx_v_z, PyObject *__pyx_v_sec, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, int __pyx_v_n_soma_step); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_genexpr(PyObject *__pyx_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_2constructive_neuronal_geometry(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_source, int __pyx_v_n_soma_step, double __pyx_v_dx, PyObject *__pyx_v_nouniform, PyObject *__pyx_v_relevant_pts); /* proto */
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
+static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_update = {0, &__pyx_n_s_update, 0, 0, 0};
+static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_remove = {0, &__pyx_n_s_remove, 0, 0, 0};
+static PyObject *__pyx_float_2_;
+static PyObject *__pyx_float_0_5;
+static PyObject *__pyx_int_0;
+static PyObject *__pyx_int_1;
+static PyObject *__pyx_int_2;
+static PyObject *__pyx_int_3;
+static PyObject *__pyx_int_4;
+static PyObject *__pyx_tuple_;
+static PyObject *__pyx_tuple__2;
+static PyObject *__pyx_tuple__3;
+static PyObject *__pyx_tuple__4;
+static PyObject *__pyx_tuple__5;
+static PyObject *__pyx_tuple__6;
+static PyObject *__pyx_tuple__7;
+static PyObject *__pyx_tuple__8;
+static PyObject *__pyx_tuple__9;
+static PyObject *__pyx_tuple__11;
+static PyObject *__pyx_codeobj__10;
+static PyObject *__pyx_codeobj__12;
+/* Late includes */
+
+/* "neuron/rxd/geometry3d/ctng.pyx":23
+ * from graphicsPrimitives import Sphere, Cone, Cylinder, SkewCone, Plane, Union, Intersection, SphereCone
+ * 
+ * cdef tuple seg_line_intersection(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, bint clip):             # <<<<<<<<<<<<<<
+ *     # returns None if parallel (so None if 0 or infinitely many intersections)
+ *     # if clip is True, requires intersection on segment; else returns line-line intersection
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_seg_line_intersection(double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_x2, double __pyx_v_y2, double __pyx_v_x3, double __pyx_v_y3, double __pyx_v_x4, double __pyx_v_y4, int __pyx_v_clip) {
+  double __pyx_v_denom;
+  double __pyx_v_u;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("seg_line_intersection", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":26
+ *     # returns None if parallel (so None if 0 or infinitely many intersections)
+ *     # if clip is True, requires intersection on segment; else returns line-line intersection
+ *     cdef double denom = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)             # <<<<<<<<<<<<<<
+ *     if denom == 0: return None
+ *     cdef double u = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom
+ */
+  __pyx_v_denom = (((__pyx_v_y4 - __pyx_v_y3) * (__pyx_v_x2 - __pyx_v_x1)) - ((__pyx_v_x4 - __pyx_v_x3) * (__pyx_v_y2 - __pyx_v_y1)));
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":27
+ *     # if clip is True, requires intersection on segment; else returns line-line intersection
+ *     cdef double denom = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)
+ *     if denom == 0: return None             # <<<<<<<<<<<<<<
+ *     cdef double u = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom
+ *     if clip and not (0 <= u <= 1): return None
+ */
+  __pyx_t_1 = ((__pyx_v_denom == 0.0) != 0);
+  if (__pyx_t_1) {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":28
+ *     cdef double denom = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)
+ *     if denom == 0: return None
+ *     cdef double u = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom             # <<<<<<<<<<<<<<
+ *     if clip and not (0 <= u <= 1): return None
+ *     return (x1 + u * (x2 - x1), y1 + u * (y2 - y1))
+ */
+  __pyx_t_2 = (((__pyx_v_x4 - __pyx_v_x3) * (__pyx_v_y1 - __pyx_v_y3)) - ((__pyx_v_y4 - __pyx_v_y3) * (__pyx_v_x1 - __pyx_v_x3)));
+  if (unlikely(__pyx_v_denom == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 28, __pyx_L1_error)
+  }
+  __pyx_v_u = (__pyx_t_2 / __pyx_v_denom);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":29
+ *     if denom == 0: return None
+ *     cdef double u = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom
+ *     if clip and not (0 <= u <= 1): return None             # <<<<<<<<<<<<<<
+ *     return (x1 + u * (x2 - x1), y1 + u * (y2 - y1))
+ * 
+ */
+  __pyx_t_3 = (__pyx_v_clip != 0);
+  if (__pyx_t_3) {
+  } else {
+    __pyx_t_1 = __pyx_t_3;
+    goto __pyx_L5_bool_binop_done;
+  }
+  __pyx_t_3 = (0.0 <= __pyx_v_u);
+  if (__pyx_t_3) {
+    __pyx_t_3 = (__pyx_v_u <= 1.0);
+  }
+  __pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0);
+  __pyx_t_1 = __pyx_t_4;
+  __pyx_L5_bool_binop_done:;
+  if (__pyx_t_1) {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":30
+ *     cdef double u = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denom
+ *     if clip and not (0 <= u <= 1): return None
+ *     return (x1 + u * (x2 - x1), y1 + u * (y2 - y1))             # <<<<<<<<<<<<<<
+ * 
+ * cdef tuple closest_pt(pt, list pts, z2):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_x1 + (__pyx_v_u * (__pyx_v_x2 - __pyx_v_x1)))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble((__pyx_v_y1 + (__pyx_v_u * (__pyx_v_y2 - __pyx_v_y1)))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 30, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_r = ((PyObject*)__pyx_t_7);
+  __pyx_t_7 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":23
+ * from graphicsPrimitives import Sphere, Cone, Cylinder, SkewCone, Plane, Union, Intersection, SphereCone
+ * 
+ * cdef tuple seg_line_intersection(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, bint clip):             # <<<<<<<<<<<<<<
+ *     # returns None if parallel (so None if 0 or infinitely many intersections)
+ *     # if clip is True, requires intersection on segment; else returns line-line intersection
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.seg_line_intersection", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":32
+ *     return (x1 + u * (x2 - x1), y1 + u * (y2 - y1))
+ * 
+ * cdef tuple closest_pt(pt, list pts, z2):             # <<<<<<<<<<<<<<
+ *     dist = float('inf')
+ *     closest = None
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_closest_pt(PyObject *__pyx_v_pt, PyObject *__pyx_v_pts, PyObject *__pyx_v_z2) {
+  PyObject *__pyx_v_dist = NULL;
+  PyObject *__pyx_v_closest = NULL;
+  PyObject *__pyx_v_p = NULL;
+  PyObject *__pyx_v_x = NULL;
+  PyObject *__pyx_v_y = NULL;
+  PyObject *__pyx_v_d = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *(*__pyx_t_6)(PyObject *);
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_t_11;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("closest_pt", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":33
+ * 
+ * cdef tuple closest_pt(pt, list pts, z2):
+ *     dist = float('inf')             # <<<<<<<<<<<<<<
+ *     closest = None
+ *     for p in pts:
+ */
+  __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_n_s_inf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_dist = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":34
+ * cdef tuple closest_pt(pt, list pts, z2):
+ *     dist = float('inf')
+ *     closest = None             # <<<<<<<<<<<<<<
+ *     for p in pts:
+ *         x, y = p
+ */
+  __Pyx_INCREF(Py_None);
+  __pyx_v_closest = Py_None;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":35
+ *     dist = float('inf')
+ *     closest = None
+ *     for p in pts:             # <<<<<<<<<<<<<<
+ *         x, y = p
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ */
+  if (unlikely(__pyx_v_pts == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 35, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_pts; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+  for (;;) {
+    if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 35, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":36
+ *     closest = None
+ *     for p in pts:
+ *         x, y = p             # <<<<<<<<<<<<<<
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ *         if d < dist:
+ */
+    if ((likely(PyTuple_CheckExact(__pyx_v_p))) || (PyList_CheckExact(__pyx_v_p))) {
+      PyObject* sequence = __pyx_v_p;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 36, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_4);
+      #else
+      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      #endif
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_5 = PyObject_GetIter(__pyx_v_p); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext;
+      index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_3);
+      index = 1; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_4);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
+      __pyx_t_6 = NULL;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      goto __pyx_L6_unpacking_done;
+      __pyx_L5_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 36, __pyx_L1_error)
+      __pyx_L6_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":37
+ *     for p in pts:
+ *         x, y = p
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))             # <<<<<<<<<<<<<<
+ *         if d < dist:
+ *             dist = d
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_linalg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_norm); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_numpy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_7 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_7)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_7);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_v_pt) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_pt);
+    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_numpy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_INCREF(__pyx_v_x);
+    __Pyx_GIVEREF(__pyx_v_x);
+    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_x);
+    __Pyx_INCREF(__pyx_v_y);
+    __Pyx_GIVEREF(__pyx_v_y);
+    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_y);
+    __Pyx_INCREF(__pyx_v_z2);
+    __Pyx_GIVEREF(__pyx_v_z2);
+    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_z2);
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = PyNumber_Subtract(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_8)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_8);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9);
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 37, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_d, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":38
+ *         x, y = p
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ *         if d < dist:             # <<<<<<<<<<<<<<
+ *             dist = d
+ *             closest = p
+ */
+    __pyx_t_4 = PyObject_RichCompare(__pyx_v_d, __pyx_v_dist, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)
+    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 38, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_11) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":39
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ *         if d < dist:
+ *             dist = d             # <<<<<<<<<<<<<<
+ *             closest = p
+ *     return tuple(closest)
+ */
+      __Pyx_INCREF(__pyx_v_d);
+      __Pyx_DECREF_SET(__pyx_v_dist, __pyx_v_d);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":40
+ *         if d < dist:
+ *             dist = d
+ *             closest = p             # <<<<<<<<<<<<<<
+ *     return tuple(closest)
+ * 
+ */
+      __Pyx_INCREF(__pyx_v_p);
+      __Pyx_DECREF_SET(__pyx_v_closest, __pyx_v_p);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":38
+ *         x, y = p
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ *         if d < dist:             # <<<<<<<<<<<<<<
+ *             dist = d
+ *             closest = p
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":35
+ *     dist = float('inf')
+ *     closest = None
+ *     for p in pts:             # <<<<<<<<<<<<<<
+ *         x, y = p
+ *         d = linalg.norm(numpy.array(pt) - numpy.array((x, y, z2)))
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":41
+ *             dist = d
+ *             closest = p
+ *     return tuple(closest)             # <<<<<<<<<<<<<<
+ * 
+ * cdef tuple extreme_pts(list pts):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_v_closest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":32
+ *     return (x1 + u * (x2 - x1), y1 + u * (y2 - y1))
+ * 
+ * cdef tuple closest_pt(pt, list pts, z2):             # <<<<<<<<<<<<<<
+ *     dist = float('inf')
+ *     closest = None
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.closest_pt", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_dist);
+  __Pyx_XDECREF(__pyx_v_closest);
+  __Pyx_XDECREF(__pyx_v_p);
+  __Pyx_XDECREF(__pyx_v_x);
+  __Pyx_XDECREF(__pyx_v_y);
+  __Pyx_XDECREF(__pyx_v_d);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":43
+ *     return tuple(closest)
+ * 
+ * cdef tuple extreme_pts(list pts):             # <<<<<<<<<<<<<<
+ *     if len(pts) < 2: raise RxDException('extreme points computation failed')
+ *     cdef double max_dist, d
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_extreme_pts(PyObject *__pyx_v_pts) {
+  double __pyx_v_max_dist;
+  double __pyx_v_d;
+  PyObject *__pyx_v_pt1 = 0;
+  PyObject *__pyx_v_pt2 = 0;
+  PyObject *__pyx_v_best_p1 = 0;
+  PyObject *__pyx_v_best_p2 = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  int __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *(*__pyx_t_8)(PyObject *);
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *(*__pyx_t_10)(PyObject *);
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  double __pyx_t_13;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("extreme_pts", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":44
+ * 
+ * cdef tuple extreme_pts(list pts):
+ *     if len(pts) < 2: raise RxDException('extreme points computation failed')             # <<<<<<<<<<<<<<
+ *     cdef double max_dist, d
+ *     cdef tuple pt1, pt2, best_p1, best_p2
+ */
+  if (unlikely(__pyx_v_pts == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(0, 44, __pyx_L1_error)
+  }
+  __pyx_t_1 = PyList_GET_SIZE(__pyx_v_pts); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 44, __pyx_L1_error)
+  __pyx_t_2 = ((__pyx_t_1 < 2) != 0);
+  if (unlikely(__pyx_t_2)) {
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
+      if (likely(__pyx_t_5)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_5);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_4, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_extreme_points_computation_faile) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_extreme_points_computation_faile);
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(0, 44, __pyx_L1_error)
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":47
+ *     cdef double max_dist, d
+ *     cdef tuple pt1, pt2, best_p1, best_p2
+ *     max_dist = -1             # <<<<<<<<<<<<<<
+ * 
+ *     for pt1, pt2 in itertools.combinations(pts, 2):
+ */
+  __pyx_v_max_dist = -1.0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":49
+ *     max_dist = -1
+ * 
+ *     for pt1, pt2 in itertools.combinations(pts, 2):             # <<<<<<<<<<<<<<
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))
+ *         if d > max_dist:
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_itertools); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_combinations); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 49, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = NULL;
+  __pyx_t_6 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_6 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pts, __pyx_int_2};
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pts, __pyx_int_2};
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+  } else
+  #endif
+  {
+    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    if (__pyx_t_4) {
+      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_pts);
+    __Pyx_GIVEREF(__pyx_v_pts);
+    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_pts);
+    __Pyx_INCREF(__pyx_int_2);
+    __Pyx_GIVEREF(__pyx_int_2);
+    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_int_2);
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+    __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_1 = 0;
+    __pyx_t_8 = NULL;
+  } else {
+    __pyx_t_1 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 49, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_8)) {
+      if (likely(PyList_CheckExact(__pyx_t_5))) {
+        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 49, __pyx_L1_error)
+        #else
+        __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        #endif
+      } else {
+        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 49, __pyx_L1_error)
+        #else
+        __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        #endif
+      }
+    } else {
+      __pyx_t_3 = __pyx_t_8(__pyx_t_5);
+      if (unlikely(!__pyx_t_3)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 49, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_3);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
+      PyObject* sequence = __pyx_t_3;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 49, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_7 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_7);
+      __Pyx_INCREF(__pyx_t_4);
+      #else
+      __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 49, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      #endif
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 49, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
+      index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_7);
+      index = 1; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_4);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
+      __pyx_t_10 = NULL;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      goto __pyx_L7_unpacking_done;
+      __pyx_L6_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_10 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 49, __pyx_L1_error)
+      __pyx_L7_unpacking_done:;
+    }
+    if (!(likely(PyTuple_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 49, __pyx_L1_error)
+    if (!(likely(PyTuple_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 49, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_pt1, ((PyObject*)__pyx_t_7));
+    __pyx_t_7 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt2, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":50
+ * 
+ *     for pt1, pt2 in itertools.combinations(pts, 2):
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))             # <<<<<<<<<<<<<<
+ *         if d > max_dist:
+ *             best_p1 = pt1
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_linalg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_norm); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_11);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_11, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_9, __pyx_v_pt1) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_pt1);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_12, function);
+      }
+    }
+    __pyx_t_11 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_9, __pyx_v_pt2) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_pt2);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    __pyx_t_12 = PyNumber_Subtract(__pyx_t_4, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __pyx_t_11 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
+      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7);
+      if (likely(__pyx_t_11)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_11);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_7, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_12);
+    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 50, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_v_d = __pyx_t_13;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":51
+ *     for pt1, pt2 in itertools.combinations(pts, 2):
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))
+ *         if d > max_dist:             # <<<<<<<<<<<<<<
+ *             best_p1 = pt1
+ *             best_p2 = pt2
+ */
+    __pyx_t_2 = ((__pyx_v_d > __pyx_v_max_dist) != 0);
+    if (__pyx_t_2) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":52
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))
+ *         if d > max_dist:
+ *             best_p1 = pt1             # <<<<<<<<<<<<<<
+ *             best_p2 = pt2
+ *             max_dist = d
+ */
+      __Pyx_INCREF(__pyx_v_pt1);
+      __Pyx_XDECREF_SET(__pyx_v_best_p1, __pyx_v_pt1);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":53
+ *         if d > max_dist:
+ *             best_p1 = pt1
+ *             best_p2 = pt2             # <<<<<<<<<<<<<<
+ *             max_dist = d
+ *     return best_p1, best_p2
+ */
+      __Pyx_INCREF(__pyx_v_pt2);
+      __Pyx_XDECREF_SET(__pyx_v_best_p2, __pyx_v_pt2);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":54
+ *             best_p1 = pt1
+ *             best_p2 = pt2
+ *             max_dist = d             # <<<<<<<<<<<<<<
+ *     return best_p1, best_p2
+ * 
+ */
+      __pyx_v_max_dist = __pyx_v_d;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":51
+ *     for pt1, pt2 in itertools.combinations(pts, 2):
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))
+ *         if d > max_dist:             # <<<<<<<<<<<<<<
+ *             best_p1 = pt1
+ *             best_p2 = pt2
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":49
+ *     max_dist = -1
+ * 
+ *     for pt1, pt2 in itertools.combinations(pts, 2):             # <<<<<<<<<<<<<<
+ *         d = linalg.norm(numpy.array(pt1) - numpy.array(pt2))
+ *         if d > max_dist:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":55
+ *             best_p2 = pt2
+ *             max_dist = d
+ *     return best_p1, best_p2             # <<<<<<<<<<<<<<
+ * 
+ * # helper function for maintaing the points-cones database
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if (unlikely(!__pyx_v_best_p1)) { __Pyx_RaiseUnboundLocalError("best_p1"); __PYX_ERR(0, 55, __pyx_L1_error) }
+  if (unlikely(!__pyx_v_best_p2)) { __Pyx_RaiseUnboundLocalError("best_p2"); __PYX_ERR(0, 55, __pyx_L1_error) }
+  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_INCREF(__pyx_v_best_p1);
+  __Pyx_GIVEREF(__pyx_v_best_p1);
+  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_best_p1);
+  __Pyx_INCREF(__pyx_v_best_p2);
+  __Pyx_GIVEREF(__pyx_v_best_p2);
+  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_best_p2);
+  __pyx_r = ((PyObject*)__pyx_t_5);
+  __pyx_t_5 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":43
+ *     return tuple(closest)
+ * 
+ * cdef tuple extreme_pts(list pts):             # <<<<<<<<<<<<<<
+ *     if len(pts) < 2: raise RxDException('extreme points computation failed')
+ *     cdef double max_dist, d
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.extreme_pts", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_pt1);
+  __Pyx_XDECREF(__pyx_v_pt2);
+  __Pyx_XDECREF(__pyx_v_best_p1);
+  __Pyx_XDECREF(__pyx_v_best_p2);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":58
+ * 
+ * # helper function for maintaing the points-cones database
+ * cdef register(dict pts_cones_db, tuple pt, cone):             # <<<<<<<<<<<<<<
+ *     if pt not in pts_cones_db:
+ *         pts_cones_db[pt] = []
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(PyObject *__pyx_v_pts_cones_db, PyObject *__pyx_v_pt, PyObject *__pyx_v_cone) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("register", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":59
+ * # helper function for maintaing the points-cones database
+ * cdef register(dict pts_cones_db, tuple pt, cone):
+ *     if pt not in pts_cones_db:             # <<<<<<<<<<<<<<
+ *         pts_cones_db[pt] = []
+ *     pts_cones_db[pt].append(cone)
+ */
+  if (unlikely(__pyx_v_pts_cones_db == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 59, __pyx_L1_error)
+  }
+  __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_pt, __pyx_v_pts_cones_db, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 59, __pyx_L1_error)
+  __pyx_t_2 = (__pyx_t_1 != 0);
+  if (__pyx_t_2) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":60
+ * cdef register(dict pts_cones_db, tuple pt, cone):
+ *     if pt not in pts_cones_db:
+ *         pts_cones_db[pt] = []             # <<<<<<<<<<<<<<
+ *     pts_cones_db[pt].append(cone)
+ * 
+ */
+    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    if (unlikely(__pyx_v_pts_cones_db == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 60, __pyx_L1_error)
+    }
+    if (unlikely(PyDict_SetItem(__pyx_v_pts_cones_db, __pyx_v_pt, __pyx_t_3) < 0)) __PYX_ERR(0, 60, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":59
+ * # helper function for maintaing the points-cones database
+ * cdef register(dict pts_cones_db, tuple pt, cone):
+ *     if pt not in pts_cones_db:             # <<<<<<<<<<<<<<
+ *         pts_cones_db[pt] = []
+ *     pts_cones_db[pt].append(cone)
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":61
+ *     if pt not in pts_cones_db:
+ *         pts_cones_db[pt] = []
+ *     pts_cones_db[pt].append(cone)             # <<<<<<<<<<<<<<
+ * 
+ * # helper function that counts the number of points inside a region
+ */
+  if (unlikely(__pyx_v_pts_cones_db == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(0, 61, __pyx_L1_error)
+  }
+  __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_pts_cones_db, __pyx_v_pt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_v_cone); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 61, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":58
+ * 
+ * # helper function for maintaing the points-cones database
+ * cdef register(dict pts_cones_db, tuple pt, cone):             # <<<<<<<<<<<<<<
+ *     if pt not in pts_cones_db:
+ *         pts_cones_db[pt] = []
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.register", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":66
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef int count_outside(region, list pts, double err):             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt
+ *     cdef int result = 0
+ */
+
+static int __pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(PyObject *__pyx_v_region, PyObject *__pyx_v_pts, double __pyx_v_err) {
+  PyArrayObject *__pyx_v_pt = 0;
+  int __pyx_v_result;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_pt;
+  __Pyx_Buffer __pyx_pybuffer_pt;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyArrayObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  Py_ssize_t __pyx_t_10;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  int __pyx_t_16;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("count_outside", 0);
+  __pyx_pybuffer_pt.pybuffer.buf = NULL;
+  __pyx_pybuffer_pt.refcount = 0;
+  __pyx_pybuffernd_pt.data = NULL;
+  __pyx_pybuffernd_pt.rcbuffer = &__pyx_pybuffer_pt;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":68
+ * cdef int count_outside(region, list pts, double err):
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt
+ *     cdef int result = 0             # <<<<<<<<<<<<<<
+ *     for pt in pts:
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:
+ */
+  __pyx_v_result = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":69
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt
+ *     cdef int result = 0
+ *     for pt in pts:             # <<<<<<<<<<<<<<
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:
+ *             result += 1
+ */
+  if (unlikely(__pyx_v_pts == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 69, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_pts; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+  for (;;) {
+    if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 69, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 69, __pyx_L1_error)
+    __pyx_t_4 = ((PyArrayObject *)__pyx_t_3);
+    {
+      __Pyx_BufFmt_StackElem __pyx_stack[1];
+      __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt.rcbuffer->pybuffer);
+      __pyx_t_5 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pt.rcbuffer->pybuffer, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+      if (unlikely(__pyx_t_5 < 0)) {
+        PyErr_Fetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
+        if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pt.rcbuffer->pybuffer, (PyObject*)__pyx_v_pt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+          Py_XDECREF(__pyx_t_6); Py_XDECREF(__pyx_t_7); Py_XDECREF(__pyx_t_8);
+          __Pyx_RaiseBufferFallbackError();
+        } else {
+          PyErr_Restore(__pyx_t_6, __pyx_t_7, __pyx_t_8);
+        }
+        __pyx_t_6 = __pyx_t_7 = __pyx_t_8 = 0;
+      }
+      __pyx_pybuffernd_pt.diminfo[0].strides = __pyx_pybuffernd_pt.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pt.diminfo[0].shape = __pyx_pybuffernd_pt.rcbuffer->pybuffer.shape[0];
+      if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 69, __pyx_L1_error)
+    }
+    __pyx_t_4 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt, ((PyArrayObject *)__pyx_t_3));
+    __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":70
+ *     cdef int result = 0
+ *     for pt in pts:
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:             # <<<<<<<<<<<<<<
+ *             result += 1
+ *     return result
+ */
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_region, __pyx_n_s_distance); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_10 = 0;
+    __pyx_t_11 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_pt.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_pt.diminfo[0].strides))); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_10 = 1;
+    __pyx_t_12 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_pt.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_pt.diminfo[0].strides))); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_10 = 2;
+    __pyx_t_13 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_pt.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_pt.diminfo[0].strides))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_14 = NULL;
+    __pyx_t_5 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_14)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+        __pyx_t_5 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_9)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_t_11, __pyx_t_12, __pyx_t_13};
+      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_t_11, __pyx_t_12, __pyx_t_13};
+      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_15 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_15);
+      if (__pyx_t_14) {
+        __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_11);
+      PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_5, __pyx_t_11);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_5, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_5, __pyx_t_13);
+      __pyx_t_11 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_15 = PyObject_RichCompare(__pyx_t_3, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 70, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    if (__pyx_t_16) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":71
+ *     for pt in pts:
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:
+ *             result += 1             # <<<<<<<<<<<<<<
+ *     return result
+ * 
+ */
+      __pyx_v_result = (__pyx_v_result + 1);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":70
+ *     cdef int result = 0
+ *     for pt in pts:
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:             # <<<<<<<<<<<<<<
+ *             result += 1
+ *     return result
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":69
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt
+ *     cdef int result = 0
+ *     for pt in pts:             # <<<<<<<<<<<<<<
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:
+ *             result += 1
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":72
+ *         if region.distance(pt[0], pt[1], pt[2]) > err:
+ *             result += 1
+ *     return result             # <<<<<<<<<<<<<<
+ * 
+ * @cython.boundscheck(False)
+ */
+  __pyx_r = __pyx_v_result;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":66
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef int count_outside(region, list pts, double err):             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt
+ *     cdef int result = 0
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.ctng.count_outside", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_pt);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":76
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef tuple get_infinite_cones(double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2, double r2):             # <<<<<<<<<<<<<<
+ *     cdef double deltar, deltanr
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] axis, naxis
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_get_infinite_cones(double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1, double __pyx_v_x2, double __pyx_v_y2, double __pyx_v_z2, double __pyx_v_r2) {
+  double __pyx_v_deltar;
+  double __pyx_v_deltanr;
+  PyArrayObject *__pyx_v_axis = 0;
+  PyArrayObject *__pyx_v_naxis = 0;
+  double __pyx_v_offset0;
+  double __pyx_v_offset1;
+  double __pyx_v_offset1b;
+  double __pyx_v_offset2;
+  PyObject *__pyx_v_c0 = NULL;
+  PyObject *__pyx_v_c1 = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_axis;
+  __Pyx_Buffer __pyx_pybuffer_axis;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_naxis;
+  __Pyx_Buffer __pyx_pybuffer_naxis;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyArrayObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  double __pyx_t_12;
+  int __pyx_t_13;
+  Py_ssize_t __pyx_t_14;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("get_infinite_cones", 0);
+  __pyx_pybuffer_axis.pybuffer.buf = NULL;
+  __pyx_pybuffer_axis.refcount = 0;
+  __pyx_pybuffernd_axis.data = NULL;
+  __pyx_pybuffernd_axis.rcbuffer = &__pyx_pybuffer_axis;
+  __pyx_pybuffer_naxis.pybuffer.buf = NULL;
+  __pyx_pybuffer_naxis.refcount = 0;
+  __pyx_pybuffernd_naxis.data = NULL;
+  __pyx_pybuffernd_naxis.rcbuffer = &__pyx_pybuffer_naxis;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":80
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] axis, naxis
+ * 
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])             # <<<<<<<<<<<<<<
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])
+ *     deltar = r2 - r1; deltanr = r1 - r0
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyFloat_FromDouble((__pyx_v_x2 - __pyx_v_x1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_y2 - __pyx_v_y1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_z2 - __pyx_v_z1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+  __pyx_t_2 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 80, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_1);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_v_axis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_axis.diminfo[0].strides = __pyx_pybuffernd_axis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_axis.diminfo[0].shape = __pyx_pybuffernd_axis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 80, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_axis = ((PyArrayObject *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":81
+ * 
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])             # <<<<<<<<<<<<<<
+ *     deltar = r2 - r1; deltanr = r1 - r0
+ *     deltar /= linalg.norm(axis); deltanr /= linalg.norm(naxis)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_x1 - __pyx_v_x0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_y1 - __pyx_v_y0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_z1 - __pyx_v_z0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_4);
+  __pyx_t_3 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 81, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_1);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_v_naxis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_naxis.diminfo[0].strides = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_naxis.diminfo[0].shape = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 81, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_naxis = ((PyArrayObject *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":82
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])
+ *     deltar = r2 - r1; deltanr = r1 - r0             # <<<<<<<<<<<<<<
+ *     deltar /= linalg.norm(axis); deltanr /= linalg.norm(naxis)
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)
+ */
+  __pyx_v_deltar = (__pyx_v_r2 - __pyx_v_r1);
+  __pyx_v_deltanr = (__pyx_v_r1 - __pyx_v_r0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":83
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])
+ *     deltar = r2 - r1; deltanr = r1 - r0
+ *     deltar /= linalg.norm(axis); deltanr /= linalg.norm(naxis)             # <<<<<<<<<<<<<<
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)
+ *     #
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_deltar); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_linalg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_norm); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+    }
+  }
+  __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, ((PyObject *)__pyx_v_axis)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_axis));
+  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = __Pyx_PyNumber_InPlaceDivide(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_deltar = __pyx_t_12;
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_deltanr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linalg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_norm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_1)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_1);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, ((PyObject *)__pyx_v_naxis)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_naxis));
+  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyNumber_InPlaceDivide(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 83, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_deltanr = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":84
+ *     deltar = r2 - r1; deltanr = r1 - r0
+ *     deltar /= linalg.norm(axis); deltanr /= linalg.norm(naxis)
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)             # <<<<<<<<<<<<<<
+ *     #
+ *     # sphere, clipped to extended cones
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_linalg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_norm); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, ((PyObject *)__pyx_v_axis)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_axis));
+  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_axis), __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 84, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_4);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_v_axis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_axis.diminfo[0].strides = __pyx_pybuffernd_axis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_axis.diminfo[0].shape = __pyx_pybuffernd_axis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 84, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_axis, ((PyArrayObject *)__pyx_t_4));
+  __pyx_t_4 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_linalg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_norm); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, ((PyObject *)__pyx_v_naxis)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_naxis));
+  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_naxis), __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 84, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_v_naxis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_naxis.diminfo[0].strides = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_naxis.diminfo[0].shape = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 84, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_naxis, ((PyArrayObject *)__pyx_t_6));
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":89
+ *     # CTNG:trimsphere
+ *     #
+ *     offset0 = r0             # <<<<<<<<<<<<<<
+ *     offset1 = r1
+ *     offset1b = r1
+ */
+  __pyx_v_offset0 = __pyx_v_r0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":90
+ *     #
+ *     offset0 = r0
+ *     offset1 = r1             # <<<<<<<<<<<<<<
+ *     offset1b = r1
+ *     offset2 = r2
+ */
+  __pyx_v_offset1 = __pyx_v_r1;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":91
+ *     offset0 = r0
+ *     offset1 = r1
+ *     offset1b = r1             # <<<<<<<<<<<<<<
+ *     offset2 = r2
+ *     if r0 - deltanr * offset0 < 0:
+ */
+  __pyx_v_offset1b = __pyx_v_r1;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":92
+ *     offset1 = r1
+ *     offset1b = r1
+ *     offset2 = r2             # <<<<<<<<<<<<<<
+ *     if r0 - deltanr * offset0 < 0:
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ */
+  __pyx_v_offset2 = __pyx_v_r2;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":93
+ *     offset1b = r1
+ *     offset2 = r2
+ *     if r0 - deltanr * offset0 < 0:             # <<<<<<<<<<<<<<
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ *         offset0 = r0 / deltanr
+ */
+  __pyx_t_13 = (((__pyx_v_r0 - (__pyx_v_deltanr * __pyx_v_offset0)) < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":95
+ *     if r0 - deltanr * offset0 < 0:
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ *         offset0 = r0 / deltanr             # <<<<<<<<<<<<<<
+ *     if r1 + deltanr * offset1 < 0:
+ *         offset1 = -r1 / deltanr
+ */
+    if (unlikely(__pyx_v_deltanr == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 95, __pyx_L1_error)
+    }
+    __pyx_v_offset0 = (__pyx_v_r0 / __pyx_v_deltanr);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":93
+ *     offset1b = r1
+ *     offset2 = r2
+ *     if r0 - deltanr * offset0 < 0:             # <<<<<<<<<<<<<<
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ *         offset0 = r0 / deltanr
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":96
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ *         offset0 = r0 / deltanr
+ *     if r1 + deltanr * offset1 < 0:             # <<<<<<<<<<<<<<
+ *         offset1 = -r1 / deltanr
+ *     if r1 - deltar * offset1b < 0:
+ */
+  __pyx_t_13 = (((__pyx_v_r1 + (__pyx_v_deltanr * __pyx_v_offset1)) < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":97
+ *         offset0 = r0 / deltanr
+ *     if r1 + deltanr * offset1 < 0:
+ *         offset1 = -r1 / deltanr             # <<<<<<<<<<<<<<
+ *     if r1 - deltar * offset1b < 0:
+ *         offset1b = r1 / deltar
+ */
+    __pyx_t_12 = (-__pyx_v_r1);
+    if (unlikely(__pyx_v_deltanr == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 97, __pyx_L1_error)
+    }
+    __pyx_v_offset1 = (__pyx_t_12 / __pyx_v_deltanr);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":96
+ *         # don't go that far (reduce offset0 so that this comes out 0)
+ *         offset0 = r0 / deltanr
+ *     if r1 + deltanr * offset1 < 0:             # <<<<<<<<<<<<<<
+ *         offset1 = -r1 / deltanr
+ *     if r1 - deltar * offset1b < 0:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":98
+ *     if r1 + deltanr * offset1 < 0:
+ *         offset1 = -r1 / deltanr
+ *     if r1 - deltar * offset1b < 0:             # <<<<<<<<<<<<<<
+ *         offset1b = r1 / deltar
+ *     if r2 + deltar * offset2 < 0:
+ */
+  __pyx_t_13 = (((__pyx_v_r1 - (__pyx_v_deltar * __pyx_v_offset1b)) < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":99
+ *         offset1 = -r1 / deltanr
+ *     if r1 - deltar * offset1b < 0:
+ *         offset1b = r1 / deltar             # <<<<<<<<<<<<<<
+ *     if r2 + deltar * offset2 < 0:
+ *         offset2 = -r2 / deltar
+ */
+    if (unlikely(__pyx_v_deltar == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 99, __pyx_L1_error)
+    }
+    __pyx_v_offset1b = (__pyx_v_r1 / __pyx_v_deltar);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":98
+ *     if r1 + deltanr * offset1 < 0:
+ *         offset1 = -r1 / deltanr
+ *     if r1 - deltar * offset1b < 0:             # <<<<<<<<<<<<<<
+ *         offset1b = r1 / deltar
+ *     if r2 + deltar * offset2 < 0:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":100
+ *     if r1 - deltar * offset1b < 0:
+ *         offset1b = r1 / deltar
+ *     if r2 + deltar * offset2 < 0:             # <<<<<<<<<<<<<<
+ *         offset2 = -r2 / deltar
+ * 
+ */
+  __pyx_t_13 = (((__pyx_v_r2 + (__pyx_v_deltar * __pyx_v_offset2)) < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":101
+ *         offset1b = r1 / deltar
+ *     if r2 + deltar * offset2 < 0:
+ *         offset2 = -r2 / deltar             # <<<<<<<<<<<<<<
+ * 
+ *     c0 = Cone(x0 - naxis[0] * offset0, y0 - naxis[1] * offset0, z0 - naxis[2] * offset0, r0 - deltanr * offset0, x1 + naxis[0] * offset1, y1 + naxis[1] * offset1, z1 + naxis[2] * offset1, r1 + deltanr * offset1)
+ */
+    __pyx_t_12 = (-__pyx_v_r2);
+    if (unlikely(__pyx_v_deltar == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 101, __pyx_L1_error)
+    }
+    __pyx_v_offset2 = (__pyx_t_12 / __pyx_v_deltar);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":100
+ *     if r1 - deltar * offset1b < 0:
+ *         offset1b = r1 / deltar
+ *     if r2 + deltar * offset2 < 0:             # <<<<<<<<<<<<<<
+ *         offset2 = -r2 / deltar
+ * 
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":103
+ *         offset2 = -r2 / deltar
+ * 
+ *     c0 = Cone(x0 - naxis[0] * offset0, y0 - naxis[1] * offset0, z0 - naxis[2] * offset0, r0 - deltanr * offset0, x1 + naxis[0] * offset1, y1 + naxis[1] * offset1, z1 + naxis[2] * offset1, r1 + deltanr * offset1)             # <<<<<<<<<<<<<<
+ *     c1 = Cone(x1 - axis[0] * offset1b, y1 - axis[1] * offset1b, z1 - axis[2] * offset1b, r1 - deltar * offset1b, x2 + axis[0] * offset2, y2 + axis[1] * offset2, z2 + axis[2] * offset2, r2 + deltar * offset2)
+ *     return c0, c1
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Cone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_14 = 0;
+  __pyx_t_2 = PyFloat_FromDouble((__pyx_v_x0 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset0))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_14 = 1;
+  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_y0 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_14 = 2;
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_z0 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset0))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_r0 - (__pyx_v_deltanr * __pyx_v_offset0))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_14 = 0;
+  __pyx_t_15 = PyFloat_FromDouble((__pyx_v_x1 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset1))); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_14 = 1;
+  __pyx_t_16 = PyFloat_FromDouble((__pyx_v_y1 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset1))); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_14 = 2;
+  __pyx_t_17 = PyFloat_FromDouble((__pyx_v_z1 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_naxis.diminfo[0].strides)) * __pyx_v_offset1))); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_18 = PyFloat_FromDouble((__pyx_v_r1 + (__pyx_v_deltanr * __pyx_v_offset1))); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 103, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_19 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_19)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_19);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[9] = {__pyx_t_19, __pyx_t_2, __pyx_t_1, __pyx_t_5, __pyx_t_3, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 103, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[9] = {__pyx_t_19, __pyx_t_2, __pyx_t_1, __pyx_t_5, __pyx_t_3, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 103, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_20 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 103, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    if (__pyx_t_19) {
+      __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL;
+    }
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_8, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_8, __pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_8, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_8, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_15);
+    PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_8, __pyx_t_15);
+    __Pyx_GIVEREF(__pyx_t_16);
+    PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_8, __pyx_t_16);
+    __Pyx_GIVEREF(__pyx_t_17);
+    PyTuple_SET_ITEM(__pyx_t_20, 6+__pyx_t_8, __pyx_t_17);
+    __Pyx_GIVEREF(__pyx_t_18);
+    PyTuple_SET_ITEM(__pyx_t_20, 7+__pyx_t_8, __pyx_t_18);
+    __pyx_t_2 = 0;
+    __pyx_t_1 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_15 = 0;
+    __pyx_t_16 = 0;
+    __pyx_t_17 = 0;
+    __pyx_t_18 = 0;
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 103, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_c0 = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":104
+ * 
+ *     c0 = Cone(x0 - naxis[0] * offset0, y0 - naxis[1] * offset0, z0 - naxis[2] * offset0, r0 - deltanr * offset0, x1 + naxis[0] * offset1, y1 + naxis[1] * offset1, z1 + naxis[2] * offset1, r1 + deltanr * offset1)
+ *     c1 = Cone(x1 - axis[0] * offset1b, y1 - axis[1] * offset1b, z1 - axis[2] * offset1b, r1 - deltar * offset1b, x2 + axis[0] * offset2, y2 + axis[1] * offset2, z2 + axis[2] * offset2, r2 + deltar * offset2)             # <<<<<<<<<<<<<<
+ *     return c0, c1
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Cone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_14 = 0;
+  __pyx_t_20 = PyFloat_FromDouble((__pyx_v_x1 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset1b))); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __pyx_t_14 = 1;
+  __pyx_t_18 = PyFloat_FromDouble((__pyx_v_y1 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset1b))); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_14 = 2;
+  __pyx_t_17 = PyFloat_FromDouble((__pyx_v_z1 - ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset1b))); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_16 = PyFloat_FromDouble((__pyx_v_r1 - (__pyx_v_deltar * __pyx_v_offset1b))); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_14 = 0;
+  __pyx_t_15 = PyFloat_FromDouble((__pyx_v_x2 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset2))); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_14 = 1;
+  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_y2 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset2))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_14 = 2;
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_z2 + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_14, __pyx_pybuffernd_axis.diminfo[0].strides)) * __pyx_v_offset2))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_r2 + (__pyx_v_deltar * __pyx_v_offset2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[9] = {__pyx_t_2, __pyx_t_20, __pyx_t_18, __pyx_t_17, __pyx_t_16, __pyx_t_15, __pyx_t_3, __pyx_t_5, __pyx_t_1};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[9] = {__pyx_t_2, __pyx_t_20, __pyx_t_18, __pyx_t_17, __pyx_t_16, __pyx_t_15, __pyx_t_3, __pyx_t_5, __pyx_t_1};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_19 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_19);
+    if (__pyx_t_2) {
+      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_2); __pyx_t_2 = NULL;
+    }
+    __Pyx_GIVEREF(__pyx_t_20);
+    PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_8, __pyx_t_20);
+    __Pyx_GIVEREF(__pyx_t_18);
+    PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_8, __pyx_t_18);
+    __Pyx_GIVEREF(__pyx_t_17);
+    PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_8, __pyx_t_17);
+    __Pyx_GIVEREF(__pyx_t_16);
+    PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_8, __pyx_t_16);
+    __Pyx_GIVEREF(__pyx_t_15);
+    PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_8, __pyx_t_15);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_8, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_19, 6+__pyx_t_8, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_19, 7+__pyx_t_8, __pyx_t_1);
+    __pyx_t_20 = 0;
+    __pyx_t_18 = 0;
+    __pyx_t_17 = 0;
+    __pyx_t_16 = 0;
+    __pyx_t_15 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_1 = 0;
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_c1 = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":105
+ *     c0 = Cone(x0 - naxis[0] * offset0, y0 - naxis[1] * offset0, z0 - naxis[2] * offset0, r0 - deltanr * offset0, x1 + naxis[0] * offset1, y1 + naxis[1] * offset1, z1 + naxis[2] * offset1, r1 + deltanr * offset1)
+ *     c1 = Cone(x1 - axis[0] * offset1b, y1 - axis[1] * offset1b, z1 - axis[2] * offset1b, r1 - deltar * offset1b, x2 + axis[0] * offset2, y2 + axis[1] * offset2, z2 + axis[2] * offset2, r2 + deltar * offset2)
+ *     return c0, c1             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_INCREF(__pyx_v_c0);
+  __Pyx_GIVEREF(__pyx_v_c0);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_c0);
+  __Pyx_INCREF(__pyx_v_c1);
+  __Pyx_GIVEREF(__pyx_v_c1);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_c1);
+  __pyx_r = ((PyObject*)__pyx_t_6);
+  __pyx_t_6 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":76
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef tuple get_infinite_cones(double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2, double r2):             # <<<<<<<<<<<<<<
+ *     cdef double deltar, deltanr
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] axis, naxis
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.get_infinite_cones", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_axis);
+  __Pyx_XDECREF((PyObject *)__pyx_v_naxis);
+  __Pyx_XDECREF(__pyx_v_c0);
+  __Pyx_XDECREF(__pyx_v_c1);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":110
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef list join_outside(double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2, double r2, double dx):             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt1, radial_vec, nradial_vec, axis, naxis
+ * 
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_4ctng_join_outside(double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1, double __pyx_v_x2, double __pyx_v_y2, double __pyx_v_z2, double __pyx_v_r2, double __pyx_v_dx) {
+  PyArrayObject *__pyx_v_pt1 = 0;
+  PyArrayObject *__pyx_v_radial_vec = 0;
+  PyArrayObject *__pyx_v_nradial_vec = 0;
+  PyArrayObject *__pyx_v_axis = 0;
+  PyArrayObject *__pyx_v_naxis = 0;
+  PyObject *__pyx_v_c0 = NULL;
+  PyObject *__pyx_v_c1 = NULL;
+  PyObject *__pyx_v_sp = NULL;
+  PyObject *__pyx_v_result = NULL;
+  PyObject *__pyx_v_plane_normal = NULL;
+  int __pyx_v_left_corner_count;
+  int __pyx_v_corner_count;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_axis;
+  __Pyx_Buffer __pyx_pybuffer_axis;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_naxis;
+  __Pyx_Buffer __pyx_pybuffer_naxis;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_nradial_vec;
+  __Pyx_Buffer __pyx_pybuffer_nradial_vec;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_pt1;
+  __Pyx_Buffer __pyx_pybuffer_pt1;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_radial_vec;
+  __Pyx_Buffer __pyx_pybuffer_radial_vec;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyArrayObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  int __pyx_t_14;
+  int __pyx_t_15;
+  PyObject *__pyx_t_16 = NULL;
+  Py_ssize_t __pyx_t_17;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("join_outside", 0);
+  __pyx_pybuffer_pt1.pybuffer.buf = NULL;
+  __pyx_pybuffer_pt1.refcount = 0;
+  __pyx_pybuffernd_pt1.data = NULL;
+  __pyx_pybuffernd_pt1.rcbuffer = &__pyx_pybuffer_pt1;
+  __pyx_pybuffer_radial_vec.pybuffer.buf = NULL;
+  __pyx_pybuffer_radial_vec.refcount = 0;
+  __pyx_pybuffernd_radial_vec.data = NULL;
+  __pyx_pybuffernd_radial_vec.rcbuffer = &__pyx_pybuffer_radial_vec;
+  __pyx_pybuffer_nradial_vec.pybuffer.buf = NULL;
+  __pyx_pybuffer_nradial_vec.refcount = 0;
+  __pyx_pybuffernd_nradial_vec.data = NULL;
+  __pyx_pybuffernd_nradial_vec.rcbuffer = &__pyx_pybuffer_nradial_vec;
+  __pyx_pybuffer_axis.pybuffer.buf = NULL;
+  __pyx_pybuffer_axis.refcount = 0;
+  __pyx_pybuffernd_axis.data = NULL;
+  __pyx_pybuffernd_axis.rcbuffer = &__pyx_pybuffer_axis;
+  __pyx_pybuffer_naxis.pybuffer.buf = NULL;
+  __pyx_pybuffer_naxis.refcount = 0;
+  __pyx_pybuffernd_naxis.data = NULL;
+  __pyx_pybuffernd_naxis.rcbuffer = &__pyx_pybuffer_naxis;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":113
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt1, radial_vec, nradial_vec, axis, naxis
+ * 
+ *     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)             # <<<<<<<<<<<<<<
+ * 
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])
+ */
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_get_infinite_cones(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (likely(__pyx_t_1 != Py_None)) {
+    PyObject* sequence = __pyx_t_1;
+    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+    if (unlikely(size != 2)) {
+      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+      __PYX_ERR(0, 113, __pyx_L1_error)
+    }
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
+    __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
+    __Pyx_INCREF(__pyx_t_2);
+    __Pyx_INCREF(__pyx_t_3);
+    #else
+    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  } else {
+    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 113, __pyx_L1_error)
+  }
+  __pyx_v_c0 = __pyx_t_2;
+  __pyx_t_2 = 0;
+  __pyx_v_c1 = __pyx_t_3;
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":115
+ *     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ * 
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])             # <<<<<<<<<<<<<<
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_x2 - __pyx_v_x1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_y2 - __pyx_v_y1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_z2 - __pyx_v_z1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 115, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_1);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_v_axis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_axis.diminfo[0].strides = __pyx_pybuffernd_axis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_axis.diminfo[0].shape = __pyx_pybuffernd_axis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 115, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_axis = ((PyArrayObject *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":116
+ * 
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])             # <<<<<<<<<<<<<<
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)
+ *     #
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyFloat_FromDouble((__pyx_v_x1 - __pyx_v_x0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_y1 - __pyx_v_y0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_z1 - __pyx_v_z0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_4);
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 116, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_1);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_v_naxis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_naxis.diminfo[0].strides = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_naxis.diminfo[0].shape = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 116, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_naxis = ((PyArrayObject *)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":117
+ *     axis = numpy.array([x2 - x1, y2 - y1, z2 - z1])
+ *     naxis = numpy.array([x1 - x0, y1 - y0, z1 - z0])
+ *     axis /= linalg.norm(axis); naxis /= linalg.norm(naxis)             # <<<<<<<<<<<<<<
+ *     #
+ *     # sphere, clipped to extended cones
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_linalg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_norm); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, ((PyObject *)__pyx_v_axis)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_axis));
+  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_axis), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 117, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_3);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_axis.rcbuffer->pybuffer, (PyObject*)__pyx_v_axis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_axis.diminfo[0].strides = __pyx_pybuffernd_axis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_axis.diminfo[0].shape = __pyx_pybuffernd_axis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 117, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_axis, ((PyArrayObject *)__pyx_t_3));
+  __pyx_t_3 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linalg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_norm); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_1)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_1);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+    }
+  }
+  __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, ((PyObject *)__pyx_v_naxis)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_naxis));
+  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_naxis), __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 117, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer, (PyObject*)__pyx_v_naxis, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_naxis.diminfo[0].strides = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_naxis.diminfo[0].shape = __pyx_pybuffernd_naxis.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 117, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_naxis, ((PyArrayObject *)__pyx_t_6));
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":122
+ *     # CTNG:trimsphere
+ *     #
+ *     sp = Sphere(x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *     sp.set_clip([Intersection([c0, c1])])
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_12 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_12)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_12);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_t_1, __pyx_t_4, __pyx_t_5, __pyx_t_2};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 122, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_t_1, __pyx_t_4, __pyx_t_5, __pyx_t_2};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 122, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_13 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 122, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (__pyx_t_12) {
+      __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
+    }
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, __pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_8, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_8, __pyx_t_2);
+    __pyx_t_1 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 122, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_v_sp = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":123
+ *     #
+ *     sp = Sphere(x1, y1, z1, r1)
+ *     sp.set_clip([Intersection([c0, c1])])             # <<<<<<<<<<<<<<
+ * 
+ *     result = [sp]
+ */
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_INCREF(__pyx_v_c0);
+  __Pyx_GIVEREF(__pyx_v_c0);
+  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_v_c0);
+  __Pyx_INCREF(__pyx_v_c1);
+  __Pyx_GIVEREF(__pyx_v_c1);
+  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_v_c1);
+  __pyx_t_4 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_13);
+  __pyx_t_13 = 0;
+  __pyx_t_13 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_13)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_13);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+    }
+  }
+  __pyx_t_6 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 123, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":125
+ *     sp.set_clip([Intersection([c0, c1])])
+ * 
+ *     result = [sp]             # <<<<<<<<<<<<<<
+ *     # check to see if the clipped sphere covers the ends of the cones
+ *     # if not, do something else :)
+ */
+  __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 125, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_INCREF(__pyx_v_sp);
+  __Pyx_GIVEREF(__pyx_v_sp);
+  PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_sp);
+  __pyx_v_result = ((PyObject*)__pyx_t_6);
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":130
+ * 
+ *     # locate key vectors
+ *     plane_normal = numpy.cross(axis, naxis)             # <<<<<<<<<<<<<<
+ *     radial_vec = numpy.cross(plane_normal, axis)
+ *     nradial_vec = numpy.cross(plane_normal, naxis)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_cross); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_axis), ((PyObject *)__pyx_v_naxis)};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_3, ((PyObject *)__pyx_v_axis), ((PyObject *)__pyx_v_naxis)};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  {
+    __pyx_t_13 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 130, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (__pyx_t_3) {
+      __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL;
+    }
+    __Pyx_INCREF(((PyObject *)__pyx_v_axis));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_axis));
+    PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, ((PyObject *)__pyx_v_axis));
+    __Pyx_INCREF(((PyObject *)__pyx_v_naxis));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_naxis));
+    PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, ((PyObject *)__pyx_v_naxis));
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_plane_normal = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":131
+ *     # locate key vectors
+ *     plane_normal = numpy.cross(axis, naxis)
+ *     radial_vec = numpy.cross(plane_normal, axis)             # <<<<<<<<<<<<<<
+ *     nradial_vec = numpy.cross(plane_normal, naxis)
+ *     # normalize all of these
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_cross); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 131, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_13, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_13)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_plane_normal, ((PyObject *)__pyx_v_axis)};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_plane_normal, ((PyObject *)__pyx_v_axis)};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  {
+    __pyx_t_3 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    if (__pyx_t_2) {
+      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_plane_normal);
+    __Pyx_GIVEREF(__pyx_v_plane_normal);
+    PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_v_plane_normal);
+    __Pyx_INCREF(((PyObject *)__pyx_v_axis));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_axis));
+    PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, ((PyObject *)__pyx_v_axis));
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 131, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_v_radial_vec, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_radial_vec.diminfo[0].strides = __pyx_pybuffernd_radial_vec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_radial_vec.diminfo[0].shape = __pyx_pybuffernd_radial_vec.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 131, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_radial_vec = ((PyArrayObject *)__pyx_t_6);
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":132
+ *     plane_normal = numpy.cross(axis, naxis)
+ *     radial_vec = numpy.cross(plane_normal, axis)
+ *     nradial_vec = numpy.cross(plane_normal, naxis)             # <<<<<<<<<<<<<<
+ *     # normalize all of these
+ *     radial_vec /= linalg.norm(radial_vec)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_numpy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_cross); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __pyx_t_13 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_13)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_13);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_plane_normal, ((PyObject *)__pyx_v_naxis)};
+    __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_plane_normal, ((PyObject *)__pyx_v_naxis)};
+    __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __Pyx_GOTREF(__pyx_t_6);
+  } else
+  #endif
+  {
+    __pyx_t_2 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 132, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    if (__pyx_t_13) {
+      __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_13); __pyx_t_13 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_plane_normal);
+    __Pyx_GIVEREF(__pyx_v_plane_normal);
+    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_8, __pyx_v_plane_normal);
+    __Pyx_INCREF(((PyObject *)__pyx_v_naxis));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_naxis));
+    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_8, ((PyObject *)__pyx_v_naxis));
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 132, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_v_nradial_vec, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_nradial_vec.diminfo[0].strides = __pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nradial_vec.diminfo[0].shape = __pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 132, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_nradial_vec = ((PyArrayObject *)__pyx_t_6);
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":134
+ *     nradial_vec = numpy.cross(plane_normal, naxis)
+ *     # normalize all of these
+ *     radial_vec /= linalg.norm(radial_vec)             # <<<<<<<<<<<<<<
+ *     nradial_vec /= linalg.norm(nradial_vec)
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_linalg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_norm); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_3)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+    }
+  }
+  __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_radial_vec)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_radial_vec));
+  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_radial_vec), __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 134, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_2);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_v_radial_vec, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_radial_vec.diminfo[0].strides = __pyx_pybuffernd_radial_vec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_radial_vec.diminfo[0].shape = __pyx_pybuffernd_radial_vec.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 134, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_radial_vec, ((PyArrayObject *)__pyx_t_2));
+  __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":135
+ *     # normalize all of these
+ *     radial_vec /= linalg.norm(radial_vec)
+ *     nradial_vec /= linalg.norm(nradial_vec)             # <<<<<<<<<<<<<<
+ * 
+ *     # count the corners that are inside a sphere clipped to the cones
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_linalg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 135, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_norm); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, ((PyObject *)__pyx_v_nradial_vec)) : __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_nradial_vec));
+  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 135, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyNumber_InPlaceDivide(((PyObject *)__pyx_v_nradial_vec), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 135, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_3);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer, (PyObject*)__pyx_v_nradial_vec, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9);
+      }
+      __pyx_t_11 = __pyx_t_10 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_nradial_vec.diminfo[0].strides = __pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_nradial_vec.diminfo[0].shape = __pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 135, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __Pyx_DECREF_SET(__pyx_v_nradial_vec, ((PyArrayObject *)__pyx_t_3));
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":138
+ * 
+ *     # count the corners that are inside a sphere clipped to the cones
+ *     pt1 = numpy.array([x1, y1, z1])             # <<<<<<<<<<<<<<
+ *     cdef int left_corner_count = 2 - count_outside(sp, [pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec], dx * 0.5)
+ *     cdef int corner_count = 2 - count_outside(sp, [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec], dx * 0.5)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_4 = PyList_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_5);
+  __pyx_t_2 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+    }
+  }
+  __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 138, __pyx_L1_error)
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_3);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt1.rcbuffer->pybuffer);
+    __pyx_t_8 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pt1.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_8 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_pt1.rcbuffer->pybuffer, (PyObject*)__pyx_v_pt1, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
+      }
+      __pyx_t_9 = __pyx_t_10 = __pyx_t_11 = 0;
+    }
+    __pyx_pybuffernd_pt1.diminfo[0].strides = __pyx_pybuffernd_pt1.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_pt1.diminfo[0].shape = __pyx_pybuffernd_pt1.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 138, __pyx_L1_error)
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_pt1 = ((PyArrayObject *)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":139
+ *     # count the corners that are inside a sphere clipped to the cones
+ *     pt1 = numpy.array([x1, y1, z1])
+ *     cdef int left_corner_count = 2 - count_outside(sp, [pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec], dx * 0.5)             # <<<<<<<<<<<<<<
+ *     cdef int corner_count = 2 - count_outside(sp, [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec], dx * 0.5)
+ *     #print 'for join (%g, %g, %g; %g) - (%g, %g, %g; %g) - (%g, %g, %g; %g):' % (x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ */
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_6 = PyNumber_Multiply(__pyx_t_3, ((PyObject *)__pyx_v_nradial_vec)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyNumber_Add(((PyObject *)__pyx_v_pt1), __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = PyNumber_Multiply(__pyx_t_6, ((PyObject *)__pyx_v_nradial_vec)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_pt1), __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_6);
+  __pyx_t_3 = 0;
+  __pyx_t_6 = 0;
+  __pyx_v_left_corner_count = (2 - __pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_sp, ((PyObject*)__pyx_t_4), (__pyx_v_dx * 0.5)));
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":140
+ *     pt1 = numpy.array([x1, y1, z1])
+ *     cdef int left_corner_count = 2 - count_outside(sp, [pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec], dx * 0.5)
+ *     cdef int corner_count = 2 - count_outside(sp, [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec], dx * 0.5)             # <<<<<<<<<<<<<<
+ *     #print 'for join (%g, %g, %g; %g) - (%g, %g, %g; %g) - (%g, %g, %g; %g):' % (x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *     #print '   left_corner_count = %g; corner_count = %g' % (left_corner_count, corner_count)
+ */
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_6 = PyNumber_Multiply(__pyx_t_4, ((PyObject *)__pyx_v_radial_vec)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyNumber_Add(((PyObject *)__pyx_v_pt1), __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_3 = PyNumber_Multiply(__pyx_t_6, ((PyObject *)__pyx_v_radial_vec)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyNumber_Subtract(((PyObject *)__pyx_v_pt1), __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
+  __pyx_t_4 = 0;
+  __pyx_t_6 = 0;
+  __pyx_v_corner_count = (2 - __pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_sp, ((PyObject*)__pyx_t_3), (__pyx_v_dx * 0.5)));
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":143
+ *     #print 'for join (%g, %g, %g; %g) - (%g, %g, %g; %g) - (%g, %g, %g; %g):' % (x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *     #print '   left_corner_count = %g; corner_count = %g' % (left_corner_count, corner_count)
+ *     if left_corner_count == corner_count == 2:             # <<<<<<<<<<<<<<
+ *         sp.set_clip([Intersection([c0, c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ */
+  __pyx_t_14 = (__pyx_v_left_corner_count == __pyx_v_corner_count);
+  if (__pyx_t_14) {
+    __pyx_t_14 = (__pyx_v_corner_count == 2);
+  }
+  __pyx_t_15 = (__pyx_t_14 != 0);
+  if (__pyx_t_15) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":144
+ *     #print '   left_corner_count = %g; corner_count = %g' % (left_corner_count, corner_count)
+ *     if left_corner_count == corner_count == 2:
+ *         sp.set_clip([Intersection([c0, c1,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":145
+ *     if left_corner_count == corner_count == 2:
+ *         sp.set_clip([Intersection([c0, c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count == 2:
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Plane); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_12 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_16 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_16);
+    __pyx_t_17 = 0;
+    __pyx_t_18 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __pyx_t_17 = 1;
+    __pyx_t_19 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_19);
+    __pyx_t_17 = 2;
+    __pyx_t_20 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 145, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __pyx_t_21 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_21)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_21);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_12, __pyx_t_16, __pyx_t_18, __pyx_t_19, __pyx_t_20};
+      __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 145, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_12, __pyx_t_16, __pyx_t_18, __pyx_t_19, __pyx_t_20};
+      __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 145, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_22 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 145, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      if (__pyx_t_21) {
+        __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_21); __pyx_t_21 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_8, __pyx_t_1);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_8, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_16);
+      PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_8, __pyx_t_16);
+      __Pyx_GIVEREF(__pyx_t_18);
+      PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_8, __pyx_t_18);
+      __Pyx_GIVEREF(__pyx_t_19);
+      PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_8, __pyx_t_19);
+      __Pyx_GIVEREF(__pyx_t_20);
+      PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_8, __pyx_t_20);
+      __pyx_t_1 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_16 = 0;
+      __pyx_t_18 = 0;
+      __pyx_t_19 = 0;
+      __pyx_t_20 = 0;
+      __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_22, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 145, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":146
+ *         sp.set_clip([Intersection([c0, c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])             # <<<<<<<<<<<<<<
+ *     elif left_corner_count < 2 and corner_count == 2:
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_Plane); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_20 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __pyx_t_19 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_19);
+    __pyx_t_18 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __pyx_t_17 = 0;
+    __pyx_t_16 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_16);
+    __pyx_t_17 = 1;
+    __pyx_t_12 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_17 = 2;
+    __pyx_t_1 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_21 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) {
+      __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_22);
+      if (likely(__pyx_t_21)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22);
+        __Pyx_INCREF(__pyx_t_21);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_22, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_22)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_20, __pyx_t_19, __pyx_t_18, __pyx_t_16, __pyx_t_12, __pyx_t_1};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_20, __pyx_t_19, __pyx_t_18, __pyx_t_16, __pyx_t_12, __pyx_t_1};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_23 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 146, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_23);
+      if (__pyx_t_21) {
+        __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_21); __pyx_t_21 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_20);
+      PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_8, __pyx_t_20);
+      __Pyx_GIVEREF(__pyx_t_19);
+      PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_8, __pyx_t_19);
+      __Pyx_GIVEREF(__pyx_t_18);
+      PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_8, __pyx_t_18);
+      __Pyx_GIVEREF(__pyx_t_16);
+      PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_8, __pyx_t_16);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_8, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_8, __pyx_t_1);
+      __pyx_t_20 = 0;
+      __pyx_t_19 = 0;
+      __pyx_t_18 = 0;
+      __pyx_t_16 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_1 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":144
+ *     #print '   left_corner_count = %g; corner_count = %g' % (left_corner_count, corner_count)
+ *     if left_corner_count == corner_count == 2:
+ *         sp.set_clip([Intersection([c0, c1,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_22 = PyList_New(4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __Pyx_INCREF(__pyx_v_c0);
+    __Pyx_GIVEREF(__pyx_v_c0);
+    PyList_SET_ITEM(__pyx_t_22, 0, __pyx_v_c0);
+    __Pyx_INCREF(__pyx_v_c1);
+    __Pyx_GIVEREF(__pyx_v_c1);
+    PyList_SET_ITEM(__pyx_t_22, 1, __pyx_v_c1);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyList_SET_ITEM(__pyx_t_22, 2, __pyx_t_13);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_22, 3, __pyx_t_2);
+    __pyx_t_13 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_2 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_2)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_22) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_22);
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":143
+ *     #print 'for join (%g, %g, %g; %g) - (%g, %g, %g; %g) - (%g, %g, %g; %g):' % (x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *     #print '   left_corner_count = %g; corner_count = %g' % (left_corner_count, corner_count)
+ *     if left_corner_count == corner_count == 2:             # <<<<<<<<<<<<<<
+ *         sp.set_clip([Intersection([c0, c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":147
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count == 2:             # <<<<<<<<<<<<<<
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ *         sp.set_clip([Intersection([c0,
+ */
+  __pyx_t_14 = ((__pyx_v_left_corner_count < 2) != 0);
+  if (__pyx_t_14) {
+  } else {
+    __pyx_t_15 = __pyx_t_14;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_14 = ((__pyx_v_corner_count == 2) != 0);
+  __pyx_t_15 = __pyx_t_14;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_15) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":149
+ *     elif left_corner_count < 2 and corner_count == 2:
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ *         sp.set_clip([Intersection([c0,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":150
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ *         sp.set_clip([Intersection([c0,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count == 2 and corner_count < 2:
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Plane); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_23 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_17 = 0;
+    __pyx_t_12 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_17 = 1;
+    __pyx_t_16 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_16);
+    __pyx_t_17 = 2;
+    __pyx_t_18 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 150, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __pyx_t_19 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_19)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_19);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_19, __pyx_t_13, __pyx_t_23, __pyx_t_1, __pyx_t_12, __pyx_t_16, __pyx_t_18};
+      __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 150, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_19, __pyx_t_13, __pyx_t_23, __pyx_t_1, __pyx_t_12, __pyx_t_16, __pyx_t_18};
+      __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 150, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_20 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 150, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_20);
+      if (__pyx_t_19) {
+        __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_8, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_8, __pyx_t_23);
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_8, __pyx_t_1);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_8, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_16);
+      PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_8, __pyx_t_16);
+      __Pyx_GIVEREF(__pyx_t_18);
+      PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_8, __pyx_t_18);
+      __pyx_t_13 = 0;
+      __pyx_t_23 = 0;
+      __pyx_t_1 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_16 = 0;
+      __pyx_t_18 = 0;
+      __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_20, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 150, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":151
+ *         sp.set_clip([Intersection([c0,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])             # <<<<<<<<<<<<<<
+ *     elif left_corner_count == 2 and corner_count < 2:
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_Plane); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __pyx_t_18 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __pyx_t_16 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_16);
+    __pyx_t_12 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_17 = 0;
+    __pyx_t_1 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_17 = 1;
+    __pyx_t_23 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_17 = 2;
+    __pyx_t_13 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 151, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_19 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
+      __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_20);
+      if (likely(__pyx_t_19)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+        __Pyx_INCREF(__pyx_t_19);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_20, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_20)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_19, __pyx_t_18, __pyx_t_16, __pyx_t_12, __pyx_t_1, __pyx_t_23, __pyx_t_13};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_19, __pyx_t_18, __pyx_t_16, __pyx_t_12, __pyx_t_1, __pyx_t_23, __pyx_t_13};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_21 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 151, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_21);
+      if (__pyx_t_19) {
+        __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_19); __pyx_t_19 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_18);
+      PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_8, __pyx_t_18);
+      __Pyx_GIVEREF(__pyx_t_16);
+      PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_8, __pyx_t_16);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_8, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_8, __pyx_t_1);
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_8, __pyx_t_23);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_8, __pyx_t_13);
+      __pyx_t_18 = 0;
+      __pyx_t_16 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_1 = 0;
+      __pyx_t_23 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":149
+ *     elif left_corner_count < 2 and corner_count == 2:
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ *         sp.set_clip([Intersection([c0,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_20 = PyList_New(3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __Pyx_INCREF(__pyx_v_c0);
+    __Pyx_GIVEREF(__pyx_v_c0);
+    PyList_SET_ITEM(__pyx_t_20, 0, __pyx_v_c0);
+    __Pyx_GIVEREF(__pyx_t_22);
+    PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_22);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_20, 2, __pyx_t_2);
+    __pyx_t_22 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_2 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+      if (likely(__pyx_t_2)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_4, function);
+      }
+    }
+    __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_20);
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+    __pyx_t_5 = 0;
+    __pyx_t_5 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_5)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_5);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":147
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count == 2:             # <<<<<<<<<<<<<<
+ *         # clipping to c1 is too harsh, but c0 clip is fine
+ *         sp.set_clip([Intersection([c0,
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":152
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count == 2 and corner_count < 2:             # <<<<<<<<<<<<<<
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ *         sp.set_clip([Intersection([c1,
+ */
+  __pyx_t_14 = ((__pyx_v_left_corner_count == 2) != 0);
+  if (__pyx_t_14) {
+  } else {
+    __pyx_t_15 = __pyx_t_14;
+    goto __pyx_L6_bool_binop_done;
+  }
+  __pyx_t_14 = ((__pyx_v_corner_count < 2) != 0);
+  __pyx_t_15 = __pyx_t_14;
+  __pyx_L6_bool_binop_done:;
+  if (__pyx_t_15) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":154
+ *     elif left_corner_count == 2 and corner_count < 2:
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ *         sp.set_clip([Intersection([c1,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":155
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ *         sp.set_clip([Intersection([c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count < 2:
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Plane); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_22 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_17 = 0;
+    __pyx_t_23 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_17 = 1;
+    __pyx_t_1 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_17 = 2;
+    __pyx_t_12 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 155, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_16 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_16)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_16);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_22, __pyx_t_21, __pyx_t_13, __pyx_t_23, __pyx_t_1, __pyx_t_12};
+      __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_GOTREF(__pyx_t_20);
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_22, __pyx_t_21, __pyx_t_13, __pyx_t_23, __pyx_t_1, __pyx_t_12};
+      __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_GOTREF(__pyx_t_20);
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_18 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_18);
+      if (__pyx_t_16) {
+        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_8, __pyx_t_22);
+      __Pyx_GIVEREF(__pyx_t_21);
+      PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_8, __pyx_t_21);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_8, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_8, __pyx_t_23);
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_8, __pyx_t_1);
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_8, __pyx_t_12);
+      __pyx_t_22 = 0;
+      __pyx_t_21 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_23 = 0;
+      __pyx_t_1 = 0;
+      __pyx_t_12 = 0;
+      __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_18, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_20);
+      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":156
+ *         sp.set_clip([Intersection([c1,
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])             # <<<<<<<<<<<<<<
+ *     elif left_corner_count < 2 and corner_count < 2:
+ *         # both clips are too harsh; fall back to just using a sphere
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_Plane); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __pyx_t_12 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_23 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_17 = 0;
+    __pyx_t_13 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_17 = 1;
+    __pyx_t_21 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __pyx_t_17 = 2;
+    __pyx_t_22 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 156, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_16 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) {
+      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_18);
+      if (likely(__pyx_t_16)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
+        __Pyx_INCREF(__pyx_t_16);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_18, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_18)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_12, __pyx_t_1, __pyx_t_23, __pyx_t_13, __pyx_t_21, __pyx_t_22};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_12, __pyx_t_1, __pyx_t_23, __pyx_t_13, __pyx_t_21, __pyx_t_22};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_19 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 156, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_19);
+      if (__pyx_t_16) {
+        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_16); __pyx_t_16 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_12);
+      PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_8, __pyx_t_12);
+      __Pyx_GIVEREF(__pyx_t_1);
+      PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_8, __pyx_t_1);
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_8, __pyx_t_23);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_8, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_21);
+      PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_8, __pyx_t_21);
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_8, __pyx_t_22);
+      __pyx_t_12 = 0;
+      __pyx_t_1 = 0;
+      __pyx_t_23 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_21 = 0;
+      __pyx_t_22 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":154
+ *     elif left_corner_count == 2 and corner_count < 2:
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ *         sp.set_clip([Intersection([c1,             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_18 = PyList_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_18);
+    __Pyx_INCREF(__pyx_v_c1);
+    __Pyx_GIVEREF(__pyx_v_c1);
+    PyList_SET_ITEM(__pyx_t_18, 0, __pyx_v_c1);
+    __Pyx_GIVEREF(__pyx_t_20);
+    PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_20);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_18, 2, __pyx_t_2);
+    __pyx_t_20 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_2 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_2)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_18) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_18);
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":152
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count == 2 and corner_count < 2:             # <<<<<<<<<<<<<<
+ *         # clipping to c0 is too harsh, but c1 clip is fine
+ *         sp.set_clip([Intersection([c1,
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":157
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count < 2:             # <<<<<<<<<<<<<<
+ *         # both clips are too harsh; fall back to just using a sphere
+ *         sp.set_clip([Intersection([
+ */
+  __pyx_t_14 = ((__pyx_v_left_corner_count < 2) != 0);
+  if (__pyx_t_14) {
+  } else {
+    __pyx_t_15 = __pyx_t_14;
+    goto __pyx_L8_bool_binop_done;
+  }
+  __pyx_t_14 = ((__pyx_v_corner_count < 2) != 0);
+  __pyx_t_15 = __pyx_t_14;
+  __pyx_L8_bool_binop_done:;
+  if (likely(__pyx_t_15)) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":159
+ *     elif left_corner_count < 2 and corner_count < 2:
+ *         # both clips are too harsh; fall back to just using a sphere
+ *         sp.set_clip([Intersection([             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":160
+ *         # both clips are too harsh; fall back to just using a sphere
+ *         sp.set_clip([Intersection([
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     else:
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Plane); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_20 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __pyx_t_19 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_19);
+    __pyx_t_22 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_17 = 0;
+    __pyx_t_21 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __pyx_t_17 = 1;
+    __pyx_t_13 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_17 = 2;
+    __pyx_t_23 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_axis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_axis.diminfo[0].strides))); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 160, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_1 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_1)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_1);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_t_20, __pyx_t_19, __pyx_t_22, __pyx_t_21, __pyx_t_13, __pyx_t_23};
+      __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 160, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_GOTREF(__pyx_t_18);
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_t_20, __pyx_t_19, __pyx_t_22, __pyx_t_21, __pyx_t_13, __pyx_t_23};
+      __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 160, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_GOTREF(__pyx_t_18);
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_12 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 160, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      if (__pyx_t_1) {
+        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1); __pyx_t_1 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_20);
+      PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_8, __pyx_t_20);
+      __Pyx_GIVEREF(__pyx_t_19);
+      PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_t_19);
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_8, __pyx_t_22);
+      __Pyx_GIVEREF(__pyx_t_21);
+      PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_8, __pyx_t_21);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_12, 4+__pyx_t_8, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_12, 5+__pyx_t_8, __pyx_t_23);
+      __pyx_t_20 = 0;
+      __pyx_t_19 = 0;
+      __pyx_t_22 = 0;
+      __pyx_t_21 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_23 = 0;
+      __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 160, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_18);
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":161
+ *         sp.set_clip([Intersection([
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])             # <<<<<<<<<<<<<<
+ *     else:
+ *         raise RxDException('unexpected corner_counts?')
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_Plane); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_23 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_21 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __pyx_t_17 = 0;
+    __pyx_t_22 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_17 = 1;
+    __pyx_t_19 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_19);
+    __pyx_t_17 = 2;
+    __pyx_t_20 = PyFloat_FromDouble((-(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_naxis.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_naxis.diminfo[0].strides)))); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 161, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_20);
+    __pyx_t_1 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
+      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12);
+      if (likely(__pyx_t_1)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+        __Pyx_INCREF(__pyx_t_1);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_12, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_12)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_t_23, __pyx_t_13, __pyx_t_21, __pyx_t_22, __pyx_t_19, __pyx_t_20};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) {
+      PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_t_23, __pyx_t_13, __pyx_t_21, __pyx_t_22, __pyx_t_19, __pyx_t_20};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_16 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 161, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_16);
+      if (__pyx_t_1) {
+        __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_1); __pyx_t_1 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_23);
+      PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_8, __pyx_t_23);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_8, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_21);
+      PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_8, __pyx_t_21);
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_8, __pyx_t_22);
+      __Pyx_GIVEREF(__pyx_t_19);
+      PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_8, __pyx_t_19);
+      __Pyx_GIVEREF(__pyx_t_20);
+      PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_8, __pyx_t_20);
+      __pyx_t_23 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_21 = 0;
+      __pyx_t_22 = 0;
+      __pyx_t_19 = 0;
+      __pyx_t_20 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_16, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":159
+ *     elif left_corner_count < 2 and corner_count < 2:
+ *         # both clips are too harsh; fall back to just using a sphere
+ *         sp.set_clip([Intersection([             # <<<<<<<<<<<<<<
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+    __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_GIVEREF(__pyx_t_18);
+    PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_18);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_2);
+    __pyx_t_18 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_2 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+      if (likely(__pyx_t_2)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_4, function);
+      }
+    }
+    __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_12);
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+    __pyx_t_5 = 0;
+    __pyx_t_5 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_5)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_5);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":157
+ *             Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     elif left_corner_count < 2 and corner_count < 2:             # <<<<<<<<<<<<<<
+ *         # both clips are too harsh; fall back to just using a sphere
+ *         sp.set_clip([Intersection([
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":163
+ *             Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *     else:
+ *         raise RxDException('unexpected corner_counts?')             # <<<<<<<<<<<<<<
+ * 
+ *     return result
+ */
+  /*else*/ {
+    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 163, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+      }
+    }
+    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_kp_s_unexpected_corner_counts) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s_unexpected_corner_counts);
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 163, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(0, 163, __pyx_L1_error)
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":165
+ *         raise RxDException('unexpected corner_counts?')
+ * 
+ *     return result             # <<<<<<<<<<<<<<
+ * 
+ * @cython.wraparound(False)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_result);
+  __pyx_r = __pyx_v_result;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":110
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cdef list join_outside(double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2, double r2, double dx):             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] pt1, radial_vec, nradial_vec, axis, naxis
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt1.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.join_outside", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_axis.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_naxis.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_nradial_vec.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_pt1.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_radial_vec.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_pt1);
+  __Pyx_XDECREF((PyObject *)__pyx_v_radial_vec);
+  __Pyx_XDECREF((PyObject *)__pyx_v_nradial_vec);
+  __Pyx_XDECREF((PyObject *)__pyx_v_axis);
+  __Pyx_XDECREF((PyObject *)__pyx_v_naxis);
+  __Pyx_XDECREF(__pyx_v_c0);
+  __Pyx_XDECREF(__pyx_v_c1);
+  __Pyx_XDECREF(__pyx_v_sp);
+  __Pyx_XDECREF(__pyx_v_result);
+  __Pyx_XDECREF(__pyx_v_plane_normal);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":169
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def soma_objects(x, y, z, sec, double x0, double y0, double z0, int n_soma_step):             # <<<<<<<<<<<<<<
+ *     cdef double diam1, diam2, somax, somay, somaz
+ *     cdef list objects = []
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_1soma_objects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_4ctng_1soma_objects = {"soma_objects", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_1soma_objects, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_1soma_objects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_x = 0;
+  PyObject *__pyx_v_y = 0;
+  CYTHON_UNUSED PyObject *__pyx_v_z = 0;
+  PyObject *__pyx_v_sec = 0;
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  int __pyx_v_n_soma_step;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("soma_objects (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_z,&__pyx_n_s_sec,&__pyx_n_s_x0,&__pyx_n_s_y0,&__pyx_n_s_z0,&__pyx_n_s_n_soma_step,0};
+    PyObject* values[8] = {0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 1); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 2); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sec)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 3); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 4); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 5); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 6); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_soma_step)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, 7); __PYX_ERR(0, 169, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "soma_objects") < 0)) __PYX_ERR(0, 169, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+    }
+    __pyx_v_x = values[0];
+    __pyx_v_y = values[1];
+    __pyx_v_z = values[2];
+    __pyx_v_sec = values[3];
+    __pyx_v_x0 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_x0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L3_error)
+    __pyx_v_y0 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_y0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L3_error)
+    __pyx_v_z0 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_z0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L3_error)
+    __pyx_v_n_soma_step = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_n_soma_step == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("soma_objects", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 169, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.soma_objects", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_4ctng_soma_objects(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_sec, __pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_n_soma_step);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_soma_objects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_y, CYTHON_UNUSED PyObject *__pyx_v_z, PyObject *__pyx_v_sec, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, int __pyx_v_n_soma_step) {
+  double __pyx_v_diam1;
+  double __pyx_v_diam2;
+  CYTHON_UNUSED double __pyx_v_somax;
+  CYTHON_UNUSED double __pyx_v_somay;
+  CYTHON_UNUSED double __pyx_v_somaz;
+  PyObject *__pyx_v_objects = 0;
+  PyObject *__pyx_v_f_pts = 0;
+  PyObject *__pyx_v_seg_dict = 0;
+  PyObject *__pyx_v_xshifted = NULL;
+  PyObject *__pyx_v_yshifted = NULL;
+  PyObject *__pyx_v_zshifted = NULL;
+  PyObject *__pyx_v_m = NULL;
+  PyObject *__pyx_v_i = NULL;
+  PyObject *__pyx_v_p = NULL;
+  PyObject *__pyx_v_j = NULL;
+  PyObject *__pyx_v_q = NULL;
+  PyObject *__pyx_v_v = NULL;
+  PyObject *__pyx_v_tobj = NULL;
+  PyObject *__pyx_v_major = NULL;
+  PyObject *__pyx_v_minor = NULL;
+  PyObject *__pyx_v_x1 = NULL;
+  PyObject *__pyx_v_y1 = NULL;
+  PyObject *__pyx_v_x2 = NULL;
+  PyObject *__pyx_v_y2 = NULL;
+  PyObject *__pyx_v_xs_loop = NULL;
+  PyObject *__pyx_v_ys_loop = NULL;
+  PyObject *__pyx_v_pts = NULL;
+  PyObject *__pyx_v_pts_sources = NULL;
+  PyObject *__pyx_v_x3 = NULL;
+  PyObject *__pyx_v_y3 = NULL;
+  PyObject *__pyx_v_x4 = NULL;
+  PyObject *__pyx_v_y4 = NULL;
+  PyObject *__pyx_v_pt = NULL;
+  PyObject *__pyx_v_major_p1 = NULL;
+  PyObject *__pyx_v_major_p2 = NULL;
+  PyObject *__pyx_v_extreme1 = NULL;
+  PyObject *__pyx_v_extreme2 = NULL;
+  CYTHON_UNUSED PyObject *__pyx_v_major_length = NULL;
+  PyObject *__pyx_v_delta_x = NULL;
+  PyObject *__pyx_v_delta_y = NULL;
+  PyObject *__pyx_v_f_diams = NULL;
+  PyObject *__pyx_v_p1 = NULL;
+  PyObject *__pyx_v_p2 = NULL;
+  PyObject *__pyx_v_cx = NULL;
+  PyObject *__pyx_v_cy = NULL;
+  PyObject *__pyx_v_segment_locs = NULL;
+  PyObject *__pyx_v_path_length = NULL;
+  PyObject *__pyx_v_margin = NULL;
+  PyObject *__pyx_v_pt1x = NULL;
+  PyObject *__pyx_v_pt1y = NULL;
+  PyObject *__pyx_v_pt2x = NULL;
+  PyObject *__pyx_v_pt2y = NULL;
+  PyObject *__pyx_v_thickness = NULL;
+  PyObject *__pyx_v_s = NULL;
+  PyObject *__pyx_v_loc = NULL;
+  PyObject *__pyx_v_seg = NULL;
+  PyObject *__pyx_v_xx = NULL;
+  PyObject *__pyx_v_yy = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  Py_ssize_t __pyx_t_6;
+  PyObject *(*__pyx_t_7)(PyObject *);
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  Py_ssize_t __pyx_t_11;
+  int __pyx_t_12;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  int __pyx_t_15;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *(*__pyx_t_17)(PyObject *);
+  double __pyx_t_18;
+  double __pyx_t_19;
+  double __pyx_t_20;
+  double __pyx_t_21;
+  double __pyx_t_22;
+  int __pyx_t_23;
+  int __pyx_t_24;
+  PyObject *(*__pyx_t_25)(PyObject *);
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  PyObject *__pyx_t_29 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("soma_objects", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":171
+ * def soma_objects(x, y, z, sec, double x0, double y0, double z0, int n_soma_step):
+ *     cdef double diam1, diam2, somax, somay, somaz
+ *     cdef list objects = []             # <<<<<<<<<<<<<<
+ *     cdef list f_pts
+ *     cdef dict seg_dict = {}
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_objects = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":173
+ *     cdef list objects = []
+ *     cdef list f_pts
+ *     cdef dict seg_dict = {}             # <<<<<<<<<<<<<<
+ * 
+ *     somax, somay, somaz = x0, y0, z0
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_seg_dict = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":175
+ *     cdef dict seg_dict = {}
+ * 
+ *     somax, somay, somaz = x0, y0, z0             # <<<<<<<<<<<<<<
+ * 
+ *     xshifted = [xx - x0 for xx in x]
+ */
+  __pyx_t_2 = __pyx_v_x0;
+  __pyx_t_3 = __pyx_v_y0;
+  __pyx_t_4 = __pyx_v_z0;
+  __pyx_v_somax = __pyx_t_2;
+  __pyx_v_somay = __pyx_t_3;
+  __pyx_v_somaz = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":177
+ *     somax, somay, somaz = x0, y0, z0
+ * 
+ *     xshifted = [xx - x0 for xx in x]             # <<<<<<<<<<<<<<
+ *     yshifted = [yy - y0 for yy in y]
+ *     # this is a hack to pretend everything is on the same z level
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (likely(PyList_CheckExact(__pyx_v_x)) || PyTuple_CheckExact(__pyx_v_x)) {
+    __pyx_t_5 = __pyx_v_x; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 177, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_5))) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 177, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      } else {
+        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 177, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      }
+    } else {
+      __pyx_t_8 = __pyx_t_7(__pyx_t_5);
+      if (unlikely(!__pyx_t_8)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 177, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_8);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyNumber_Subtract(__pyx_v_xx, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 177, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 177, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_v_xshifted = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":178
+ * 
+ *     xshifted = [xx - x0 for xx in x]
+ *     yshifted = [yy - y0 for yy in y]             # <<<<<<<<<<<<<<
+ *     # this is a hack to pretend everything is on the same z level
+ *     zshifted = [0] * len(x)
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (likely(PyList_CheckExact(__pyx_v_y)) || PyTuple_CheckExact(__pyx_v_y)) {
+    __pyx_t_5 = __pyx_v_y; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 178, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 178, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_5))) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 178, __pyx_L1_error)
+        #else
+        __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 178, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        #endif
+      } else {
+        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 178, __pyx_L1_error)
+        #else
+        __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 178, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        #endif
+      }
+    } else {
+      __pyx_t_9 = __pyx_t_7(__pyx_t_5);
+      if (unlikely(!__pyx_t_9)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 178, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_9);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 178, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = PyNumber_Subtract(__pyx_v_yy, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 178, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 178, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_v_yshifted = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":180
+ *     yshifted = [yy - y0 for yy in y]
+ *     # this is a hack to pretend everything is on the same z level
+ *     zshifted = [0] * len(x)             # <<<<<<<<<<<<<<
+ * 
+ *     # locate the major and minor axis, adapted from import3d_gui.hoc
+ */
+  __pyx_t_6 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 180, __pyx_L1_error)
+  __pyx_t_1 = PyList_New(1 * ((__pyx_t_6<0) ? 0:__pyx_t_6)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  { Py_ssize_t __pyx_temp;
+    for (__pyx_temp=0; __pyx_temp < __pyx_t_6; __pyx_temp++) {
+      __Pyx_INCREF(__pyx_int_0);
+      __Pyx_GIVEREF(__pyx_int_0);
+      PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_int_0);
+    }
+  }
+  __pyx_v_zshifted = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":183
+ * 
+ *     # locate the major and minor axis, adapted from import3d_gui.hoc
+ *     m = h.Matrix(3, 3)             # <<<<<<<<<<<<<<
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Matrix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 183, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_v_m = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":184
+ *     # locate the major and minor axis, adapted from import3d_gui.hoc
+ *     m = h.Matrix(3, 3)
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):             # <<<<<<<<<<<<<<
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ *             if j < i: continue
+ */
+  __Pyx_INCREF(__pyx_int_0);
+  __pyx_t_1 = __pyx_int_0;
+  __pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_INCREF(__pyx_v_xshifted);
+  __Pyx_GIVEREF(__pyx_v_xshifted);
+  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_v_xshifted);
+  __Pyx_INCREF(__pyx_v_yshifted);
+  __Pyx_GIVEREF(__pyx_v_yshifted);
+  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_v_yshifted);
+  __Pyx_INCREF(__pyx_v_zshifted);
+  __Pyx_GIVEREF(__pyx_v_zshifted);
+  PyList_SET_ITEM(__pyx_t_5, 2, __pyx_v_zshifted);
+  __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  for (;;) {
+    if (__pyx_t_6 >= 3) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 184, __pyx_L1_error)
+    #else
+    __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_5);
+    __pyx_t_5 = 0;
+    __Pyx_INCREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1);
+    __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1);
+    __pyx_t_1 = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":185
+ *     m = h.Matrix(3, 3)
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):             # <<<<<<<<<<<<<<
+ *             if j < i: continue
+ *             v = numpy.dot(p, q)
+ */
+    __Pyx_INCREF(__pyx_int_0);
+    __pyx_t_5 = __pyx_int_0;
+    __pyx_t_9 = PyList_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 185, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_INCREF(__pyx_v_xshifted);
+    __Pyx_GIVEREF(__pyx_v_xshifted);
+    PyList_SET_ITEM(__pyx_t_9, 0, __pyx_v_xshifted);
+    __Pyx_INCREF(__pyx_v_yshifted);
+    __Pyx_GIVEREF(__pyx_v_yshifted);
+    PyList_SET_ITEM(__pyx_t_9, 1, __pyx_v_yshifted);
+    __Pyx_INCREF(__pyx_v_zshifted);
+    __Pyx_GIVEREF(__pyx_v_zshifted);
+    PyList_SET_ITEM(__pyx_t_9, 2, __pyx_v_zshifted);
+    __pyx_t_10 = __pyx_t_9; __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    for (;;) {
+      if (__pyx_t_11 >= 3) break;
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_9 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 185, __pyx_L1_error)
+      #else
+      __pyx_t_9 = PySequence_ITEM(__pyx_t_10, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 185, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      #endif
+      __Pyx_XDECREF_SET(__pyx_v_q, __pyx_t_9);
+      __pyx_t_9 = 0;
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_5);
+      __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 185, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_DECREF(__pyx_t_5);
+      __pyx_t_5 = __pyx_t_9;
+      __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":186
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ *             if j < i: continue             # <<<<<<<<<<<<<<
+ *             v = numpy.dot(p, q)
+ *             m.setval(i, j, v)
+ */
+      __pyx_t_9 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 186, __pyx_L1_error)
+      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 186, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      if (__pyx_t_12) {
+        goto __pyx_L9_continue;
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":187
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ *             if j < i: continue
+ *             v = numpy.dot(p, q)             # <<<<<<<<<<<<<<
+ *             m.setval(i, j, v)
+ *             m.setval(j, i, v)
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_numpy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 187, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_dot); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 187, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = NULL;
+      __pyx_t_15 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
+        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
+        if (likely(__pyx_t_13)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+          __Pyx_INCREF(__pyx_t_13);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_14, function);
+          __pyx_t_15 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_p, __pyx_v_q};
+        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 187, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_p, __pyx_v_q};
+        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 187, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      {
+        __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 187, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_16);
+        if (__pyx_t_13) {
+          __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_13); __pyx_t_13 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_p);
+        __Pyx_GIVEREF(__pyx_v_p);
+        PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_v_p);
+        __Pyx_INCREF(__pyx_v_q);
+        __Pyx_GIVEREF(__pyx_v_q);
+        PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_v_q);
+        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_16, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 187, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_9);
+      __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":188
+ *             if j < i: continue
+ *             v = numpy.dot(p, q)
+ *             m.setval(i, j, v)             # <<<<<<<<<<<<<<
+ *             m.setval(j, i, v)
+ *     # CTNG:majoraxis
+ */
+      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_setval); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 188, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __pyx_t_16 = NULL;
+      __pyx_t_15 = 0;
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+        __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_14);
+        if (likely(__pyx_t_16)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+          __Pyx_INCREF(__pyx_t_16);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_14, function);
+          __pyx_t_15 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_i, __pyx_v_j, __pyx_v_v};
+        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 3+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 188, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_i, __pyx_v_j, __pyx_v_v};
+        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 3+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 188, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      {
+        __pyx_t_13 = PyTuple_New(3+__pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 188, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        if (__pyx_t_16) {
+          __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_16); __pyx_t_16 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_i);
+        __Pyx_GIVEREF(__pyx_v_i);
+        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_15, __pyx_v_i);
+        __Pyx_INCREF(__pyx_v_j);
+        __Pyx_GIVEREF(__pyx_v_j);
+        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_15, __pyx_v_j);
+        __Pyx_INCREF(__pyx_v_v);
+        __Pyx_GIVEREF(__pyx_v_v);
+        PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_15, __pyx_v_v);
+        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 188, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":189
+ *             v = numpy.dot(p, q)
+ *             m.setval(i, j, v)
+ *             m.setval(j, i, v)             # <<<<<<<<<<<<<<
+ *     # CTNG:majoraxis
+ *     tobj = m.symmeig(m)
+ */
+      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_setval); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 189, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __pyx_t_13 = NULL;
+      __pyx_t_15 = 0;
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
+        if (likely(__pyx_t_13)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+          __Pyx_INCREF(__pyx_t_13);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_14, function);
+          __pyx_t_15 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_j, __pyx_v_i, __pyx_v_v};
+        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 3+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 189, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_j, __pyx_v_i, __pyx_v_v};
+        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_15, 3+__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 189, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_GOTREF(__pyx_t_9);
+      } else
+      #endif
+      {
+        __pyx_t_16 = PyTuple_New(3+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 189, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_16);
+        if (__pyx_t_13) {
+          __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_13); __pyx_t_13 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_j);
+        __Pyx_GIVEREF(__pyx_v_j);
+        PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_v_j);
+        __Pyx_INCREF(__pyx_v_i);
+        __Pyx_GIVEREF(__pyx_v_i);
+        PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_v_i);
+        __Pyx_INCREF(__pyx_v_v);
+        __Pyx_GIVEREF(__pyx_v_v);
+        PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_15, __pyx_v_v);
+        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_16, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 189, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":185
+ *     m = h.Matrix(3, 3)
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):             # <<<<<<<<<<<<<<
+ *             if j < i: continue
+ *             v = numpy.dot(p, q)
+ */
+      __pyx_L9_continue:;
+    }
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":184
+ *     # locate the major and minor axis, adapted from import3d_gui.hoc
+ *     m = h.Matrix(3, 3)
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):             # <<<<<<<<<<<<<<
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ *             if j < i: continue
+ */
+  }
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":191
+ *             m.setval(j, i, v)
+ *     # CTNG:majoraxis
+ *     tobj = m.symmeig(m)             # <<<<<<<<<<<<<<
+ *     # major axis is the one with largest eigenvalue
+ *     major = m.getcol(tobj.max_ind())
+ */
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_symmeig); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 191, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_5, __pyx_v_m) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_m);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_tobj = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":193
+ *     tobj = m.symmeig(m)
+ *     # major axis is the one with largest eigenvalue
+ *     major = m.getcol(tobj.max_ind())             # <<<<<<<<<<<<<<
+ *     # minor is normal and in xy plane
+ *     minor = m.getcol(3 - tobj.min_ind() - tobj.max_ind())
+ */
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_getcol); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 193, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_tobj, __pyx_n_s_max_ind); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 193, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_9 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
+    if (likely(__pyx_t_9)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_10, function);
+    }
+  }
+  __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  __pyx_t_10 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_major = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":195
+ *     major = m.getcol(tobj.max_ind())
+ *     # minor is normal and in xy plane
+ *     minor = m.getcol(3 - tobj.min_ind() - tobj.max_ind())             # <<<<<<<<<<<<<<
+ *     #minor.x[2] = 0
+ *     minor.div(minor.mag())
+ */
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_getcol); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_tobj, __pyx_n_s_min_ind); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_9 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
+    if (likely(__pyx_t_9)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_10, function);
+    }
+  }
+  __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  __pyx_t_10 = __Pyx_PyInt_SubtractCObj(__pyx_int_3, __pyx_t_5, 3, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_tobj, __pyx_n_s_max_ind); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_14 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9);
+    if (likely(__pyx_t_14)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_14);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_9, function);
+    }
+  }
+  __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyNumber_Subtract(__pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_minor = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":197
+ *     minor = m.getcol(3 - tobj.min_ind() - tobj.max_ind())
+ *     #minor.x[2] = 0
+ *     minor.div(minor.mag())             # <<<<<<<<<<<<<<
+ * 
+ *     x1 = x0; y1 = y0
+ */
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_div); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 197, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_mag); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_10 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+    }
+  }
+  __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+  if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 197, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":199
+ *     minor.div(minor.mag())
+ * 
+ *     x1 = x0; y1 = y0             # <<<<<<<<<<<<<<
+ *     x2 = x1 + major.x[0]; y2 = y1 + major.x[1]
+ * 
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_x1 = __pyx_t_1;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_y1 = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":200
+ * 
+ *     x1 = x0; y1 = y0
+ *     x2 = x1 + major.x[0]; y2 = y1 + major.x[1]             # <<<<<<<<<<<<<<
+ * 
+ *     xs_loop = x + [x[0]]
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_major, __pyx_n_s_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyNumber_Add(__pyx_v_x1, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_x2 = __pyx_t_1;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_major, __pyx_n_s_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyNumber_Add(__pyx_v_y1, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_y2 = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":202
+ *     x2 = x1 + major.x[0]; y2 = y1 + major.x[1]
+ * 
+ *     xs_loop = x + [x[0]]             # <<<<<<<<<<<<<<
+ *     ys_loop = y + [y[0]]
+ * 
+ */
+  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_x, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 202, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+  __pyx_t_1 = 0;
+  __pyx_t_1 = PyNumber_Add(__pyx_v_x, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_xs_loop = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":203
+ * 
+ *     xs_loop = x + [x[0]]
+ *     ys_loop = y + [y[0]]             # <<<<<<<<<<<<<<
+ * 
+ *     # locate the extrema of the major axis CTNG:somaextrema
+ */
+  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_y, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+  __pyx_t_1 = 0;
+  __pyx_t_1 = PyNumber_Add(__pyx_v_y, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_ys_loop = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":207
+ *     # locate the extrema of the major axis CTNG:somaextrema
+ *     # this is defined by the furthest points on it that lie on the minor axis
+ *     pts = []             # <<<<<<<<<<<<<<
+ *     pts_sources = {}
+ *     for x3, y3 in zip(x, y):
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_pts = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":208
+ *     # this is defined by the furthest points on it that lie on the minor axis
+ *     pts = []
+ *     pts_sources = {}             # <<<<<<<<<<<<<<
+ *     for x3, y3 in zip(x, y):
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_pts_sources = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":209
+ *     pts = []
+ *     pts_sources = {}
+ *     for x3, y3 in zip(x, y):             # <<<<<<<<<<<<<<
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ */
+  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_v_x);
+  __Pyx_GIVEREF(__pyx_v_x);
+  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_x);
+  __Pyx_INCREF(__pyx_v_y);
+  __Pyx_GIVEREF(__pyx_v_y);
+  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_y);
+  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 209, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+    __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 209, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_1))) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 209, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 209, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      } else {
+        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 209, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 209, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      }
+    } else {
+      __pyx_t_8 = __pyx_t_7(__pyx_t_1);
+      if (unlikely(!__pyx_t_8)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 209, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_8);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
+      PyObject* sequence = __pyx_t_8;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 209, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_5);
+      #else
+      __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 209, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      #endif
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 209, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext;
+      index = 0; __pyx_t_9 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L14_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_9);
+      index = 1; __pyx_t_5 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_5)) goto __pyx_L14_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_5);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_10), 2) < 0) __PYX_ERR(0, 209, __pyx_L1_error)
+      __pyx_t_17 = NULL;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      goto __pyx_L15_unpacking_done;
+      __pyx_L14_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_17 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 209, __pyx_L1_error)
+      __pyx_L15_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_x3, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_y3, __pyx_t_5);
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":210
+ *     pts_sources = {}
+ *     for x3, y3 in zip(x, y):
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]             # <<<<<<<<<<<<<<
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ *         if pt is not None:
+ */
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = PyNumber_Add(__pyx_v_x3, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Add(__pyx_v_y3, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 210, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_x4, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_y4, __pyx_t_5);
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":211
+ *     for x3, y3 in zip(x, y):
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)             # <<<<<<<<<<<<<<
+ *         if pt is not None:
+ *             pts.append(pt)
+ */
+    __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_v_x1); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_3 = __pyx_PyFloat_AsDouble(__pyx_v_y1); if (unlikely((__pyx_t_3 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_x2); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_v_y2); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_v_x3); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_v_y3); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_v_x4); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_v_y4); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 211, __pyx_L1_error)
+    __pyx_t_5 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_seg_line_intersection(__pyx_t_4, __pyx_t_3, __pyx_t_2, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_XDECREF_SET(__pyx_v_pt, ((PyObject*)__pyx_t_5));
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":212
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ *         if pt is not None:             # <<<<<<<<<<<<<<
+ *             pts.append(pt)
+ *             if pt not in pts_sources:
+ */
+    __pyx_t_12 = (__pyx_v_pt != ((PyObject*)Py_None));
+    __pyx_t_23 = (__pyx_t_12 != 0);
+    if (__pyx_t_23) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":213
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ *         if pt is not None:
+ *             pts.append(pt)             # <<<<<<<<<<<<<<
+ *             if pt not in pts_sources:
+ *                 pts_sources[pt] = []
+ */
+      __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_pts, __pyx_v_pt); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 213, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":214
+ *         if pt is not None:
+ *             pts.append(pt)
+ *             if pt not in pts_sources:             # <<<<<<<<<<<<<<
+ *                 pts_sources[pt] = []
+ *             pts_sources[pt].append((x3, y3))
+ */
+      __pyx_t_23 = (__Pyx_PyDict_ContainsTF(__pyx_v_pt, __pyx_v_pts_sources, Py_NE)); if (unlikely(__pyx_t_23 < 0)) __PYX_ERR(0, 214, __pyx_L1_error)
+      __pyx_t_12 = (__pyx_t_23 != 0);
+      if (__pyx_t_12) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":215
+ *             pts.append(pt)
+ *             if pt not in pts_sources:
+ *                 pts_sources[pt] = []             # <<<<<<<<<<<<<<
+ *             pts_sources[pt].append((x3, y3))
+ * 
+ */
+        __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        if (unlikely(PyDict_SetItem(__pyx_v_pts_sources, __pyx_v_pt, __pyx_t_5) < 0)) __PYX_ERR(0, 215, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":214
+ *         if pt is not None:
+ *             pts.append(pt)
+ *             if pt not in pts_sources:             # <<<<<<<<<<<<<<
+ *                 pts_sources[pt] = []
+ *             pts_sources[pt].append((x3, y3))
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":216
+ *             if pt not in pts_sources:
+ *                 pts_sources[pt] = []
+ *             pts_sources[pt].append((x3, y3))             # <<<<<<<<<<<<<<
+ * 
+ *     major_p1, major_p2 = extreme_pts(pts)
+ */
+      __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_pts_sources, __pyx_v_pt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 216, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_INCREF(__pyx_v_x3);
+      __Pyx_GIVEREF(__pyx_v_x3);
+      PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_x3);
+      __Pyx_INCREF(__pyx_v_y3);
+      __Pyx_GIVEREF(__pyx_v_y3);
+      PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_y3);
+      __pyx_t_24 = __Pyx_PyObject_Append(__pyx_t_5, __pyx_t_8); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 216, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":212
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ *         if pt is not None:             # <<<<<<<<<<<<<<
+ *             pts.append(pt)
+ *             if pt not in pts_sources:
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":209
+ *     pts = []
+ *     pts_sources = {}
+ *     for x3, y3 in zip(x, y):             # <<<<<<<<<<<<<<
+ *         x4, y4 = x3 + minor.x[0], y3 + minor.x[1]
+ *         pt = seg_line_intersection(x1, y1, x2, y2, x3, y3, x4, y4, False)
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":218
+ *             pts_sources[pt].append((x3, y3))
+ * 
+ *     major_p1, major_p2 = extreme_pts(pts)             # <<<<<<<<<<<<<<
+ * 
+ *     extreme1 = pts_sources[major_p1]
+ */
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_extreme_pts(__pyx_v_pts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (likely(__pyx_t_1 != Py_None)) {
+    PyObject* sequence = __pyx_t_1;
+    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+    if (unlikely(size != 2)) {
+      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+      __PYX_ERR(0, 218, __pyx_L1_error)
+    }
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); 
+    __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
+    __Pyx_INCREF(__pyx_t_8);
+    __Pyx_INCREF(__pyx_t_5);
+    #else
+    __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 218, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 218, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    #endif
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  } else {
+    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 218, __pyx_L1_error)
+  }
+  __pyx_v_major_p1 = __pyx_t_8;
+  __pyx_t_8 = 0;
+  __pyx_v_major_p2 = __pyx_t_5;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":220
+ *     major_p1, major_p2 = extreme_pts(pts)
+ * 
+ *     extreme1 = pts_sources[major_p1]             # <<<<<<<<<<<<<<
+ *     extreme2 = pts_sources[major_p2]
+ * 
+ */
+  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_pts_sources, __pyx_v_major_p1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_extreme1 = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":221
+ * 
+ *     extreme1 = pts_sources[major_p1]
+ *     extreme2 = pts_sources[major_p2]             # <<<<<<<<<<<<<<
+ * 
+ *     major_p1, major_p2 = numpy.array(major_p1), numpy.array(major_p2)
+ */
+  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_pts_sources, __pyx_v_major_p2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_extreme2 = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":223
+ *     extreme2 = pts_sources[major_p2]
+ * 
+ *     major_p1, major_p2 = numpy.array(major_p1), numpy.array(major_p2)             # <<<<<<<<<<<<<<
+ *     del pts_sources
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_5, __pyx_v_major_p1) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_major_p1);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_9, function);
+    }
+  }
+  __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_5, __pyx_v_major_p2) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_major_p2);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 223, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __Pyx_DECREF_SET(__pyx_v_major_p1, __pyx_t_1);
+  __pyx_t_1 = 0;
+  __Pyx_DECREF_SET(__pyx_v_major_p2, __pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":224
+ * 
+ *     major_p1, major_p2 = numpy.array(major_p1), numpy.array(major_p2)
+ *     del pts_sources             # <<<<<<<<<<<<<<
+ * 
+ *     if len(extreme1) != 1 or len(extreme2) != 1:
+ */
+  __Pyx_DECREF(__pyx_v_pts_sources);
+  __pyx_v_pts_sources = NULL;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":226
+ *     del pts_sources
+ * 
+ *     if len(extreme1) != 1 or len(extreme2) != 1:             # <<<<<<<<<<<<<<
+ *         raise RxDException('multiple most extreme points')
+ *     extreme1 = extreme1[0]
+ */
+  __pyx_t_6 = PyObject_Length(__pyx_v_extreme1); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 226, __pyx_L1_error)
+  __pyx_t_23 = ((__pyx_t_6 != 1) != 0);
+  if (!__pyx_t_23) {
+  } else {
+    __pyx_t_12 = __pyx_t_23;
+    goto __pyx_L19_bool_binop_done;
+  }
+  __pyx_t_6 = PyObject_Length(__pyx_v_extreme2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 226, __pyx_L1_error)
+  __pyx_t_23 = ((__pyx_t_6 != 1) != 0);
+  __pyx_t_12 = __pyx_t_23;
+  __pyx_L19_bool_binop_done:;
+  if (unlikely(__pyx_t_12)) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":227
+ * 
+ *     if len(extreme1) != 1 or len(extreme2) != 1:
+ *         raise RxDException('multiple most extreme points')             # <<<<<<<<<<<<<<
+ *     extreme1 = extreme1[0]
+ *     extreme2 = extreme2[0]
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_9, __pyx_kp_s_multiple_most_extreme_points) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s_multiple_most_extreme_points);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 227, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __PYX_ERR(0, 227, __pyx_L1_error)
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":226
+ *     del pts_sources
+ * 
+ *     if len(extreme1) != 1 or len(extreme2) != 1:             # <<<<<<<<<<<<<<
+ *         raise RxDException('multiple most extreme points')
+ *     extreme1 = extreme1[0]
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":228
+ *     if len(extreme1) != 1 or len(extreme2) != 1:
+ *         raise RxDException('multiple most extreme points')
+ *     extreme1 = extreme1[0]             # <<<<<<<<<<<<<<
+ *     extreme2 = extreme2[0]
+ *     major_length = linalg.norm(major_p1 - major_p2)
+ */
+  __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_extreme1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 228, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF_SET(__pyx_v_extreme1, __pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":229
+ *         raise RxDException('multiple most extreme points')
+ *     extreme1 = extreme1[0]
+ *     extreme2 = extreme2[0]             # <<<<<<<<<<<<<<
+ *     major_length = linalg.norm(major_p1 - major_p2)
+ *     delta_x, delta_y = major_p2 - major_p1
+ */
+  __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_extreme2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 229, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF_SET(__pyx_v_extreme2, __pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":230
+ *     extreme1 = extreme1[0]
+ *     extreme2 = extreme2[0]
+ *     major_length = linalg.norm(major_p1 - major_p2)             # <<<<<<<<<<<<<<
+ *     delta_x, delta_y = major_p2 - major_p1
+ *     delta_x /= n_soma_step
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linalg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_norm); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 230, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyNumber_Subtract(__pyx_v_major_p1, __pyx_v_major_p2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_9, function);
+    }
+  }
+  __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 230, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_v_major_length = __pyx_t_8;
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":231
+ *     extreme2 = extreme2[0]
+ *     major_length = linalg.norm(major_p1 - major_p2)
+ *     delta_x, delta_y = major_p2 - major_p1             # <<<<<<<<<<<<<<
+ *     delta_x /= n_soma_step
+ *     delta_y /= n_soma_step
+ */
+  __pyx_t_8 = PyNumber_Subtract(__pyx_v_major_p2, __pyx_v_major_p1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 231, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
+    PyObject* sequence = __pyx_t_8;
+    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+    if (unlikely(size != 2)) {
+      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+      __PYX_ERR(0, 231, __pyx_L1_error)
+    }
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    if (likely(PyTuple_CheckExact(sequence))) {
+      __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); 
+    } else {
+      __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
+      __pyx_t_1 = PyList_GET_ITEM(sequence, 1); 
+    }
+    __Pyx_INCREF(__pyx_t_9);
+    __Pyx_INCREF(__pyx_t_1);
+    #else
+    __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 231, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    #endif
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else {
+    Py_ssize_t index = -1;
+    __pyx_t_5 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext;
+    index = 0; __pyx_t_9 = __pyx_t_17(__pyx_t_5); if (unlikely(!__pyx_t_9)) goto __pyx_L21_unpacking_failed;
+    __Pyx_GOTREF(__pyx_t_9);
+    index = 1; __pyx_t_1 = __pyx_t_17(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L21_unpacking_failed;
+    __Pyx_GOTREF(__pyx_t_1);
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_5), 2) < 0) __PYX_ERR(0, 231, __pyx_L1_error)
+    __pyx_t_17 = NULL;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    goto __pyx_L22_unpacking_done;
+    __pyx_L21_unpacking_failed:;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_17 = NULL;
+    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+    __PYX_ERR(0, 231, __pyx_L1_error)
+    __pyx_L22_unpacking_done:;
+  }
+  __pyx_v_delta_x = __pyx_t_9;
+  __pyx_t_9 = 0;
+  __pyx_v_delta_y = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":232
+ *     major_length = linalg.norm(major_p1 - major_p2)
+ *     delta_x, delta_y = major_p2 - major_p1
+ *     delta_x /= n_soma_step             # <<<<<<<<<<<<<<
+ *     delta_y /= n_soma_step
+ * 
+ */
+  __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_n_soma_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 232, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_1 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_delta_x, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_DECREF_SET(__pyx_v_delta_x, __pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":233
+ *     delta_x, delta_y = major_p2 - major_p1
+ *     delta_x /= n_soma_step
+ *     delta_y /= n_soma_step             # <<<<<<<<<<<<<<
+ * 
+ *     f_pts = [extreme1]
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_n_soma_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_delta_y, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 233, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF_SET(__pyx_v_delta_y, __pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":235
+ *     delta_y /= n_soma_step
+ * 
+ *     f_pts = [extreme1]             # <<<<<<<<<<<<<<
+ *     f_diams = [0]
+ * 
+ */
+  __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 235, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_INCREF(__pyx_v_extreme1);
+  __Pyx_GIVEREF(__pyx_v_extreme1);
+  PyList_SET_ITEM(__pyx_t_8, 0, __pyx_v_extreme1);
+  __pyx_v_f_pts = ((PyObject*)__pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":236
+ * 
+ *     f_pts = [extreme1]
+ *     f_diams = [0]             # <<<<<<<<<<<<<<
+ * 
+ *     # CTNG:slicesoma
+ */
+  __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 236, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_INCREF(__pyx_int_0);
+  __Pyx_GIVEREF(__pyx_int_0);
+  PyList_SET_ITEM(__pyx_t_8, 0, __pyx_int_0);
+  __pyx_v_f_diams = ((PyObject*)__pyx_t_8);
+  __pyx_t_8 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":239
+ * 
+ *     # CTNG:slicesoma
+ *     for i in xrange(1, n_soma_step):             # <<<<<<<<<<<<<<
+ *         x0, y0 = major_p1[0] + i * delta_x, major_p1[1] + i * delta_y
+ *         # slice in dir of minor axis
+ */
+  __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_n_soma_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_int_1);
+  __Pyx_GIVEREF(__pyx_int_1);
+  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_8);
+  __pyx_t_8 = 0;
+  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+    __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 239, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_1))) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 239, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      } else {
+        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 239, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      }
+    } else {
+      __pyx_t_8 = __pyx_t_7(__pyx_t_1);
+      if (unlikely(!__pyx_t_8)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 239, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_8);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_8);
+    __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":240
+ *     # CTNG:slicesoma
+ *     for i in xrange(1, n_soma_step):
+ *         x0, y0 = major_p1[0] + i * delta_x, major_p1[1] + i * delta_y             # <<<<<<<<<<<<<<
+ *         # slice in dir of minor axis
+ *         x1, y1 = x0 + minor.x[0], y0 + minor.x[1]
+ */
+    __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_major_p1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyNumber_Multiply(__pyx_v_i, __pyx_v_delta_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyNumber_Add(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_major_p1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_9 = PyNumber_Multiply(__pyx_v_i, __pyx_v_delta_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = PyNumber_Add(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 240, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_v_x0 = __pyx_t_22;
+    __pyx_v_y0 = __pyx_t_21;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":242
+ *         x0, y0 = major_p1[0] + i * delta_x, major_p1[1] + i * delta_y
+ *         # slice in dir of minor axis
+ *         x1, y1 = x0 + minor.x[0], y0 + minor.x[1]             # <<<<<<<<<<<<<<
+ *         pts = []
+ *         for i in xrange(len(x)):
+ */
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = PyNumber_Add(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_minor, __pyx_n_s_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = PyNumber_Add(__pyx_t_5, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 242, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF_SET(__pyx_v_x1, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_DECREF_SET(__pyx_v_y1, __pyx_t_8);
+    __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":243
+ *         # slice in dir of minor axis
+ *         x1, y1 = x0 + minor.x[0], y0 + minor.x[1]
+ *         pts = []             # <<<<<<<<<<<<<<
+ *         for i in xrange(len(x)):
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)
+ */
+    __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 243, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF_SET(__pyx_v_pts, ((PyObject*)__pyx_t_8));
+    __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":244
+ *         x1, y1 = x0 + minor.x[0], y0 + minor.x[1]
+ *         pts = []
+ *         for i in xrange(len(x)):             # <<<<<<<<<<<<<<
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)
+ *             if pt is not None: pts.append(pt)
+ */
+    __pyx_t_11 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 244, __pyx_L1_error)
+    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 244, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_xrange, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
+      __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_11 = 0;
+      __pyx_t_25 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 244, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __pyx_t_25 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 244, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_25)) {
+        if (likely(PyList_CheckExact(__pyx_t_8))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_8)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 244, __pyx_L1_error)
+          #else
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 244, __pyx_L1_error)
+          #else
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          #endif
+        }
+      } else {
+        __pyx_t_9 = __pyx_t_25(__pyx_t_8);
+        if (unlikely(!__pyx_t_9)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 244, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_9);
+      }
+      __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_9);
+      __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":245
+ *         pts = []
+ *         for i in xrange(len(x)):
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)             # <<<<<<<<<<<<<<
+ *             if pt is not None: pts.append(pt)
+ *         p1, p2 = extreme_pts(pts)
+ */
+      __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_xs_loop, __pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_ys_loop, __pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_xs_loop, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_ys_loop, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_v_x1); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_v_y1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 245, __pyx_L1_error)
+      __pyx_t_9 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_seg_line_intersection(__pyx_t_21, __pyx_t_22, __pyx_t_20, __pyx_t_19, __pyx_v_x0, __pyx_v_y0, __pyx_t_18, __pyx_t_2, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 245, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_XDECREF_SET(__pyx_v_pt, ((PyObject*)__pyx_t_9));
+      __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":246
+ *         for i in xrange(len(x)):
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)
+ *             if pt is not None: pts.append(pt)             # <<<<<<<<<<<<<<
+ *         p1, p2 = extreme_pts(pts)
+ *         p1, p2 = numpy.array(p1), numpy.array(p2)
+ */
+      __pyx_t_12 = (__pyx_v_pt != ((PyObject*)Py_None));
+      __pyx_t_23 = (__pyx_t_12 != 0);
+      if (__pyx_t_23) {
+        __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_pts, __pyx_v_pt); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 246, __pyx_L1_error)
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":244
+ *         x1, y1 = x0 + minor.x[0], y0 + minor.x[1]
+ *         pts = []
+ *         for i in xrange(len(x)):             # <<<<<<<<<<<<<<
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)
+ *             if pt is not None: pts.append(pt)
+ */
+    }
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":247
+ *             pt = seg_line_intersection(xs_loop[i], ys_loop[i], xs_loop[i + 1], ys_loop[i + 1], x0, y0, x1, y1, True)
+ *             if pt is not None: pts.append(pt)
+ *         p1, p2 = extreme_pts(pts)             # <<<<<<<<<<<<<<
+ *         p1, p2 = numpy.array(p1), numpy.array(p2)
+ *         cx, cy = (p1 + p2) / 2.
+ */
+    __pyx_t_8 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_extreme_pts(__pyx_v_pts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 247, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if (likely(__pyx_t_8 != Py_None)) {
+      PyObject* sequence = __pyx_t_8;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 247, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_10);
+      #else
+      __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 247, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 247, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      #endif
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    } else {
+      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 247, __pyx_L1_error)
+    }
+    __Pyx_XDECREF_SET(__pyx_v_p1, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_p2, __pyx_t_10);
+    __pyx_t_10 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":248
+ *             if pt is not None: pts.append(pt)
+ *         p1, p2 = extreme_pts(pts)
+ *         p1, p2 = numpy.array(p1), numpy.array(p2)             # <<<<<<<<<<<<<<
+ *         cx, cy = (p1 + p2) / 2.
+ *         f_pts.append((cx, cy))
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_v_p1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_p1);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+      }
+    }
+    __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_v_p2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_p2);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 248, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF_SET(__pyx_v_p1, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __Pyx_DECREF_SET(__pyx_v_p2, __pyx_t_9);
+    __pyx_t_9 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":249
+ *         p1, p2 = extreme_pts(pts)
+ *         p1, p2 = numpy.array(p1), numpy.array(p2)
+ *         cx, cy = (p1 + p2) / 2.             # <<<<<<<<<<<<<<
+ *         f_pts.append((cx, cy))
+ *         f_diams.append(linalg.norm(p1 - p2))
+ */
+    __pyx_t_9 = PyNumber_Add(__pyx_v_p1, __pyx_v_p2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 249, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = __Pyx_PyFloat_DivideObjC(__pyx_t_9, __pyx_float_2_, 2., 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 249, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
+      PyObject* sequence = __pyx_t_8;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 249, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_5);
+      #else
+      __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 249, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      #endif
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 249, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext;
+      index = 0; __pyx_t_9 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L28_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_9);
+      index = 1; __pyx_t_5 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_5)) goto __pyx_L28_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_5);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_10), 2) < 0) __PYX_ERR(0, 249, __pyx_L1_error)
+      __pyx_t_17 = NULL;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      goto __pyx_L29_unpacking_done;
+      __pyx_L28_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_17 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 249, __pyx_L1_error)
+      __pyx_L29_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_cx, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_cy, __pyx_t_5);
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":250
+ *         p1, p2 = numpy.array(p1), numpy.array(p2)
+ *         cx, cy = (p1 + p2) / 2.
+ *         f_pts.append((cx, cy))             # <<<<<<<<<<<<<<
+ *         f_diams.append(linalg.norm(p1 - p2))
+ * 
+ */
+    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 250, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_INCREF(__pyx_v_cx);
+    __Pyx_GIVEREF(__pyx_v_cx);
+    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_cx);
+    __Pyx_INCREF(__pyx_v_cy);
+    __Pyx_GIVEREF(__pyx_v_cy);
+    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_cy);
+    __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_f_pts, __pyx_t_8); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 250, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":251
+ *         cx, cy = (p1 + p2) / 2.
+ *         f_pts.append((cx, cy))
+ *         f_diams.append(linalg.norm(p1 - p2))             # <<<<<<<<<<<<<<
+ * 
+ *     f_pts.append(extreme2)
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_linalg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_norm); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 251, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_p1, __pyx_v_p2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 251, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_f_diams, __pyx_t_8); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 251, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":239
+ * 
+ *     # CTNG:slicesoma
+ *     for i in xrange(1, n_soma_step):             # <<<<<<<<<<<<<<
+ *         x0, y0 = major_p1[0] + i * delta_x, major_p1[1] + i * delta_y
+ *         # slice in dir of minor axis
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":253
+ *         f_diams.append(linalg.norm(p1 - p2))
+ * 
+ *     f_pts.append(extreme2)             # <<<<<<<<<<<<<<
+ *     f_diams.append(0)
+ * 
+ */
+  __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_f_pts, __pyx_v_extreme2); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 253, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":254
+ * 
+ *     f_pts.append(extreme2)
+ *     f_diams.append(0)             # <<<<<<<<<<<<<<
+ * 
+ *     segment_locs = [];        # location along soma for assigning segments
+ */
+  __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_f_diams, __pyx_int_0); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 254, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":256
+ *     f_diams.append(0)
+ * 
+ *     segment_locs = [];        # location along soma for assigning segments             # <<<<<<<<<<<<<<
+ *     path_length = 0;
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_segment_locs = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":257
+ * 
+ *     segment_locs = [];        # location along soma for assigning segments
+ *     path_length = 0;             # <<<<<<<<<<<<<<
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length
+ *     for i in xrange(len(f_pts) - 1):
+ */
+  __Pyx_INCREF(__pyx_int_0);
+  __pyx_v_path_length = __pyx_int_0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":258
+ *     segment_locs = [];        # location along soma for assigning segments
+ *     path_length = 0;
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length             # <<<<<<<<<<<<<<
+ *     for i in xrange(len(f_pts) - 1):
+ *         pt1x, pt1y = f_pts[i]
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_nseg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = PyNumber_Multiply(__pyx_t_1, __pyx_int_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 258, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_int_1, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_margin = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":259
+ *     path_length = 0;
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length
+ *     for i in xrange(len(f_pts) - 1):             # <<<<<<<<<<<<<<
+ *         pt1x, pt1y = f_pts[i]
+ *         pt2x, pt2y = f_pts[i + 1]
+ */
+  __pyx_t_6 = PyList_GET_SIZE(__pyx_v_f_pts); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 259, __pyx_L1_error)
+  __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_6 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_xrange, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 259, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+    __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_1))) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 259, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      } else {
+        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
+        #else
+        __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 259, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        #endif
+      }
+    } else {
+      __pyx_t_8 = __pyx_t_7(__pyx_t_1);
+      if (unlikely(!__pyx_t_8)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 259, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_8);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_8);
+    __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":260
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length
+ *     for i in xrange(len(f_pts) - 1):
+ *         pt1x, pt1y = f_pts[i]             # <<<<<<<<<<<<<<
+ *         pt2x, pt2y = f_pts[i + 1]
+ *         diam1 = f_diams[i]
+ */
+    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_f_pts, __pyx_v_i); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 260, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
+      PyObject* sequence = __pyx_t_8;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 260, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_5);
+      #else
+      __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 260, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 260, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      #endif
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 260, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext;
+      index = 0; __pyx_t_9 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L32_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_9);
+      index = 1; __pyx_t_5 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_5)) goto __pyx_L32_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_5);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_10), 2) < 0) __PYX_ERR(0, 260, __pyx_L1_error)
+      __pyx_t_17 = NULL;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      goto __pyx_L33_unpacking_done;
+      __pyx_L32_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_17 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 260, __pyx_L1_error)
+      __pyx_L33_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_pt1x, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt1y, __pyx_t_5);
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":261
+ *     for i in xrange(len(f_pts) - 1):
+ *         pt1x, pt1y = f_pts[i]
+ *         pt2x, pt2y = f_pts[i + 1]             # <<<<<<<<<<<<<<
+ *         diam1 = f_diams[i]
+ *         diam2 = f_diams[i + 1]
+ */
+    __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 261, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_f_pts, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 261, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
+      PyObject* sequence = __pyx_t_5;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 261, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_8 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_9);
+      #else
+      __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 261, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 261, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      #endif
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 261, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext;
+      index = 0; __pyx_t_8 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_8)) goto __pyx_L34_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_8);
+      index = 1; __pyx_t_9 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L34_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_9);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_10), 2) < 0) __PYX_ERR(0, 261, __pyx_L1_error)
+      __pyx_t_17 = NULL;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      goto __pyx_L35_unpacking_done;
+      __pyx_L34_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_17 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 261, __pyx_L1_error)
+      __pyx_L35_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_pt2x, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt2y, __pyx_t_9);
+    __pyx_t_9 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":262
+ *         pt1x, pt1y = f_pts[i]
+ *         pt2x, pt2y = f_pts[i + 1]
+ *         diam1 = f_diams[i]             # <<<<<<<<<<<<<<
+ *         diam2 = f_diams[i + 1]
+ *         thickness = numpy.sqrt((pt2x-pt1x)**2 + (pt2y-pt1y)**2)
+ */
+    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_f_diams, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 262, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_v_diam1 = __pyx_t_2;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":263
+ *         pt2x, pt2y = f_pts[i + 1]
+ *         diam1 = f_diams[i]
+ *         diam2 = f_diams[i + 1]             # <<<<<<<<<<<<<<
+ *         thickness = numpy.sqrt((pt2x-pt1x)**2 + (pt2y-pt1y)**2)
+ *         segment_locs.append(path_length+(thickness/2))
+ */
+    __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 263, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_f_diams, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 263, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_v_diam2 = __pyx_t_2;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":264
+ *         diam1 = f_diams[i]
+ *         diam2 = f_diams[i + 1]
+ *         thickness = numpy.sqrt((pt2x-pt1x)**2 + (pt2y-pt1y)**2)             # <<<<<<<<<<<<<<
+ *         segment_locs.append(path_length+(thickness/2))
+ *         path_length += thickness
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_pt2x, __pyx_v_pt1x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_10 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_pt2y, __pyx_v_pt1y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_14 = PyNumber_Power(__pyx_t_5, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Add(__pyx_t_10, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    __pyx_t_14 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_14)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_9 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_14, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 264, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_thickness, __pyx_t_9);
+    __pyx_t_9 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":265
+ *         diam2 = f_diams[i + 1]
+ *         thickness = numpy.sqrt((pt2x-pt1x)**2 + (pt2y-pt1y)**2)
+ *         segment_locs.append(path_length+(thickness/2))             # <<<<<<<<<<<<<<
+ *         path_length += thickness
+ * 
+ */
+    __pyx_t_9 = __Pyx_PyNumber_Divide(__pyx_v_thickness, __pyx_int_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 265, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = PyNumber_Add(__pyx_v_path_length, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 265, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_segment_locs, __pyx_t_8); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 265, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":266
+ *         thickness = numpy.sqrt((pt2x-pt1x)**2 + (pt2y-pt1y)**2)
+ *         segment_locs.append(path_length+(thickness/2))
+ *         path_length += thickness             # <<<<<<<<<<<<<<
+ * 
+ *         objects.append(SkewCone(pt1x, pt1y, z0, diam1 * 0.5, pt1x + delta_x, pt1y + delta_y, z0, diam2 * 0.5, pt2x, pt2y, z0))
+ */
+    __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_path_length, __pyx_v_thickness); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 266, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF_SET(__pyx_v_path_length, __pyx_t_8);
+    __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":268
+ *         path_length += thickness
+ * 
+ *         objects.append(SkewCone(pt1x, pt1y, z0, diam1 * 0.5, pt1x + delta_x, pt1y + delta_y, z0, diam2 * 0.5, pt2x, pt2y, z0))             # <<<<<<<<<<<<<<
+ *     for j, s in enumerate(objects):
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_SkewCone); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_14 = PyFloat_FromDouble((__pyx_v_diam1 * 0.5)); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    __pyx_t_10 = PyNumber_Add(__pyx_v_pt1x, __pyx_v_delta_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_16 = PyNumber_Add(__pyx_v_pt1y, __pyx_v_delta_y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_16);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_26 = PyFloat_FromDouble((__pyx_v_diam2 * 0.5)); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __pyx_t_27 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __pyx_t_28 = NULL;
+    __pyx_t_15 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_28 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_28)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_28);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+        __pyx_t_15 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_9)) {
+      PyObject *__pyx_temp[12] = {__pyx_t_28, __pyx_v_pt1x, __pyx_v_pt1y, __pyx_t_5, __pyx_t_14, __pyx_t_10, __pyx_t_16, __pyx_t_13, __pyx_t_26, __pyx_v_pt2x, __pyx_v_pt2y, __pyx_t_27};
+      __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 11+__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 268, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+      PyObject *__pyx_temp[12] = {__pyx_t_28, __pyx_v_pt1x, __pyx_v_pt1y, __pyx_t_5, __pyx_t_14, __pyx_t_10, __pyx_t_16, __pyx_t_13, __pyx_t_26, __pyx_v_pt2x, __pyx_v_pt2y, __pyx_t_27};
+      __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_15, 11+__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 268, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_29 = PyTuple_New(11+__pyx_t_15); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 268, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      if (__pyx_t_28) {
+        __Pyx_GIVEREF(__pyx_t_28); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_28); __pyx_t_28 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_pt1x);
+      __Pyx_GIVEREF(__pyx_v_pt1x);
+      PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_15, __pyx_v_pt1x);
+      __Pyx_INCREF(__pyx_v_pt1y);
+      __Pyx_GIVEREF(__pyx_v_pt1y);
+      PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_15, __pyx_v_pt1y);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_15, __pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_14);
+      PyTuple_SET_ITEM(__pyx_t_29, 3+__pyx_t_15, __pyx_t_14);
+      __Pyx_GIVEREF(__pyx_t_10);
+      PyTuple_SET_ITEM(__pyx_t_29, 4+__pyx_t_15, __pyx_t_10);
+      __Pyx_GIVEREF(__pyx_t_16);
+      PyTuple_SET_ITEM(__pyx_t_29, 5+__pyx_t_15, __pyx_t_16);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_29, 6+__pyx_t_15, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_26);
+      PyTuple_SET_ITEM(__pyx_t_29, 7+__pyx_t_15, __pyx_t_26);
+      __Pyx_INCREF(__pyx_v_pt2x);
+      __Pyx_GIVEREF(__pyx_v_pt2x);
+      PyTuple_SET_ITEM(__pyx_t_29, 8+__pyx_t_15, __pyx_v_pt2x);
+      __Pyx_INCREF(__pyx_v_pt2y);
+      __Pyx_GIVEREF(__pyx_v_pt2y);
+      PyTuple_SET_ITEM(__pyx_t_29, 9+__pyx_t_15, __pyx_v_pt2y);
+      __Pyx_GIVEREF(__pyx_t_27);
+      PyTuple_SET_ITEM(__pyx_t_29, 10+__pyx_t_15, __pyx_t_27);
+      __pyx_t_5 = 0;
+      __pyx_t_14 = 0;
+      __pyx_t_10 = 0;
+      __pyx_t_16 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_26 = 0;
+      __pyx_t_27 = 0;
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_29, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 268, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_24 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_t_8); if (unlikely(__pyx_t_24 == ((int)-1))) __PYX_ERR(0, 268, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":259
+ *     path_length = 0;
+ *     margin = 1/(sec.nseg*2)   # half a segment, normalized length
+ *     for i in xrange(len(f_pts) - 1):             # <<<<<<<<<<<<<<
+ *         pt1x, pt1y = f_pts[i]
+ *         pt2x, pt2y = f_pts[i + 1]
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":269
+ * 
+ *         objects.append(SkewCone(pt1x, pt1y, z0, diam1 * 0.5, pt1x + delta_x, pt1y + delta_y, z0, diam2 * 0.5, pt2x, pt2y, z0))
+ *     for j, s in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:
+ */
+  __Pyx_INCREF(__pyx_int_0);
+  __pyx_t_1 = __pyx_int_0;
+  __pyx_t_8 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
+  for (;;) {
+    if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 269, __pyx_L1_error)
+    #else
+    __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __Pyx_INCREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_1);
+    __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_1);
+    __pyx_t_1 = __pyx_t_9;
+    __pyx_t_9 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":270
+ *         objects.append(SkewCone(pt1x, pt1y, z0, diam1 * 0.5, pt1x + delta_x, pt1y + delta_y, z0, diam2 * 0.5, pt2x, pt2y, z0))
+ *     for j, s in enumerate(objects):
+ *         loc = segment_locs[j]/path_length       # normalized along length             # <<<<<<<<<<<<<<
+ *         for seg in sec:
+ *             if numpy.abs(seg.x - loc) <= margin:
+ */
+    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_segment_locs, __pyx_v_j); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 270, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_29 = __Pyx_PyNumber_Divide(__pyx_t_9, __pyx_v_path_length); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 270, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_loc, __pyx_t_29);
+    __pyx_t_29 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":271
+ *     for j, s in enumerate(objects):
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:             # <<<<<<<<<<<<<<
+ *             if numpy.abs(seg.x - loc) <= margin:
+ *                 seg_dict[s] = seg
+ */
+    if (likely(PyList_CheckExact(__pyx_v_sec)) || PyTuple_CheckExact(__pyx_v_sec)) {
+      __pyx_t_29 = __pyx_v_sec; __Pyx_INCREF(__pyx_t_29); __pyx_t_11 = 0;
+      __pyx_t_7 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_29 = PyObject_GetIter(__pyx_v_sec); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 271, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      __pyx_t_7 = Py_TYPE(__pyx_t_29)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 271, __pyx_L1_error)
+    }
+    for (;;) {
+      if (likely(!__pyx_t_7)) {
+        if (likely(PyList_CheckExact(__pyx_t_29))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_29)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_9 = PyList_GET_ITEM(__pyx_t_29, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 271, __pyx_L1_error)
+          #else
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_29, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 271, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_29)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_29, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 271, __pyx_L1_error)
+          #else
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_29, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 271, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          #endif
+        }
+      } else {
+        __pyx_t_9 = __pyx_t_7(__pyx_t_29);
+        if (unlikely(!__pyx_t_9)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 271, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_9);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_seg, __pyx_t_9);
+      __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":272
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:
+ *             if numpy.abs(seg.x - loc) <= margin:             # <<<<<<<<<<<<<<
+ *                 seg_dict[s] = seg
+ *                 break;
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_numpy); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_abs); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_26);
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_seg, __pyx_n_s_x); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __pyx_t_13 = PyNumber_Subtract(__pyx_t_27, __pyx_v_loc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      __pyx_t_27 = NULL;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) {
+        __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_26);
+        if (likely(__pyx_t_27)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26);
+          __Pyx_INCREF(__pyx_t_27);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_26, function);
+        }
+      }
+      __pyx_t_9 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_26, __pyx_t_27, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_13);
+      __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __pyx_t_26 = PyObject_RichCompare(__pyx_t_9, __pyx_v_margin, Py_LE); __Pyx_XGOTREF(__pyx_t_26); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_26); if (unlikely(__pyx_t_23 < 0)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      if (__pyx_t_23) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":273
+ *         for seg in sec:
+ *             if numpy.abs(seg.x - loc) <= margin:
+ *                 seg_dict[s] = seg             # <<<<<<<<<<<<<<
+ *                 break;
+ *     return seg_dict, f_pts
+ */
+        if (unlikely(PyDict_SetItem(__pyx_v_seg_dict, __pyx_v_s, __pyx_v_seg) < 0)) __PYX_ERR(0, 273, __pyx_L1_error)
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":274
+ *             if numpy.abs(seg.x - loc) <= margin:
+ *                 seg_dict[s] = seg
+ *                 break;             # <<<<<<<<<<<<<<
+ *     return seg_dict, f_pts
+ * @cython.wraparound(False)
+ */
+        goto __pyx_L39_break;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":272
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:
+ *             if numpy.abs(seg.x - loc) <= margin:             # <<<<<<<<<<<<<<
+ *                 seg_dict[s] = seg
+ *                 break;
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":271
+ *     for j, s in enumerate(objects):
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:             # <<<<<<<<<<<<<<
+ *             if numpy.abs(seg.x - loc) <= margin:
+ *                 seg_dict[s] = seg
+ */
+    }
+    __pyx_L39_break:;
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":269
+ * 
+ *         objects.append(SkewCone(pt1x, pt1y, z0, diam1 * 0.5, pt1x + delta_x, pt1y + delta_y, z0, diam2 * 0.5, pt2x, pt2y, z0))
+ *     for j, s in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         loc = segment_locs[j]/path_length       # normalized along length
+ *         for seg in sec:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":275
+ *                 seg_dict[s] = seg
+ *                 break;
+ *     return seg_dict, f_pts             # <<<<<<<<<<<<<<
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_v_seg_dict);
+  __Pyx_GIVEREF(__pyx_v_seg_dict);
+  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_seg_dict);
+  __Pyx_INCREF(__pyx_v_f_pts);
+  __Pyx_GIVEREF(__pyx_v_f_pts);
+  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_f_pts);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":169
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def soma_objects(x, y, z, sec, double x0, double y0, double z0, int n_soma_step):             # <<<<<<<<<<<<<<
+ *     cdef double diam1, diam2, somax, somay, somaz
+ *     cdef list objects = []
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.soma_objects", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_objects);
+  __Pyx_XDECREF(__pyx_v_f_pts);
+  __Pyx_XDECREF(__pyx_v_seg_dict);
+  __Pyx_XDECREF(__pyx_v_xshifted);
+  __Pyx_XDECREF(__pyx_v_yshifted);
+  __Pyx_XDECREF(__pyx_v_zshifted);
+  __Pyx_XDECREF(__pyx_v_m);
+  __Pyx_XDECREF(__pyx_v_i);
+  __Pyx_XDECREF(__pyx_v_p);
+  __Pyx_XDECREF(__pyx_v_j);
+  __Pyx_XDECREF(__pyx_v_q);
+  __Pyx_XDECREF(__pyx_v_v);
+  __Pyx_XDECREF(__pyx_v_tobj);
+  __Pyx_XDECREF(__pyx_v_major);
+  __Pyx_XDECREF(__pyx_v_minor);
+  __Pyx_XDECREF(__pyx_v_x1);
+  __Pyx_XDECREF(__pyx_v_y1);
+  __Pyx_XDECREF(__pyx_v_x2);
+  __Pyx_XDECREF(__pyx_v_y2);
+  __Pyx_XDECREF(__pyx_v_xs_loop);
+  __Pyx_XDECREF(__pyx_v_ys_loop);
+  __Pyx_XDECREF(__pyx_v_pts);
+  __Pyx_XDECREF(__pyx_v_pts_sources);
+  __Pyx_XDECREF(__pyx_v_x3);
+  __Pyx_XDECREF(__pyx_v_y3);
+  __Pyx_XDECREF(__pyx_v_x4);
+  __Pyx_XDECREF(__pyx_v_y4);
+  __Pyx_XDECREF(__pyx_v_pt);
+  __Pyx_XDECREF(__pyx_v_major_p1);
+  __Pyx_XDECREF(__pyx_v_major_p2);
+  __Pyx_XDECREF(__pyx_v_extreme1);
+  __Pyx_XDECREF(__pyx_v_extreme2);
+  __Pyx_XDECREF(__pyx_v_major_length);
+  __Pyx_XDECREF(__pyx_v_delta_x);
+  __Pyx_XDECREF(__pyx_v_delta_y);
+  __Pyx_XDECREF(__pyx_v_f_diams);
+  __Pyx_XDECREF(__pyx_v_p1);
+  __Pyx_XDECREF(__pyx_v_p2);
+  __Pyx_XDECREF(__pyx_v_cx);
+  __Pyx_XDECREF(__pyx_v_cy);
+  __Pyx_XDECREF(__pyx_v_segment_locs);
+  __Pyx_XDECREF(__pyx_v_path_length);
+  __Pyx_XDECREF(__pyx_v_margin);
+  __Pyx_XDECREF(__pyx_v_pt1x);
+  __Pyx_XDECREF(__pyx_v_pt1y);
+  __Pyx_XDECREF(__pyx_v_pt2x);
+  __Pyx_XDECREF(__pyx_v_pt2y);
+  __Pyx_XDECREF(__pyx_v_thickness);
+  __Pyx_XDECREF(__pyx_v_s);
+  __Pyx_XDECREF(__pyx_v_loc);
+  __Pyx_XDECREF(__pyx_v_seg);
+  __Pyx_XDECREF(__pyx_v_xx);
+  __Pyx_XDECREF(__pyx_v_yy);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_3constructive_neuronal_geometry(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_4ctng_3constructive_neuronal_geometry = {"constructive_neuronal_geometry", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_3constructive_neuronal_geometry, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_4ctng_3constructive_neuronal_geometry(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_source = 0;
+  int __pyx_v_n_soma_step;
+  double __pyx_v_dx;
+  PyObject *__pyx_v_nouniform = 0;
+  PyObject *__pyx_v_relevant_pts = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("constructive_neuronal_geometry (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_n_soma_step,&__pyx_n_s_dx,&__pyx_n_s_nouniform,&__pyx_n_s_relevant_pts,0};
+    PyObject* values[5] = {0,0,0,0,0};
+    values[3] = ((PyObject *)Py_False);
+    values[4] = ((PyObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_source)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n_soma_step)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("constructive_neuronal_geometry", 0, 3, 5, 1); __PYX_ERR(0, 278, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("constructive_neuronal_geometry", 0, 3, 5, 2); __PYX_ERR(0, 278, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nouniform);
+          if (value) { values[3] = value; kw_args--; }
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_relevant_pts);
+          if (value) { values[4] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "constructive_neuronal_geometry") < 0)) __PYX_ERR(0, 278, __pyx_L3_error)
+      }
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_source = values[0];
+    __pyx_v_n_soma_step = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_n_soma_step == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 278, __pyx_L3_error)
+    __pyx_v_dx = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_dx == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 278, __pyx_L3_error)
+    __pyx_v_nouniform = values[3];
+    __pyx_v_relevant_pts = values[4];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("constructive_neuronal_geometry", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 278, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.constructive_neuronal_geometry", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_4ctng_2constructive_neuronal_geometry(__pyx_self, __pyx_v_source, __pyx_v_n_soma_step, __pyx_v_dx, __pyx_v_nouniform, __pyx_v_relevant_pts);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+static PyObject *__pyx_gb_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
+
+/* "neuron/rxd/geometry3d/ctng.pyx":307
+ *         cell = source
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)             # <<<<<<<<<<<<<<
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')
+ */
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_genexpr(PyObject *__pyx_self) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("genexpr", 0);
+  __pyx_cur_scope = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr(__pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
+  if (unlikely(!__pyx_cur_scope)) {
+    __pyx_cur_scope = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)Py_None);
+    __Pyx_INCREF(Py_None);
+    __PYX_ERR(0, 307, __pyx_L1_error)
+  } else {
+    __Pyx_GOTREF(__pyx_cur_scope);
+  }
+  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *) __pyx_self;
+  __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
+  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
+  {
+    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_constructive_neuronal_geometry_l, __pyx_n_s_neuron_rxd_geometry3d_ctng); if (unlikely(!gen)) __PYX_ERR(0, 307, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_cur_scope);
+    __Pyx_RefNannyFinishContext();
+    return (PyObject *) gen;
+  }
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.constructive_neuronal_geometry.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_gb_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
+{
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
+  PyObject *__pyx_r = NULL;
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *(*__pyx_t_4)(PyObject *);
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("genexpr", 0);
+  switch (__pyx_generator->resume_label) {
+    case 0: goto __pyx_L3_first_run;
+    case 1: goto __pyx_L6_resume_from_yield;
+    default: /* CPython raises the right error here */
+    __Pyx_RefNannyFinishContext();
+    return NULL;
+  }
+  __pyx_L3_first_run:;
+  if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 307, __pyx_L1_error)
+  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_cell)) { __Pyx_RaiseClosureNameError("cell"); __PYX_ERR(0, 307, __pyx_L1_error) }
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_cell, __pyx_n_s_sections); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+    __pyx_t_4 = NULL;
+  } else {
+    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_4)) {
+      if (likely(PyList_CheckExact(__pyx_t_2))) {
+        if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
+        #else
+        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        #endif
+      } else {
+        if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
+        #else
+        __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        #endif
+      }
+    } else {
+      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
+      if (unlikely(!__pyx_t_1)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 307, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_1);
+    }
+    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_sec);
+    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_sec, __pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_1);
+    __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_sec, __pyx_n_s_iscontour); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_r = __pyx_t_1;
+    __pyx_t_1 = 0;
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
+    __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
+    __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
+    __Pyx_XGIVEREF(__pyx_r);
+    __Pyx_RefNannyFinishContext();
+    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
+    /* return from generator, yielding value */
+    __pyx_generator->resume_label = 1;
+    return __pyx_r;
+    __pyx_L6_resume_from_yield:;
+    __pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
+    __pyx_cur_scope->__pyx_t_0 = 0;
+    __Pyx_XGOTREF(__pyx_t_2);
+    __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
+    __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
+    if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 307, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
+
+  /* function exit code */
+  PyErr_SetNone(PyExc_StopIteration);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
+  #if !CYTHON_USE_EXC_INFO_STACK
+  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
+  #endif
+  __pyx_generator->resume_label = -1;
+  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_4ctng_2constructive_neuronal_geometry(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_source, int __pyx_v_n_soma_step, double __pyx_v_dx, PyObject *__pyx_v_nouniform, PyObject *__pyx_v_relevant_pts) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *__pyx_cur_scope;
+  PyObject *__pyx_v_objects = 0;
+  PyObject *__pyx_v_cone_segment_dict = 0;
+  PyObject *__pyx_v_soma_segment_dict = 0;
+  PyObject *__pyx_v_join_groups = 0;
+  PyObject *__pyx_v_obj_pts_dict = 0;
+  CYTHON_UNUSED PyObject *__pyx_v_obj_sections = 0;
+  CYTHON_UNUSED PyObject *__pyx_v_cone_sections = 0;
+  PyObject *__pyx_v_soma_secs = 0;
+  PyObject *__pyx_v_potential_soma_cones = 0;
+  int __pyx_v_i;
+  int __pyx_v_k;
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_x2;
+  double __pyx_v_y2;
+  double __pyx_v_z2;
+  double __pyx_v_x3;
+  double __pyx_v_y3;
+  double __pyx_v_r0;
+  double __pyx_v_r1;
+  double __pyx_v_r2;
+  PyObject *__pyx_v_pts = 0;
+  PyObject *__pyx_v_f_pts = 0;
+  PyObject *__pyx_v_branches = 0;
+  PyObject *__pyx_v_parent_sec_name = 0;
+  PyObject *__pyx_v_pt = 0;
+  int __pyx_v_no_parent_count;
+  int __pyx_v_source_is_import3d;
+  PyObject *__pyx_v_num_contours = NULL;
+  PyObject *__pyx_v_sec = NULL;
+  PyObject *__pyx_v_x = NULL;
+  PyObject *__pyx_v_y = NULL;
+  PyObject *__pyx_v_z = NULL;
+  PyObject *__pyx_v_center_vec = NULL;
+  PyObject *__pyx_v_new_objects = NULL;
+  PyObject *__pyx_v_is_stack = NULL;
+  PyObject *__pyx_v_pts3d = NULL;
+  PyObject *__pyx_v_shift = NULL;
+  PyObject *__pyx_v_orig_x = NULL;
+  PyObject *__pyx_v_orig_y = NULL;
+  PyObject *__pyx_v_orig_z = NULL;
+  PyObject *__pyx_v_sx = NULL;
+  PyObject *__pyx_v_sy = NULL;
+  PyObject *__pyx_v_sz = NULL;
+  PyObject *__pyx_v_warnings = NULL;
+  PyObject *__pyx_v_diam_corrections = 0;
+  CYTHON_UNUSED PyObject *__pyx_v_clip_copying = 0;
+  PyObject *__pyx_v_all_cones = NULL;
+  PyObject *__pyx_v_pts_cones_db = NULL;
+  PyObject *__pyx_v_diam_db = NULL;
+  PyObject *__pyx_v_branch = NULL;
+  PyObject *__pyx_v_psec = NULL;
+  PyObject *__pyx_v_d = NULL;
+  PyObject *__pyx_v_rng = NULL;
+  PyObject *__pyx_v_arc3d = NULL;
+  PyObject *__pyx_v_diam3d = NULL;
+  PyObject *__pyx_v_x3d = NULL;
+  PyObject *__pyx_v_y3d = NULL;
+  PyObject *__pyx_v_z3d = NULL;
+  PyObject *__pyx_v_iseg = NULL;
+  PyObject *__pyx_v_seg = NULL;
+  PyObject *__pyx_v_lo = NULL;
+  PyObject *__pyx_v_hi = NULL;
+  PyObject *__pyx_v_diams = NULL;
+  PyObject *__pyx_v_xcoords = NULL;
+  PyObject *__pyx_v_ycoords = NULL;
+  PyObject *__pyx_v_zcoords = NULL;
+  Py_ssize_t __pyx_v_end;
+  PyObject *__pyx_v_conecoords = NULL;
+  PyObject *__pyx_v_somaz = NULL;
+  PyObject *__pyx_v_cp = NULL;
+  PyObject *__pyx_v_d0 = NULL;
+  PyObject *__pyx_v_d1 = NULL;
+  PyObject *__pyx_v_axisx = NULL;
+  PyObject *__pyx_v_axisy = NULL;
+  PyObject *__pyx_v_axisz = NULL;
+  PyObject *__pyx_v_deltad = NULL;
+  PyObject *__pyx_v_axislength = NULL;
+  PyObject *__pyx_v_vals = NULL;
+  PyObject *__pyx_v_cone_clip_db = 0;
+  int __pyx_v_sharp_turn;
+  CYTHON_UNUSED PyObject *__pyx_v_join_items_needing_clipped = NULL;
+  PyObject *__pyx_v_cone = NULL;
+  PyObject *__pyx_v_joingroup = NULL;
+  PyObject *__pyx_v_pt1 = NULL;
+  PyObject *__pyx_v_pt2 = NULL;
+  PyObject *__pyx_v_axis = NULL;
+  PyObject *__pyx_v_left_neighbors = NULL;
+  PyObject *__pyx_v_right_neighbors = NULL;
+  PyObject *__pyx_v_neighbor = NULL;
+  PyObject *__pyx_v_neighbor_left = NULL;
+  PyObject *__pyx_v_neighbor_right = NULL;
+  PyObject *__pyx_v_clips = NULL;
+  CYTHON_UNUSED PyObject *__pyx_v_join_item = NULL;
+  PyObject *__pyx_v_pt0 = NULL;
+  PyObject *__pyx_v_naxis = NULL;
+  PyObject *__pyx_v_sp = NULL;
+  PyObject *__pyx_v_c0 = NULL;
+  PyObject *__pyx_v_c1 = NULL;
+  PyObject *__pyx_v_plane_normal = NULL;
+  PyObject *__pyx_v_radial_vec = NULL;
+  PyObject *__pyx_v_nradial_vec = NULL;
+  PyObject *__pyx_v_corner_pts = NULL;
+  PyObject *__pyx_v_my_corner_count = NULL;
+  PyObject *__pyx_v_corner_count = NULL;
+  PyObject *__pyx_v_neighbor_copy = NULL;
+  PyObject *__pyx_v_z3 = NULL;
+  PyObject *__pyx_v_r3 = NULL;
+  PyObject *__pyx_v_pt3 = NULL;
+  PyObject *__pyx_v_radial_vec_norm = NULL;
+  PyObject *__pyx_v_int_clip = NULL;
+  PyObject *__pyx_v_clip = NULL;
+  PyObject *__pyx_v_cones = NULL;
+  PyObject *__pyx_gb_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_2generator = 0;
+  PyObject *__pyx_v_s0 = NULL;
+  PyObject *__pyx_v_s1 = NULL;
+  PyObject *__pyx_v_arc = NULL;
+  PyObject *__pyx_8genexpr1__pyx_v_cone = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  Py_ssize_t __pyx_t_6;
+  PyObject *(*__pyx_t_7)(PyObject *);
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  double __pyx_t_14;
+  double __pyx_t_15;
+  double __pyx_t_16;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *(*__pyx_t_18)(PyObject *);
+  int __pyx_t_19;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  Py_ssize_t __pyx_t_22;
+  PyObject *(*__pyx_t_23)(PyObject *);
+  Py_ssize_t __pyx_t_24;
+  Py_ssize_t __pyx_t_25;
+  long __pyx_t_26;
+  PyObject *__pyx_t_27 = NULL;
+  int __pyx_t_28;
+  PyObject *__pyx_t_29 = NULL;
+  double __pyx_t_30;
+  PyObject *__pyx_t_31 = NULL;
+  PyObject *__pyx_t_32 = NULL;
+  PyObject *__pyx_t_33 = NULL;
+  PyObject *__pyx_t_34 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("constructive_neuronal_geometry", 0);
+  __pyx_cur_scope = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(__pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry, __pyx_empty_tuple, NULL);
+  if (unlikely(!__pyx_cur_scope)) {
+    __pyx_cur_scope = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)Py_None);
+    __Pyx_INCREF(Py_None);
+    __PYX_ERR(0, 278, __pyx_L1_error)
+  } else {
+    __Pyx_GOTREF(__pyx_cur_scope);
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":279
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):
+ *     cdef list objects = []             # <<<<<<<<<<<<<<
+ *     cdef dict cone_segment_dict = {}
+ *     cdef dict soma_segment_dict = {}
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_objects = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":280
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}             # <<<<<<<<<<<<<<
+ *     cdef dict soma_segment_dict = {}
+ *     cdef list join_groups = []
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_cone_segment_dict = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":281
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ *     cdef dict soma_segment_dict = {}             # <<<<<<<<<<<<<<
+ *     cdef list join_groups = []
+ *     cdef dict obj_pts_dict = {}         # for returning corner points of join objects
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_soma_segment_dict = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":282
+ *     cdef dict cone_segment_dict = {}
+ *     cdef dict soma_segment_dict = {}
+ *     cdef list join_groups = []             # <<<<<<<<<<<<<<
+ *     cdef dict obj_pts_dict = {}         # for returning corner points of join objects
+ *     cdef list obj_sections = []
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_join_groups = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":283
+ *     cdef dict soma_segment_dict = {}
+ *     cdef list join_groups = []
+ *     cdef dict obj_pts_dict = {}         # for returning corner points of join objects             # <<<<<<<<<<<<<<
+ *     cdef list obj_sections = []
+ *     cdef list cone_sections = []
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_obj_pts_dict = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":284
+ *     cdef list join_groups = []
+ *     cdef dict obj_pts_dict = {}         # for returning corner points of join objects
+ *     cdef list obj_sections = []             # <<<<<<<<<<<<<<
+ *     cdef list cone_sections = []
+ *     cdef dict soma_secs = {}
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_obj_sections = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":285
+ *     cdef dict obj_pts_dict = {}         # for returning corner points of join objects
+ *     cdef list obj_sections = []
+ *     cdef list cone_sections = []             # <<<<<<<<<<<<<<
+ *     cdef dict soma_secs = {}
+ *     cdef dict potential_soma_cones = {}
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_cone_sections = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":286
+ *     cdef list obj_sections = []
+ *     cdef list cone_sections = []
+ *     cdef dict soma_secs = {}             # <<<<<<<<<<<<<<
+ *     cdef dict potential_soma_cones = {}
+ *     cdef int i, j, k
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_soma_secs = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":287
+ *     cdef list cone_sections = []
+ *     cdef dict soma_secs = {}
+ *     cdef dict potential_soma_cones = {}             # <<<<<<<<<<<<<<
+ *     cdef int i, j, k
+ *     cdef double x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, x4, y4, r0, r1, r2
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_potential_soma_cones = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":295
+ *     cdef tuple pt
+ *     #cdef numpy.ndarray[numpy.float_t, ndim=1] x, y, z, xs_loop, ys_loop
+ *     cdef int no_parent_count = 0             # <<<<<<<<<<<<<<
+ * 
+ *     source_is_import3d = False
+ */
+  __pyx_v_no_parent_count = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":297
+ *     cdef int no_parent_count = 0
+ * 
+ *     source_is_import3d = False             # <<<<<<<<<<<<<<
+ *     branches = []
+ *     f_pts = []
+ */
+  __pyx_v_source_is_import3d = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":298
+ * 
+ *     source_is_import3d = False
+ *     branches = []             # <<<<<<<<<<<<<<
+ *     f_pts = []
+ *     parent_sec_name = []
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_branches = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":299
+ *     source_is_import3d = False
+ *     branches = []
+ *     f_pts = []             # <<<<<<<<<<<<<<
+ *     parent_sec_name = []
+ *     num_contours = None
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_f_pts = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":300
+ *     branches = []
+ *     f_pts = []
+ *     parent_sec_name = []             # <<<<<<<<<<<<<<
+ *     num_contours = None
+ *     # TODO: come up with a better way of checking type
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_parent_sec_name = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":301
+ *     f_pts = []
+ *     parent_sec_name = []
+ *     num_contours = None             # <<<<<<<<<<<<<<
+ *     # TODO: come up with a better way of checking type
+ *     if hasattr(source, 'sections'):
+ */
+  __Pyx_INCREF(Py_None);
+  __pyx_v_num_contours = Py_None;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":303
+ *     num_contours = None
+ *     # TODO: come up with a better way of checking type
+ *     if hasattr(source, 'sections'):             # <<<<<<<<<<<<<<
+ *         source_is_import3d = True
+ *         cell = source
+ */
+  __pyx_t_2 = __Pyx_HasAttr(__pyx_v_source, __pyx_n_s_sections); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 303, __pyx_L1_error)
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":304
+ *     # TODO: come up with a better way of checking type
+ *     if hasattr(source, 'sections'):
+ *         source_is_import3d = True             # <<<<<<<<<<<<<<
+ *         cell = source
+ *         # probably an Import3D type
+ */
+    __pyx_v_source_is_import3d = 1;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":305
+ *     if hasattr(source, 'sections'):
+ *         source_is_import3d = True
+ *         cell = source             # <<<<<<<<<<<<<<
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)
+ */
+    __Pyx_INCREF(__pyx_v_source);
+    __Pyx_GIVEREF(__pyx_v_source);
+    __pyx_cur_scope->__pyx_v_cell = __pyx_v_source;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":307
+ *         cell = source
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)             # <<<<<<<<<<<<<<
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')
+ */
+    __pyx_t_1 = __pyx_pf_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF_SET(__pyx_v_num_contours, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":308
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)
+ *         if num_contours > 1:             # <<<<<<<<<<<<<<
+ *             raise RxDException('more than one contour is not currently supported')
+ *         if num_contours <= 1:
+ */
+    __pyx_t_4 = PyObject_RichCompare(__pyx_v_num_contours, __pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 308, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (unlikely(__pyx_t_3)) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":309
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')             # <<<<<<<<<<<<<<
+ *         if num_contours <= 1:
+ *             # CTNG:soma
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      __pyx_t_5 = NULL;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+        if (likely(__pyx_t_5)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+          __Pyx_INCREF(__pyx_t_5);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_1, function);
+        }
+      }
+      __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_kp_s_more_than_one_contour_is_not_cur) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s_more_than_one_contour_is_not_cur);
+      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __PYX_ERR(0, 309, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":308
+ *         # probably an Import3D type
+ *         num_contours = sum(sec.iscontour_ for sec in cell.sections)
+ *         if num_contours > 1:             # <<<<<<<<<<<<<<
+ *             raise RxDException('more than one contour is not currently supported')
+ *         if num_contours <= 1:
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":310
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')
+ *         if num_contours <= 1:             # <<<<<<<<<<<<<<
+ *             # CTNG:soma
+ *             branches = []
+ */
+    __pyx_t_4 = PyObject_RichCompare(__pyx_v_num_contours, __pyx_int_1, Py_LE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 310, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 310, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_3) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":312
+ *         if num_contours <= 1:
+ *             # CTNG:soma
+ *             branches = []             # <<<<<<<<<<<<<<
+ *             parent_sec_name = []
+ *             for sec in cell.sections:
+ */
+      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 312, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF_SET(__pyx_v_branches, ((PyObject*)__pyx_t_4));
+      __pyx_t_4 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":313
+ *             # CTNG:soma
+ *             branches = []
+ *             parent_sec_name = []             # <<<<<<<<<<<<<<
+ *             for sec in cell.sections:
+ *                 if sec.iscontour_:
+ */
+      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 313, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF_SET(__pyx_v_parent_sec_name, ((PyObject*)__pyx_t_4));
+      __pyx_t_4 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":314
+ *             branches = []
+ *             parent_sec_name = []
+ *             for sec in cell.sections:             # <<<<<<<<<<<<<<
+ *                 if sec.iscontour_:
+ *                     x, y, z = [sec.raw.getrow(i).to_python() for i in xrange(3)]
+ */
+      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_cell, __pyx_n_s_sections); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 314, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
+        __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
+        __pyx_t_7 = NULL;
+      } else {
+        __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 314, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_7)) {
+          if (likely(PyList_CheckExact(__pyx_t_1))) {
+            if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
+            #else
+            __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 314, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            #endif
+          } else {
+            if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
+            #else
+            __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 314, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            #endif
+          }
+        } else {
+          __pyx_t_4 = __pyx_t_7(__pyx_t_1);
+          if (unlikely(!__pyx_t_4)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 314, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_4);
+        }
+        __Pyx_XDECREF_SET(__pyx_v_sec, __pyx_t_4);
+        __pyx_t_4 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":315
+ *             parent_sec_name = []
+ *             for sec in cell.sections:
+ *                 if sec.iscontour_:             # <<<<<<<<<<<<<<
+ *                     x, y, z = [sec.raw.getrow(i).to_python() for i in xrange(3)]
+ * 
+ */
+        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_iscontour); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        if (__pyx_t_3) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":316
+ *             for sec in cell.sections:
+ *                 if sec.iscontour_:
+ *                     x, y, z = [sec.raw.getrow(i).to_python() for i in xrange(3)]             # <<<<<<<<<<<<<<
+ * 
+ *                     # compute the center of the contour based on uniformly spaced points around the perimeter
+ */
+          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          for (__pyx_t_8 = 0; __pyx_t_8 < 3; __pyx_t_8+=1) {
+            __pyx_v_i = __pyx_t_8;
+            __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_raw); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_getrow); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_12 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+              __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
+              if (likely(__pyx_t_12)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                __Pyx_INCREF(__pyx_t_12);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_11, function);
+              }
+            }
+            __pyx_t_9 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_10);
+            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_to_python); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __pyx_t_9 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+              __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_11);
+              if (likely(__pyx_t_9)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                __Pyx_INCREF(__pyx_t_9);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_11, function);
+              }
+            }
+            __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_11);
+            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          }
+          if (1) {
+            PyObject* sequence = __pyx_t_4;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 316, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_11 = PyList_GET_ITEM(sequence, 1); 
+            __pyx_t_9 = PyList_GET_ITEM(sequence, 2); 
+            __Pyx_INCREF(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_11);
+            __Pyx_INCREF(__pyx_t_9);
+            #else
+            __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_9 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            #endif
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          }
+          __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
+          __pyx_t_5 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_11);
+          __pyx_t_11 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_9);
+          __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":319
+ * 
+ *                     # compute the center of the contour based on uniformly spaced points around the perimeter
+ *                     center_vec = sec.contourcenter(sec.raw.getrow(0), sec.raw.getrow(1), sec.raw.getrow(2))             # <<<<<<<<<<<<<<
+ *                     x0, y0, z0 = [center_vec.x[i] for i in xrange(3)]
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0, y0, z0, n_soma_step)
+ */
+          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_contourcenter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_raw); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getrow); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+            }
+          }
+          __pyx_t_11 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_int_0);
+          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_raw); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getrow); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_12);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_12, function);
+            }
+          }
+          __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_5, __pyx_int_1) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_int_1);
+          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_raw); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getrow); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_13, function);
+            }
+          }
+          __pyx_t_12 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_2) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_2);
+          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+          if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);
+            if (likely(__pyx_t_13)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_9)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_t_11, __pyx_t_10, __pyx_t_12};
+            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_t_11, __pyx_t_10, __pyx_t_12};
+            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_5 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 319, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            if (__pyx_t_13) {
+              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __pyx_t_13 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_t_11);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_12);
+            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_t_12);
+            __pyx_t_11 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_12 = 0;
+            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_center_vec, __pyx_t_4);
+          __pyx_t_4 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":320
+ *                     # compute the center of the contour based on uniformly spaced points around the perimeter
+ *                     center_vec = sec.contourcenter(sec.raw.getrow(0), sec.raw.getrow(1), sec.raw.getrow(2))
+ *                     x0, y0, z0 = [center_vec.x[i] for i in xrange(3)]             # <<<<<<<<<<<<<<
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0, y0, z0, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0)
+ */
+          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          for (__pyx_t_8 = 0; __pyx_t_8 < 3; __pyx_t_8+=1) {
+            __pyx_v_i = __pyx_t_8;
+            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_center_vec, __pyx_n_s_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_9, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          }
+          if (1) {
+            PyObject* sequence = __pyx_t_4;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 320, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
+            __pyx_t_12 = PyList_GET_ITEM(sequence, 2); 
+            __Pyx_INCREF(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_9);
+            __Pyx_INCREF(__pyx_t_12);
+            #else
+            __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_12 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 320, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_12);
+            #endif
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          }
+          __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 320, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 320, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 320, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          __pyx_v_x0 = __pyx_t_14;
+          __pyx_v_y0 = __pyx_t_15;
+          __pyx_v_z0 = __pyx_t_16;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":321
+ *                     center_vec = sec.contourcenter(sec.raw.getrow(0), sec.raw.getrow(1), sec.raw.getrow(2))
+ *                     x0, y0, z0 = [center_vec.x[i] for i in xrange(3)]
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0, y0, z0, n_soma_step)             # <<<<<<<<<<<<<<
+ *                     soma_secs[sec] = (f_pts, z0)
+ *                     soma_segment_dict.update(new_objects)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_soma_objects); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_5 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_n_soma_step); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_13 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
+            if (likely(__pyx_t_13)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_12, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_12)) {
+            PyObject *__pyx_temp[9] = {__pyx_t_13, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_sec, __pyx_t_9, __pyx_t_5, __pyx_t_10, __pyx_t_11};
+            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) {
+            PyObject *__pyx_temp[9] = {__pyx_t_13, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_sec, __pyx_t_9, __pyx_t_5, __pyx_t_10, __pyx_t_11};
+            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_13) {
+              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_13); __pyx_t_13 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_x);
+            __Pyx_GIVEREF(__pyx_v_x);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_x);
+            __Pyx_INCREF(__pyx_v_y);
+            __Pyx_GIVEREF(__pyx_v_y);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_v_y);
+            __Pyx_INCREF(__pyx_v_z);
+            __Pyx_GIVEREF(__pyx_v_z);
+            PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_8, __pyx_v_z);
+            __Pyx_INCREF(__pyx_v_sec);
+            __Pyx_GIVEREF(__pyx_v_sec);
+            PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_8, __pyx_v_sec);
+            __Pyx_GIVEREF(__pyx_t_9);
+            PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_8, __pyx_t_9);
+            __Pyx_GIVEREF(__pyx_t_5);
+            PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_8, __pyx_t_5);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_17, 7+__pyx_t_8, __pyx_t_11);
+            __pyx_t_9 = 0;
+            __pyx_t_5 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
+            PyObject* sequence = __pyx_t_4;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 2)) {
+              if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 321, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            if (likely(PyTuple_CheckExact(sequence))) {
+              __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0); 
+              __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); 
+            } else {
+              __pyx_t_12 = PyList_GET_ITEM(sequence, 0); 
+              __pyx_t_17 = PyList_GET_ITEM(sequence, 1); 
+            }
+            __Pyx_INCREF(__pyx_t_12);
+            __Pyx_INCREF(__pyx_t_17);
+            #else
+            __pyx_t_12 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_12);
+            __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            #endif
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          } else {
+            Py_ssize_t index = -1;
+            __pyx_t_11 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 321, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __pyx_t_18 = Py_TYPE(__pyx_t_11)->tp_iternext;
+            index = 0; __pyx_t_12 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_12)) goto __pyx_L13_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_12);
+            index = 1; __pyx_t_17 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_17)) goto __pyx_L13_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_11), 2) < 0) __PYX_ERR(0, 321, __pyx_L1_error)
+            __pyx_t_18 = NULL;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            goto __pyx_L14_unpacking_done;
+            __pyx_L13_unpacking_failed:;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __pyx_t_18 = NULL;
+            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+            __PYX_ERR(0, 321, __pyx_L1_error)
+            __pyx_L14_unpacking_done:;
+          }
+          if (!(likely(PyList_CheckExact(__pyx_t_17))||((__pyx_t_17) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_17)->tp_name), 0))) __PYX_ERR(0, 321, __pyx_L1_error)
+          __Pyx_XDECREF_SET(__pyx_v_new_objects, __pyx_t_12);
+          __pyx_t_12 = 0;
+          __Pyx_DECREF_SET(__pyx_v_f_pts, ((PyObject*)__pyx_t_17));
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":322
+ *                     x0, y0, z0 = [center_vec.x[i] for i in xrange(3)]
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0, y0, z0, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0)             # <<<<<<<<<<<<<<
+ *                     soma_segment_dict.update(new_objects)
+ *                 else:
+ */
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 322, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 322, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_INCREF(__pyx_v_f_pts);
+          __Pyx_GIVEREF(__pyx_v_f_pts);
+          PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_f_pts);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_4);
+          __pyx_t_4 = 0;
+          if (unlikely(PyDict_SetItem(__pyx_v_soma_secs, __pyx_v_sec, __pyx_t_17) < 0)) __PYX_ERR(0, 322, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":323
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0, y0, z0, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0)
+ *                     soma_segment_dict.update(new_objects)             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     if sec.parentsec is not None:
+ */
+          __pyx_t_17 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_soma_segment_dict, __pyx_v_new_objects); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 323, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":315
+ *             parent_sec_name = []
+ *             for sec in cell.sections:
+ *                 if sec.iscontour_:             # <<<<<<<<<<<<<<
+ *                     x, y, z = [sec.raw.getrow(i).to_python() for i in xrange(3)]
+ * 
+ */
+          goto __pyx_L8;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":325
+ *                     soma_segment_dict.update(new_objects)
+ *                 else:
+ *                     if sec.parentsec is not None:             # <<<<<<<<<<<<<<
+ *                         parent_sec_name.append(sec.parentsec.hname())
+ *                     else:
+ */
+        /*else*/ {
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_parentsec); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 325, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_3 = (__pyx_t_17 != Py_None);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_2 = (__pyx_t_3 != 0);
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":326
+ *                 else:
+ *                     if sec.parentsec is not None:
+ *                         parent_sec_name.append(sec.parentsec.hname())             # <<<<<<<<<<<<<<
+ *                     else:
+ *                         parent_sec_name.append(no_parent_count)
+ */
+            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_parentsec); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 326, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_hname); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 326, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_12);
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __pyx_t_4 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
+              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_12);
+              if (likely(__pyx_t_4)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+                __Pyx_INCREF(__pyx_t_4);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_12, function);
+              }
+            }
+            __pyx_t_17 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_12);
+            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+            if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 326, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_parent_sec_name, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 326, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":325
+ *                     soma_segment_dict.update(new_objects)
+ *                 else:
+ *                     if sec.parentsec is not None:             # <<<<<<<<<<<<<<
+ *                         parent_sec_name.append(sec.parentsec.hname())
+ *                     else:
+ */
+            goto __pyx_L15;
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":328
+ *                         parent_sec_name.append(sec.parentsec.hname())
+ *                     else:
+ *                         parent_sec_name.append(no_parent_count)             # <<<<<<<<<<<<<<
+ *                         no_parent_count += 1
+ *                     branches.append(sec)
+ */
+          /*else*/ {
+            __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_no_parent_count); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 328, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_parent_sec_name, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 328, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":329
+ *                     else:
+ *                         parent_sec_name.append(no_parent_count)
+ *                         no_parent_count += 1             # <<<<<<<<<<<<<<
+ *                     branches.append(sec)
+ * 
+ */
+            __pyx_v_no_parent_count = (__pyx_v_no_parent_count + 1);
+          }
+          __pyx_L15:;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":330
+ *                         parent_sec_name.append(no_parent_count)
+ *                         no_parent_count += 1
+ *                     branches.append(sec)             # <<<<<<<<<<<<<<
+ * 
+ *     else:
+ */
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_branches, __pyx_v_sec); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 330, __pyx_L1_error)
+        }
+        __pyx_L8:;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":314
+ *             branches = []
+ *             parent_sec_name = []
+ *             for sec in cell.sections:             # <<<<<<<<<<<<<<
+ *                 if sec.iscontour_:
+ *                     x, y, z = [sec.raw.getrow(i).to_python() for i in xrange(3)]
+ */
+      }
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":310
+ *         if num_contours > 1:
+ *             raise RxDException('more than one contour is not currently supported')
+ *         if num_contours <= 1:             # <<<<<<<<<<<<<<
+ *             # CTNG:soma
+ *             branches = []
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":303
+ *     num_contours = None
+ *     # TODO: come up with a better way of checking type
+ *     if hasattr(source, 'sections'):             # <<<<<<<<<<<<<<
+ *         source_is_import3d = True
+ *         cell = source
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":333
+ * 
+ *     else:
+ *         h.define_shape()             # <<<<<<<<<<<<<<
+ *         branches = []
+ *         for sec in source:
+ */
+  /*else*/ {
+    __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_h); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 333, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_17);
+    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_define_shape); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 333, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+    __pyx_t_17 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
+      __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_12);
+      if (likely(__pyx_t_17)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+        __Pyx_INCREF(__pyx_t_17);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_12, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_12);
+    __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":334
+ *     else:
+ *         h.define_shape()
+ *         branches = []             # <<<<<<<<<<<<<<
+ *         for sec in source:
+ *             # TODO: make this more general (support for 3D contour outline)
+ */
+    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF_SET(__pyx_v_branches, ((PyObject*)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":335
+ *         h.define_shape()
+ *         branches = []
+ *         for sec in source:             # <<<<<<<<<<<<<<
+ *             # TODO: make this more general (support for 3D contour outline)
+ *             if sec.hoc_internal_name() in neuron._sec_db:
+ */
+    if (likely(PyList_CheckExact(__pyx_v_source)) || PyTuple_CheckExact(__pyx_v_source)) {
+      __pyx_t_1 = __pyx_v_source; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
+      __pyx_t_7 = NULL;
+    } else {
+      __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 335, __pyx_L1_error)
+    }
+    for (;;) {
+      if (likely(!__pyx_t_7)) {
+        if (likely(PyList_CheckExact(__pyx_t_1))) {
+          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_12 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 335, __pyx_L1_error)
+          #else
+          __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 335, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          #endif
+        } else {
+          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 335, __pyx_L1_error)
+          #else
+          __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 335, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          #endif
+        }
+      } else {
+        __pyx_t_12 = __pyx_t_7(__pyx_t_1);
+        if (unlikely(!__pyx_t_12)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 335, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_12);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_sec, __pyx_t_12);
+      __pyx_t_12 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":337
+ *         for sec in source:
+ *             # TODO: make this more general (support for 3D contour outline)
+ *             if sec.hoc_internal_name() in neuron._sec_db:             # <<<<<<<<<<<<<<
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]
+ *                 if not is_stack:
+ */
+      __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_hoc_internal_name); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 337, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __pyx_t_4 = NULL;
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_17);
+        if (likely(__pyx_t_4)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+          __Pyx_INCREF(__pyx_t_4);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_17, function);
+        }
+      }
+      __pyx_t_12 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 337, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_neuron); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 337, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_sec_db); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 337, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_12, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 337, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_3 = (__pyx_t_2 != 0);
+      if (__pyx_t_3) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":338
+ *             # TODO: make this more general (support for 3D contour outline)
+ *             if sec.hoc_internal_name() in neuron._sec_db:
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]             # <<<<<<<<<<<<<<
+ *                 if not is_stack:
+ *                     shift = []
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_neuron); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sec_db); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_12);
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_hoc_internal_name); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_11 = NULL;
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+          if (likely(__pyx_t_11)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+            __Pyx_INCREF(__pyx_t_11);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_17, function);
+          }
+        }
+        __pyx_t_4 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
+        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+        if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        if ((likely(PyTuple_CheckExact(__pyx_t_17))) || (PyList_CheckExact(__pyx_t_17))) {
+          PyObject* sequence = __pyx_t_17;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 8)) {
+            if (size > 8) __Pyx_RaiseTooManyValuesError(8);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 338, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1); 
+            __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); 
+            __pyx_t_10 = PyTuple_GET_ITEM(sequence, 3); 
+            __pyx_t_5 = PyTuple_GET_ITEM(sequence, 4); 
+            __pyx_t_9 = PyTuple_GET_ITEM(sequence, 5); 
+            __pyx_t_13 = PyTuple_GET_ITEM(sequence, 6); 
+            __pyx_t_20 = PyTuple_GET_ITEM(sequence, 7); 
+          } else {
+            __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_12 = PyList_GET_ITEM(sequence, 1); 
+            __pyx_t_11 = PyList_GET_ITEM(sequence, 2); 
+            __pyx_t_10 = PyList_GET_ITEM(sequence, 3); 
+            __pyx_t_5 = PyList_GET_ITEM(sequence, 4); 
+            __pyx_t_9 = PyList_GET_ITEM(sequence, 5); 
+            __pyx_t_13 = PyList_GET_ITEM(sequence, 6); 
+            __pyx_t_20 = PyList_GET_ITEM(sequence, 7); 
+          }
+          __Pyx_INCREF(__pyx_t_4);
+          __Pyx_INCREF(__pyx_t_12);
+          __Pyx_INCREF(__pyx_t_11);
+          __Pyx_INCREF(__pyx_t_10);
+          __Pyx_INCREF(__pyx_t_5);
+          __Pyx_INCREF(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_13);
+          __Pyx_INCREF(__pyx_t_20);
+          #else
+          {
+            Py_ssize_t i;
+            PyObject** temps[8] = {&__pyx_t_4,&__pyx_t_12,&__pyx_t_11,&__pyx_t_10,&__pyx_t_5,&__pyx_t_9,&__pyx_t_13,&__pyx_t_20};
+            for (i=0; i < 8; i++) {
+              PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 338, __pyx_L1_error)
+              __Pyx_GOTREF(item);
+              *(temps[i]) = item;
+            }
+          }
+          #endif
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          PyObject** temps[8] = {&__pyx_t_4,&__pyx_t_12,&__pyx_t_11,&__pyx_t_10,&__pyx_t_5,&__pyx_t_9,&__pyx_t_13,&__pyx_t_20};
+          __pyx_t_21 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 338, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_18 = Py_TYPE(__pyx_t_21)->tp_iternext;
+          for (index=0; index < 8; index++) {
+            PyObject* item = __pyx_t_18(__pyx_t_21); if (unlikely(!item)) goto __pyx_L19_unpacking_failed;
+            __Pyx_GOTREF(item);
+            *(temps[index]) = item;
+          }
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_21), 8) < 0) __PYX_ERR(0, 338, __pyx_L1_error)
+          __pyx_t_18 = NULL;
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          goto __pyx_L20_unpacking_done;
+          __pyx_L19_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __pyx_t_18 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 338, __pyx_L1_error)
+          __pyx_L20_unpacking_done:;
+        }
+        __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_is_stack, __pyx_t_4);
+        __pyx_t_4 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_12);
+        __pyx_t_12 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_11);
+        __pyx_t_11 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_10);
+        __pyx_t_10 = 0;
+        __pyx_v_x0 = __pyx_t_16;
+        __pyx_v_y0 = __pyx_t_15;
+        __pyx_v_z0 = __pyx_t_14;
+        __Pyx_XDECREF_SET(__pyx_v_pts3d, __pyx_t_20);
+        __pyx_t_20 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":339
+ *             if sec.hoc_internal_name() in neuron._sec_db:
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]
+ *                 if not is_stack:             # <<<<<<<<<<<<<<
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ */
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_is_stack); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
+        __pyx_t_2 = ((!__pyx_t_3) != 0);
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":340
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]
+ *                 if not is_stack:
+ *                     shift = []             # <<<<<<<<<<<<<<
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ *                         shift.append((sec.x3d(i) - orig_x,
+ */
+          __pyx_t_17 = PyList_New(0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 340, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_XDECREF_SET(__pyx_v_shift, ((PyObject*)__pyx_t_17));
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":341
+ *                 if not is_stack:
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):             # <<<<<<<<<<<<<<
+ *                         shift.append((sec.x3d(i) - orig_x,
+ *                                       sec.y3d(i) - orig_y,
+ */
+          __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_n3d); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_13 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_20);
+            if (likely(__pyx_t_13)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_20, function);
+            }
+          }
+          __pyx_t_17 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+          if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = __Pyx_PyInt_SubtractObjC(__pyx_t_17, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = PyList_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_INCREF(__pyx_int_0);
+          __Pyx_GIVEREF(__pyx_int_0);
+          PyList_SET_ITEM(__pyx_t_17, 0, __pyx_int_0);
+          __Pyx_GIVEREF(__pyx_t_20);
+          PyList_SET_ITEM(__pyx_t_17, 1, __pyx_t_20);
+          __pyx_t_20 = 0;
+          __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_GIVEREF(__pyx_t_17);
+          PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_17);
+          __Pyx_INCREF(__pyx_v_pts3d);
+          __Pyx_GIVEREF(__pyx_v_pts3d);
+          PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_v_pts3d);
+          __pyx_t_17 = 0;
+          __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_20, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (likely(PyList_CheckExact(__pyx_t_17)) || PyTuple_CheckExact(__pyx_t_17)) {
+            __pyx_t_20 = __pyx_t_17; __Pyx_INCREF(__pyx_t_20); __pyx_t_22 = 0;
+            __pyx_t_23 = NULL;
+          } else {
+            __pyx_t_22 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 341, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_23 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 341, __pyx_L1_error)
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          for (;;) {
+            if (likely(!__pyx_t_23)) {
+              if (likely(PyList_CheckExact(__pyx_t_20))) {
+                if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_20)) break;
+                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+                __pyx_t_17 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 341, __pyx_L1_error)
+                #else
+                __pyx_t_17 = PySequence_ITEM(__pyx_t_20, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                #endif
+              } else {
+                if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_20)) break;
+                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+                __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 341, __pyx_L1_error)
+                #else
+                __pyx_t_17 = PySequence_ITEM(__pyx_t_20, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                #endif
+              }
+            } else {
+              __pyx_t_17 = __pyx_t_23(__pyx_t_20);
+              if (unlikely(!__pyx_t_17)) {
+                PyObject* exc_type = PyErr_Occurred();
+                if (exc_type) {
+                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                  else __PYX_ERR(0, 341, __pyx_L1_error)
+                }
+                break;
+              }
+              __Pyx_GOTREF(__pyx_t_17);
+            }
+            if ((likely(PyTuple_CheckExact(__pyx_t_17))) || (PyList_CheckExact(__pyx_t_17))) {
+              PyObject* sequence = __pyx_t_17;
+              Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+              if (unlikely(size != 2)) {
+                if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+                else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+                __PYX_ERR(0, 341, __pyx_L1_error)
+              }
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              if (likely(PyTuple_CheckExact(sequence))) {
+                __pyx_t_13 = PyTuple_GET_ITEM(sequence, 0); 
+                __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); 
+              } else {
+                __pyx_t_13 = PyList_GET_ITEM(sequence, 0); 
+                __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
+              }
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(__pyx_t_9);
+              #else
+              __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            } else {
+              Py_ssize_t index = -1;
+              __pyx_t_5 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __pyx_t_18 = Py_TYPE(__pyx_t_5)->tp_iternext;
+              index = 0; __pyx_t_13 = __pyx_t_18(__pyx_t_5); if (unlikely(!__pyx_t_13)) goto __pyx_L24_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_13);
+              index = 1; __pyx_t_9 = __pyx_t_18(__pyx_t_5); if (unlikely(!__pyx_t_9)) goto __pyx_L24_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_9);
+              if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_5), 2) < 0) __PYX_ERR(0, 341, __pyx_L1_error)
+              __pyx_t_18 = NULL;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              goto __pyx_L25_unpacking_done;
+              __pyx_L24_unpacking_failed:;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __pyx_t_18 = NULL;
+              if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+              __PYX_ERR(0, 341, __pyx_L1_error)
+              __pyx_L25_unpacking_done:;
+            }
+            __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __pyx_v_i = __pyx_t_8;
+            if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
+              PyObject* sequence = __pyx_t_9;
+              Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+              if (unlikely(size != 3)) {
+                if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+                else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+                __PYX_ERR(0, 341, __pyx_L1_error)
+              }
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              if (likely(PyTuple_CheckExact(sequence))) {
+                __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+                __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
+                __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); 
+              } else {
+                __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+                __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
+                __pyx_t_11 = PyList_GET_ITEM(sequence, 2); 
+              }
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_11);
+              #else
+              __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              __pyx_t_11 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_11);
+              #endif
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            } else {
+              Py_ssize_t index = -1;
+              __pyx_t_12 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 341, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_12);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __pyx_t_18 = Py_TYPE(__pyx_t_12)->tp_iternext;
+              index = 0; __pyx_t_5 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_5)) goto __pyx_L26_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_5);
+              index = 1; __pyx_t_10 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L26_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_10);
+              index = 2; __pyx_t_11 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_11)) goto __pyx_L26_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_11);
+              if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_12), 3) < 0) __PYX_ERR(0, 341, __pyx_L1_error)
+              __pyx_t_18 = NULL;
+              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+              goto __pyx_L27_unpacking_done;
+              __pyx_L26_unpacking_failed:;
+              __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+              __pyx_t_18 = NULL;
+              if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+              __PYX_ERR(0, 341, __pyx_L1_error)
+              __pyx_L27_unpacking_done:;
+            }
+            __Pyx_XDECREF_SET(__pyx_v_orig_x, __pyx_t_5);
+            __pyx_t_5 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_orig_y, __pyx_t_10);
+            __pyx_t_10 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_orig_z, __pyx_t_11);
+            __pyx_t_11 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":342
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ *                         shift.append((sec.x3d(i) - orig_x,             # <<<<<<<<<<<<<<
+ *                                       sec.y3d(i) - orig_y,
+ *                                       sec.z3d(i) - orig_z))
+ */
+            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_x3d); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_11 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+              __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+              if (likely(__pyx_t_11)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+                __Pyx_INCREF(__pyx_t_11);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_9, function);
+              }
+            }
+            __pyx_t_17 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_11, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_13);
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __pyx_t_9 = PyNumber_Subtract(__pyx_t_17, __pyx_v_orig_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":343
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ *                         shift.append((sec.x3d(i) - orig_x,
+ *                                       sec.y3d(i) - orig_y,             # <<<<<<<<<<<<<<
+ *                                       sec.z3d(i) - orig_z))
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:
+ */
+            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_y3d); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_10 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
+              __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13);
+              if (likely(__pyx_t_10)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+                __Pyx_INCREF(__pyx_t_10);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_13, function);
+              }
+            }
+            __pyx_t_17 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_11);
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __pyx_t_13 = PyNumber_Subtract(__pyx_t_17, __pyx_v_orig_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":344
+ *                         shift.append((sec.x3d(i) - orig_x,
+ *                                       sec.y3d(i) - orig_y,
+ *                                       sec.z3d(i) - orig_z))             # <<<<<<<<<<<<<<
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")
+ */
+            __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_z3d); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 344, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 344, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_5 = NULL;
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_11);
+              if (likely(__pyx_t_5)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                __Pyx_INCREF(__pyx_t_5);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_11, function);
+              }
+            }
+            __pyx_t_17 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_10);
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 344, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __pyx_t_11 = PyNumber_Subtract(__pyx_t_17, __pyx_v_orig_z); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 344, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":342
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ *                         shift.append((sec.x3d(i) - orig_x,             # <<<<<<<<<<<<<<
+ *                                       sec.y3d(i) - orig_y,
+ *                                       sec.z3d(i) - orig_z))
+ */
+            __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_9);
+            PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_9);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_11);
+            __pyx_t_9 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_shift, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":341
+ *                 if not is_stack:
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):             # <<<<<<<<<<<<<<
+ *                         shift.append((sec.x3d(i) - orig_x,
+ *                                       sec.y3d(i) - orig_y,
+ */
+          }
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":345
+ *                                       sec.y3d(i) - orig_y,
+ *                                       sec.z3d(i) - orig_z))
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:             # <<<<<<<<<<<<<<
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")
+ *                     sx, sy, sz = shift[0]
+ */
+          __pyx_t_20 = PyList_New(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_17 = PySequence_Tuple(__pyx_v_shift); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_17, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) {
+            __pyx_t_17 = __pyx_t_11; __Pyx_INCREF(__pyx_t_17); __pyx_t_22 = 0;
+            __pyx_t_23 = NULL;
+          } else {
+            __pyx_t_22 = -1; __pyx_t_17 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_23 = Py_TYPE(__pyx_t_17)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 345, __pyx_L1_error)
+          }
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          for (;;) {
+            if (likely(!__pyx_t_23)) {
+              if (likely(PyList_CheckExact(__pyx_t_17))) {
+                if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_17)) break;
+                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+                __pyx_t_11 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_22); __Pyx_INCREF(__pyx_t_11); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 345, __pyx_L1_error)
+                #else
+                __pyx_t_11 = PySequence_ITEM(__pyx_t_17, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                #endif
+              } else {
+                if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_17)) break;
+                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+                __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_17, __pyx_t_22); __Pyx_INCREF(__pyx_t_11); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 345, __pyx_L1_error)
+                #else
+                __pyx_t_11 = PySequence_ITEM(__pyx_t_17, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                #endif
+              }
+            } else {
+              __pyx_t_11 = __pyx_t_23(__pyx_t_17);
+              if (unlikely(!__pyx_t_11)) {
+                PyObject* exc_type = PyErr_Occurred();
+                if (exc_type) {
+                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                  else __PYX_ERR(0, 345, __pyx_L1_error)
+                }
+                break;
+              }
+              __Pyx_GOTREF(__pyx_t_11);
+            }
+            if ((likely(PyTuple_CheckExact(__pyx_t_11))) || (PyList_CheckExact(__pyx_t_11))) {
+              PyObject* sequence = __pyx_t_11;
+              Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+              if (unlikely(size != 2)) {
+                if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+                else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+                __PYX_ERR(0, 345, __pyx_L1_error)
+              }
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              if (likely(PyTuple_CheckExact(sequence))) {
+                __pyx_t_13 = PyTuple_GET_ITEM(sequence, 0); 
+                __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); 
+              } else {
+                __pyx_t_13 = PyList_GET_ITEM(sequence, 0); 
+                __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
+              }
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(__pyx_t_9);
+              #else
+              __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 345, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 345, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            } else {
+              Py_ssize_t index = -1;
+              __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 345, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __pyx_t_18 = Py_TYPE(__pyx_t_10)->tp_iternext;
+              index = 0; __pyx_t_13 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_13)) goto __pyx_L31_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_13);
+              index = 1; __pyx_t_9 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L31_unpacking_failed;
+              __Pyx_GOTREF(__pyx_t_9);
+              if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_10), 2) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
+              __pyx_t_18 = NULL;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              goto __pyx_L32_unpacking_done;
+              __pyx_L31_unpacking_failed:;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              __pyx_t_18 = NULL;
+              if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+              __PYX_ERR(0, 345, __pyx_L1_error)
+              __pyx_L32_unpacking_done:;
+            }
+            __Pyx_XDECREF_SET(__pyx_v_s0, __pyx_t_13);
+            __pyx_t_13 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_s1, __pyx_t_9);
+            __pyx_t_9 = 0;
+            __pyx_t_11 = PyNumber_Subtract(__pyx_v_s0, __pyx_v_s1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_9 = __Pyx_PyNumber_Absolute(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            if (unlikely(__Pyx_ListComp_Append(__pyx_t_20, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_20); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = PyFloat_FromDouble((__pyx_v_dx / 10.0)); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_9 = PyObject_RichCompare(__pyx_t_17, __pyx_t_20, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 345, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          if (unlikely(__pyx_t_2)) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":346
+ *                                       sec.z3d(i) - orig_z))
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")             # <<<<<<<<<<<<<<
+ *                     sx, sy, sz = shift[0]
+ *                     x = (x + sx).to_python()
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 346, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_17 = NULL;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
+              __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_20);
+              if (likely(__pyx_t_17)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+                __Pyx_INCREF(__pyx_t_17);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_20, function);
+              }
+            }
+            __pyx_t_9 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_17, __pyx_kp_s_soma_rotation_unsupported_for_vo) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_kp_s_soma_rotation_unsupported_for_vo);
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 346, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __PYX_ERR(0, 346, __pyx_L1_error)
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":345
+ *                                       sec.y3d(i) - orig_y,
+ *                                       sec.z3d(i) - orig_z))
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:             # <<<<<<<<<<<<<<
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")
+ *                     sx, sy, sz = shift[0]
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":347
+ *                     if sum([abs(s0 - s1) for s0,s1 in zip(*shift)]) > dx/10.0:
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")
+ *                     sx, sy, sz = shift[0]             # <<<<<<<<<<<<<<
+ *                     x = (x + sx).to_python()
+ *                     y = (y + sy).to_python()
+ */
+          __pyx_t_9 = PyList_GET_ITEM(__pyx_v_shift, 0);
+          __Pyx_INCREF(__pyx_t_9);
+          if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
+            PyObject* sequence = __pyx_t_9;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 347, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            if (likely(PyTuple_CheckExact(sequence))) {
+              __pyx_t_20 = PyTuple_GET_ITEM(sequence, 0); 
+              __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); 
+              __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); 
+            } else {
+              __pyx_t_20 = PyList_GET_ITEM(sequence, 0); 
+              __pyx_t_17 = PyList_GET_ITEM(sequence, 1); 
+              __pyx_t_11 = PyList_GET_ITEM(sequence, 2); 
+            }
+            __Pyx_INCREF(__pyx_t_20);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(__pyx_t_11);
+            #else
+            __pyx_t_20 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 347, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 347, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_11 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 347, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            #endif
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          } else {
+            Py_ssize_t index = -1;
+            __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 347, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __pyx_t_18 = Py_TYPE(__pyx_t_13)->tp_iternext;
+            index = 0; __pyx_t_20 = __pyx_t_18(__pyx_t_13); if (unlikely(!__pyx_t_20)) goto __pyx_L33_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_20);
+            index = 1; __pyx_t_17 = __pyx_t_18(__pyx_t_13); if (unlikely(!__pyx_t_17)) goto __pyx_L33_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_17);
+            index = 2; __pyx_t_11 = __pyx_t_18(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L33_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_11);
+            if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_13), 3) < 0) __PYX_ERR(0, 347, __pyx_L1_error)
+            __pyx_t_18 = NULL;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            goto __pyx_L34_unpacking_done;
+            __pyx_L33_unpacking_failed:;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __pyx_t_18 = NULL;
+            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+            __PYX_ERR(0, 347, __pyx_L1_error)
+            __pyx_L34_unpacking_done:;
+          }
+          __Pyx_XDECREF_SET(__pyx_v_sx, __pyx_t_20);
+          __pyx_t_20 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_sy, __pyx_t_17);
+          __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_sz, __pyx_t_11);
+          __pyx_t_11 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":348
+ *                         raise RxDException("soma rotation unsupported for voxelized somas")
+ *                     sx, sy, sz = shift[0]
+ *                     x = (x + sx).to_python()             # <<<<<<<<<<<<<<
+ *                     y = (y + sy).to_python()
+ *                     z = (z + sz).to_python()
+ */
+          __pyx_t_11 = PyNumber_Add(__pyx_v_x, __pyx_v_sx); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 348, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_to_python); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 348, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 348, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF_SET(__pyx_v_x, __pyx_t_9);
+          __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":349
+ *                     sx, sy, sz = shift[0]
+ *                     x = (x + sx).to_python()
+ *                     y = (y + sy).to_python()             # <<<<<<<<<<<<<<
+ *                     z = (z + sz).to_python()
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0 + sx, y0 + sy, z0 + sz, n_soma_step)
+ */
+          __pyx_t_17 = PyNumber_Add(__pyx_v_y, __pyx_v_sy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 349, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_to_python); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 349, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_11);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_11, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_11);
+          __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 349, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_9);
+          __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":350
+ *                     x = (x + sx).to_python()
+ *                     y = (y + sy).to_python()
+ *                     z = (z + sz).to_python()             # <<<<<<<<<<<<<<
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0 + sx, y0 + sy, z0 + sz, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0 + sz)
+ */
+          __pyx_t_11 = PyNumber_Add(__pyx_v_z, __pyx_v_sz); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 350, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_to_python); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 350, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 350, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF_SET(__pyx_v_z, __pyx_t_9);
+          __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":351
+ *                     y = (y + sy).to_python()
+ *                     z = (z + sz).to_python()
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0 + sx, y0 + sy, z0 + sz, n_soma_step)             # <<<<<<<<<<<<<<
+ *                     soma_secs[sec] = (f_pts, z0 + sz)
+ *                     soma_segment_dict.update(new_objects)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_soma_objects); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_20 = PyNumber_Add(__pyx_t_11, __pyx_v_sx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_13 = PyNumber_Add(__pyx_t_11, __pyx_v_sy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_10 = PyNumber_Add(__pyx_t_11, __pyx_v_sz); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_n_soma_step); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_5 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_sec, __pyx_t_20, __pyx_t_13, __pyx_t_10, __pyx_t_11};
+            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_sec, __pyx_t_20, __pyx_t_13, __pyx_t_10, __pyx_t_11};
+            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_12 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_12);
+            if (__pyx_t_5) {
+              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5); __pyx_t_5 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_x);
+            __Pyx_GIVEREF(__pyx_v_x);
+            PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_8, __pyx_v_x);
+            __Pyx_INCREF(__pyx_v_y);
+            __Pyx_GIVEREF(__pyx_v_y);
+            PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_v_y);
+            __Pyx_INCREF(__pyx_v_z);
+            __Pyx_GIVEREF(__pyx_v_z);
+            PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_8, __pyx_v_z);
+            __Pyx_INCREF(__pyx_v_sec);
+            __Pyx_GIVEREF(__pyx_v_sec);
+            PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_8, __pyx_v_sec);
+            __Pyx_GIVEREF(__pyx_t_20);
+            PyTuple_SET_ITEM(__pyx_t_12, 4+__pyx_t_8, __pyx_t_20);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_12, 5+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_12, 6+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_12, 7+__pyx_t_8, __pyx_t_11);
+            __pyx_t_20 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_12, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
+            PyObject* sequence = __pyx_t_9;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 2)) {
+              if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 351, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            if (likely(PyTuple_CheckExact(sequence))) {
+              __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0); 
+              __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1); 
+            } else {
+              __pyx_t_17 = PyList_GET_ITEM(sequence, 0); 
+              __pyx_t_12 = PyList_GET_ITEM(sequence, 1); 
+            }
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(__pyx_t_12);
+            #else
+            __pyx_t_17 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_12);
+            #endif
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          } else {
+            Py_ssize_t index = -1;
+            __pyx_t_11 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 351, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __pyx_t_18 = Py_TYPE(__pyx_t_11)->tp_iternext;
+            index = 0; __pyx_t_17 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_17)) goto __pyx_L35_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_17);
+            index = 1; __pyx_t_12 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_12)) goto __pyx_L35_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_12);
+            if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_11), 2) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
+            __pyx_t_18 = NULL;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            goto __pyx_L36_unpacking_done;
+            __pyx_L35_unpacking_failed:;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __pyx_t_18 = NULL;
+            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+            __PYX_ERR(0, 351, __pyx_L1_error)
+            __pyx_L36_unpacking_done:;
+          }
+          if (!(likely(PyList_CheckExact(__pyx_t_12))||((__pyx_t_12) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_12)->tp_name), 0))) __PYX_ERR(0, 351, __pyx_L1_error)
+          __Pyx_XDECREF_SET(__pyx_v_new_objects, __pyx_t_17);
+          __pyx_t_17 = 0;
+          __Pyx_DECREF_SET(__pyx_v_f_pts, ((PyObject*)__pyx_t_12));
+          __pyx_t_12 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":352
+ *                     z = (z + sz).to_python()
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0 + sx, y0 + sy, z0 + sz, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0 + sz)             # <<<<<<<<<<<<<<
+ *                     soma_segment_dict.update(new_objects)
+ *                 else:
+ */
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 352, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_12 = PyNumber_Add(__pyx_t_9, __pyx_v_sz); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 352, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 352, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_INCREF(__pyx_v_f_pts);
+          __Pyx_GIVEREF(__pyx_v_f_pts);
+          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_f_pts);
+          __Pyx_GIVEREF(__pyx_t_12);
+          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_12);
+          __pyx_t_12 = 0;
+          if (unlikely(PyDict_SetItem(__pyx_v_soma_secs, __pyx_v_sec, __pyx_t_9) < 0)) __PYX_ERR(0, 352, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":353
+ *                     new_objects, f_pts = soma_objects(x, y, z, sec, x0 + sx, y0 + sy, z0 + sz, n_soma_step)
+ *                     soma_secs[sec] = (f_pts, z0 + sz)
+ *                     soma_segment_dict.update(new_objects)             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     import warnings
+ */
+          __pyx_t_9 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_soma_segment_dict, __pyx_v_new_objects); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 353, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":339
+ *             if sec.hoc_internal_name() in neuron._sec_db:
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]
+ *                 if not is_stack:             # <<<<<<<<<<<<<<
+ *                     shift = []
+ *                     for i, (orig_x, orig_y, orig_z) in zip([0, sec.n3d()-1], pts3d):
+ */
+          goto __pyx_L21;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":355
+ *                     soma_segment_dict.update(new_objects)
+ *                 else:
+ *                     import warnings             # <<<<<<<<<<<<<<
+ *                     warnings.warn('soma stack ignored; using centroid instead')
+ *                     branches.append(sec)
+ */
+        /*else*/ {
+          __pyx_t_9 = __Pyx_Import(__pyx_n_s_warnings, 0, -1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 355, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_XDECREF_SET(__pyx_v_warnings, __pyx_t_9);
+          __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":356
+ *                 else:
+ *                     import warnings
+ *                     warnings.warn('soma stack ignored; using centroid instead')             # <<<<<<<<<<<<<<
+ *                     branches.append(sec)
+ *                     parent_sec_name.append(None)
+ */
+          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_warnings, __pyx_n_s_warn); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 356, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __pyx_t_17 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_12);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_12, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_17, __pyx_kp_s_soma_stack_ignored_using_centroi) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_kp_s_soma_stack_ignored_using_centroi);
+          __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 356, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":357
+ *                     import warnings
+ *                     warnings.warn('soma stack ignored; using centroid instead')
+ *                     branches.append(sec)             # <<<<<<<<<<<<<<
+ *                     parent_sec_name.append(None)
+ *             else:
+ */
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_branches, __pyx_v_sec); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 357, __pyx_L1_error)
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":358
+ *                     warnings.warn('soma stack ignored; using centroid instead')
+ *                     branches.append(sec)
+ *                     parent_sec_name.append(None)             # <<<<<<<<<<<<<<
+ *             else:
+ *                 branches.append(sec)
+ */
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_parent_sec_name, Py_None); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 358, __pyx_L1_error)
+        }
+        __pyx_L21:;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":337
+ *         for sec in source:
+ *             # TODO: make this more general (support for 3D contour outline)
+ *             if sec.hoc_internal_name() in neuron._sec_db:             # <<<<<<<<<<<<<<
+ *                 is_stack, x, y, z, x0, y0, z0, pts3d = neuron._sec_db[sec.hoc_internal_name()]
+ *                 if not is_stack:
+ */
+        goto __pyx_L18;
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":360
+ *                     parent_sec_name.append(None)
+ *             else:
+ *                 branches.append(sec)             # <<<<<<<<<<<<<<
+ *                 if sec.trueparentseg():
+ *                     parent_sec_name.append(sec.trueparentseg().sec)
+ */
+      /*else*/ {
+        __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_branches, __pyx_v_sec); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 360, __pyx_L1_error)
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":361
+ *             else:
+ *                 branches.append(sec)
+ *                 if sec.trueparentseg():             # <<<<<<<<<<<<<<
+ *                     parent_sec_name.append(sec.trueparentseg().sec)
+ *                 else:
+ */
+        __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_trueparentseg); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 361, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_12);
+        __pyx_t_17 = NULL;
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
+          __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_12);
+          if (likely(__pyx_t_17)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_12, function);
+          }
+        }
+        __pyx_t_9 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_12);
+        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+        if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 361, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+        __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 361, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":362
+ *                 branches.append(sec)
+ *                 if sec.trueparentseg():
+ *                     parent_sec_name.append(sec.trueparentseg().sec)             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     parent_sec_name.append(None)
+ */
+          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_trueparentseg); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 362, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __pyx_t_17 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_12);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_12, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_12);
+          __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 362, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+          __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_sec); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 362, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_12);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_parent_sec_name, __pyx_t_12); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 362, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":361
+ *             else:
+ *                 branches.append(sec)
+ *                 if sec.trueparentseg():             # <<<<<<<<<<<<<<
+ *                     parent_sec_name.append(sec.trueparentseg().sec)
+ *                 else:
+ */
+          goto __pyx_L37;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":364
+ *                     parent_sec_name.append(sec.trueparentseg().sec)
+ *                 else:
+ *                     parent_sec_name.append(None)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+        /*else*/ {
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_parent_sec_name, Py_None); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 364, __pyx_L1_error)
+        }
+        __pyx_L37:;
+      }
+      __pyx_L18:;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":335
+ *         h.define_shape()
+ *         branches = []
+ *         for sec in source:             # <<<<<<<<<<<<<<
+ *             # TODO: make this more general (support for 3D contour outline)
+ *             if sec.hoc_internal_name() in neuron._sec_db:
+ */
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":372
+ *     #
+ *     #####################################################################
+ *     cdef dict diam_corrections = {None: None}             # <<<<<<<<<<<<<<
+ *     cdef dict clip_copying = {}
+ * 
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 372, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_t_1, Py_None, Py_None) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
+  __pyx_v_diam_corrections = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":373
+ *     #####################################################################
+ *     cdef dict diam_corrections = {None: None}
+ *     cdef dict clip_copying = {}             # <<<<<<<<<<<<<<
+ * 
+ *     while diam_corrections:
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 373, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_clip_copying = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":375
+ *     cdef dict clip_copying = {}
+ * 
+ *     while diam_corrections:             # <<<<<<<<<<<<<<
+ *         all_cones = []
+ *         pts_cones_db = {}
+ */
+  while (1) {
+    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_diam_corrections); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 375, __pyx_L1_error)
+    if (!__pyx_t_2) break;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":376
+ * 
+ *     while diam_corrections:
+ *         all_cones = []             # <<<<<<<<<<<<<<
+ *         pts_cones_db = {}
+ *         diam_db = {}
+ */
+    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_all_cones, ((PyObject*)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":377
+ *     while diam_corrections:
+ *         all_cones = []
+ *         pts_cones_db = {}             # <<<<<<<<<<<<<<
+ *         diam_db = {}
+ * 
+ */
+    __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_pts_cones_db, ((PyObject*)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":378
+ *         all_cones = []
+ *         pts_cones_db = {}
+ *         diam_db = {}             # <<<<<<<<<<<<<<
+ * 
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):
+ */
+    __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_XDECREF_SET(__pyx_v_diam_db, ((PyObject*)__pyx_t_1));
+    __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":380
+ *         diam_db = {}
+ * 
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):             # <<<<<<<<<<<<<<
+ *             if source_is_import3d:
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]
+ */
+    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_enumerate, __pyx_v_branches); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 380, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1);
+    __Pyx_INCREF(__pyx_v_parent_sec_name);
+    __Pyx_GIVEREF(__pyx_v_parent_sec_name);
+    PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_parent_sec_name);
+    __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+      __pyx_t_12 = __pyx_t_1; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0;
+      __pyx_t_7 = NULL;
+    } else {
+      __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 380, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      __pyx_t_7 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 380, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_7)) {
+        if (likely(PyList_CheckExact(__pyx_t_12))) {
+          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 380, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        } else {
+          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 380, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        }
+      } else {
+        __pyx_t_1 = __pyx_t_7(__pyx_t_12);
+        if (unlikely(!__pyx_t_1)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 380, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_1);
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
+        PyObject* sequence = __pyx_t_1;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 2)) {
+          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 380, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); 
+        } else {
+          __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_17 = PyList_GET_ITEM(sequence, 1); 
+        }
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_17);
+        #else
+        __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        #endif
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __pyx_t_18 = Py_TYPE(__pyx_t_11)->tp_iternext;
+        index = 0; __pyx_t_9 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L42_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_9);
+        index = 1; __pyx_t_17 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_17)) goto __pyx_L42_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_17);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_11), 2) < 0) __PYX_ERR(0, 380, __pyx_L1_error)
+        __pyx_t_18 = NULL;
+        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        goto __pyx_L43_unpacking_done;
+        __pyx_L42_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        __pyx_t_18 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 380, __pyx_L1_error)
+        __pyx_L43_unpacking_done:;
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
+        PyObject* sequence = __pyx_t_9;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 2)) {
+          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 380, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
+        } else {
+          __pyx_t_11 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
+        }
+        __Pyx_INCREF(__pyx_t_11);
+        __Pyx_INCREF(__pyx_t_10);
+        #else
+        __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        #endif
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_13 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 380, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_18 = Py_TYPE(__pyx_t_13)->tp_iternext;
+        index = 0; __pyx_t_11 = __pyx_t_18(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L44_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_11);
+        index = 1; __pyx_t_10 = __pyx_t_18(__pyx_t_13); if (unlikely(!__pyx_t_10)) goto __pyx_L44_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_10);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_13), 2) < 0) __PYX_ERR(0, 380, __pyx_L1_error)
+        __pyx_t_18 = NULL;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        goto __pyx_L45_unpacking_done;
+        __pyx_L44_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_18 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 380, __pyx_L1_error)
+        __pyx_L45_unpacking_done:;
+      }
+      __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_11); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 380, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __pyx_v_k = __pyx_t_8;
+      __Pyx_XDECREF_SET(__pyx_v_branch, __pyx_t_10);
+      __pyx_t_10 = 0;
+      __Pyx_XDECREF_SET(__pyx_v_psec, __pyx_t_17);
+      __pyx_t_17 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":381
+ * 
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):
+ *             if source_is_import3d:             # <<<<<<<<<<<<<<
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]
+ *                 d = branch.d.to_python()
+ */
+      __pyx_t_2 = (__pyx_v_source_is_import3d != 0);
+      if (__pyx_t_2) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":382
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):
+ *             if source_is_import3d:
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]             # <<<<<<<<<<<<<<
+ *                 d = branch.d.to_python()
+ *             else:
+ */
+        __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 382, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        for (__pyx_t_8 = 0; __pyx_t_8 < 3; __pyx_t_8+=1) {
+          __pyx_v_i = __pyx_t_8;
+          __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_raw); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_getrow); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_5 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_20);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_20, function);
+            }
+          }
+          __pyx_t_11 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_20, __pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_13);
+          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_to_python); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_20);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_20, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = NULL;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
+            __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_10);
+            if (likely(__pyx_t_20)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_20);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+            }
+          }
+          __pyx_t_17 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_20, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
+          __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_17))) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        }
+        if (1) {
+          PyObject* sequence = __pyx_t_1;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 3)) {
+            if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 382, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_17 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
+          __pyx_t_9 = PyList_GET_ITEM(sequence, 2); 
+          __Pyx_INCREF(__pyx_t_17);
+          __Pyx_INCREF(__pyx_t_10);
+          __Pyx_INCREF(__pyx_t_9);
+          #else
+          __pyx_t_17 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_9 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          #endif
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        }
+        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_17);
+        __pyx_t_17 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_10);
+        __pyx_t_10 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_9);
+        __pyx_t_9 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":383
+ *             if source_is_import3d:
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]
+ *                 d = branch.d.to_python()             # <<<<<<<<<<<<<<
+ *             else:
+ *                 #################### modified from geometry.py ##################
+ */
+        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_d); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 383, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_to_python); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 383, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_9 = NULL;
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
+          if (likely(__pyx_t_9)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+            __Pyx_INCREF(__pyx_t_9);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_10, function);
+          }
+        }
+        __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_d, __pyx_t_1);
+        __pyx_t_1 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":381
+ * 
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):
+ *             if source_is_import3d:             # <<<<<<<<<<<<<<
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]
+ *                 d = branch.d.to_python()
+ */
+        goto __pyx_L46;
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":387
+ *                 #################### modified from geometry.py ##################
+ *                 # make sure cones split across electrical segments
+ *                 if relevant_pts:             # <<<<<<<<<<<<<<
+ *                     rng = relevant_pts[k]
+ *                 else:
+ */
+      /*else*/ {
+        __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_relevant_pts); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 387, __pyx_L1_error)
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":388
+ *                 # make sure cones split across electrical segments
+ *                 if relevant_pts:
+ *                     rng = relevant_pts[k]             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     rng = range(branch.n3d())
+ */
+          __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_relevant_pts, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_XDECREF_SET(__pyx_v_rng, __pyx_t_1);
+          __pyx_t_1 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":387
+ *                 #################### modified from geometry.py ##################
+ *                 # make sure cones split across electrical segments
+ *                 if relevant_pts:             # <<<<<<<<<<<<<<
+ *                     rng = relevant_pts[k]
+ *                 else:
+ */
+          goto __pyx_L49;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":390
+ *                     rng = relevant_pts[k]
+ *                 else:
+ *                     rng = range(branch.n3d())             # <<<<<<<<<<<<<<
+ * 
+ *                 arc3d = ([branch.arc3d(i) for i in rng])
+ */
+        /*else*/ {
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_n3d); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 390, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_9 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
+            if (likely(__pyx_t_9)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_9);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+            }
+          }
+          __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_10);
+          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 390, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_rng, __pyx_t_10);
+          __pyx_t_10 = 0;
+        }
+        __pyx_L49:;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":392
+ *                     rng = range(branch.n3d())
+ * 
+ *                 arc3d = ([branch.arc3d(i) for i in rng])             # <<<<<<<<<<<<<<
+ *                 diam3d = ([branch.diam3d(i) for i in rng])
+ *                 x3d = ([branch.x3d(i) for i in rng])
+ */
+        __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 392, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        if (likely(PyList_CheckExact(__pyx_v_rng)) || PyTuple_CheckExact(__pyx_v_rng)) {
+          __pyx_t_1 = __pyx_v_rng; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 392, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 392, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 392, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 392, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            }
+          } else {
+            __pyx_t_9 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_9)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 392, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_9);
+          }
+          __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_v_i = __pyx_t_8;
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_arc3d); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 392, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_arc3d, ((PyObject*)__pyx_t_10));
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":393
+ * 
+ *                 arc3d = ([branch.arc3d(i) for i in rng])
+ *                 diam3d = ([branch.diam3d(i) for i in rng])             # <<<<<<<<<<<<<<
+ *                 x3d = ([branch.x3d(i) for i in rng])
+ *                 y3d = ([branch.y3d(i) for i in rng])
+ */
+        __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 393, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        if (likely(PyList_CheckExact(__pyx_v_rng)) || PyTuple_CheckExact(__pyx_v_rng)) {
+          __pyx_t_1 = __pyx_v_rng; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 393, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 393, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 393, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            }
+          } else {
+            __pyx_t_9 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_9)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 393, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_9);
+          }
+          __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_v_i = __pyx_t_8;
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_diam3d); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 393, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_diam3d, ((PyObject*)__pyx_t_10));
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":394
+ *                 arc3d = ([branch.arc3d(i) for i in rng])
+ *                 diam3d = ([branch.diam3d(i) for i in rng])
+ *                 x3d = ([branch.x3d(i) for i in rng])             # <<<<<<<<<<<<<<
+ *                 y3d = ([branch.y3d(i) for i in rng])
+ *                 z3d = ([branch.z3d(i) for i in rng])
+ */
+        __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 394, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        if (likely(PyList_CheckExact(__pyx_v_rng)) || PyTuple_CheckExact(__pyx_v_rng)) {
+          __pyx_t_1 = __pyx_v_rng; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 394, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 394, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 394, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 394, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 394, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            }
+          } else {
+            __pyx_t_9 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_9)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 394, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_9);
+          }
+          __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_v_i = __pyx_t_8;
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_x3d); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 394, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_x3d, ((PyObject*)__pyx_t_10));
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":395
+ *                 diam3d = ([branch.diam3d(i) for i in rng])
+ *                 x3d = ([branch.x3d(i) for i in rng])
+ *                 y3d = ([branch.y3d(i) for i in rng])             # <<<<<<<<<<<<<<
+ *                 z3d = ([branch.z3d(i) for i in rng])
+ * 
+ */
+        __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 395, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        if (likely(PyList_CheckExact(__pyx_v_rng)) || PyTuple_CheckExact(__pyx_v_rng)) {
+          __pyx_t_1 = __pyx_v_rng; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 395, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 395, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 395, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            }
+          } else {
+            __pyx_t_9 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_9)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 395, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_9);
+          }
+          __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_v_i = __pyx_t_8;
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_y3d); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 395, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_y3d, ((PyObject*)__pyx_t_10));
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":396
+ *                 x3d = ([branch.x3d(i) for i in rng])
+ *                 y3d = ([branch.y3d(i) for i in rng])
+ *                 z3d = ([branch.z3d(i) for i in rng])             # <<<<<<<<<<<<<<
+ * 
+ *                 x = numpy.array([])
+ */
+        __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 396, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        if (likely(PyList_CheckExact(__pyx_v_rng)) || PyTuple_CheckExact(__pyx_v_rng)) {
+          __pyx_t_1 = __pyx_v_rng; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_rng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 396, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 396, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 396, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_9); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 396, __pyx_L1_error)
+              #else
+              __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 396, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              #endif
+            }
+          } else {
+            __pyx_t_9 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_9)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 396, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_9);
+          }
+          __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_v_i = __pyx_t_8;
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_z3d); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_20 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_20);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 396, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_z3d, ((PyObject*)__pyx_t_10));
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":398
+ *                 z3d = ([branch.z3d(i) for i in rng])
+ * 
+ *                 x = numpy.array([])             # <<<<<<<<<<<<<<
+ *                 y = numpy.array([])
+ *                 z = numpy.array([])
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_numpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 398, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_17 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+          __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_9);
+          if (likely(__pyx_t_17)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_9, function);
+          }
+        }
+        __pyx_t_10 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_17, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1);
+        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 398, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10);
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":399
+ * 
+ *                 x = numpy.array([])
+ *                 y = numpy.array([])             # <<<<<<<<<<<<<<
+ *                 z = numpy.array([])
+ *                 d = numpy.array([])
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 399, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 399, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_17 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+          __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1);
+          if (likely(__pyx_t_17)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_1, function);
+          }
+        }
+        __pyx_t_10 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_17, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9);
+        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 399, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_10);
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":400
+ *                 x = numpy.array([])
+ *                 y = numpy.array([])
+ *                 z = numpy.array([])             # <<<<<<<<<<<<<<
+ *                 d = numpy.array([])
+ * 
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_numpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 400, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_17 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+          __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_9);
+          if (likely(__pyx_t_17)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_9, function);
+          }
+        }
+        __pyx_t_10 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_17, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_1);
+        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 400, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_10);
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":401
+ *                 y = numpy.array([])
+ *                 z = numpy.array([])
+ *                 d = numpy.array([])             # <<<<<<<<<<<<<<
+ * 
+ *                 dx = branch.L / branch.nseg
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 401, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 401, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_17 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+          __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1);
+          if (likely(__pyx_t_17)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+            __Pyx_INCREF(__pyx_t_17);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_1, function);
+          }
+        }
+        __pyx_t_10 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_17, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9);
+        __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 401, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_d, __pyx_t_10);
+        __pyx_t_10 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":403
+ *                 d = numpy.array([])
+ * 
+ *                 dx = branch.L / branch.nseg             # <<<<<<<<<<<<<<
+ *                 for iseg, seg in enumerate(branch):
+ *                     # get a list of all pts in the segment, including end points
+ */
+        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_L); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 403, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_nseg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_9 = __Pyx_PyNumber_Divide(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 403, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 403, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_v_dx = __pyx_t_14;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":404
+ * 
+ *                 dx = branch.L / branch.nseg
+ *                 for iseg, seg in enumerate(branch):             # <<<<<<<<<<<<<<
+ *                     # get a list of all pts in the segment, including end points
+ *                     lo = iseg * dx
+ */
+        __Pyx_INCREF(__pyx_int_0);
+        __pyx_t_9 = __pyx_int_0;
+        if (likely(PyList_CheckExact(__pyx_v_branch)) || PyTuple_CheckExact(__pyx_v_branch)) {
+          __pyx_t_1 = __pyx_v_branch; __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = 0;
+          __pyx_t_23 = NULL;
+        } else {
+          __pyx_t_22 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_branch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_23 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 404, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_23)) {
+            if (likely(PyList_CheckExact(__pyx_t_1))) {
+              if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_10); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 404, __pyx_L1_error)
+              #else
+              __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 404, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              #endif
+            } else {
+              if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_22); __Pyx_INCREF(__pyx_t_10); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 404, __pyx_L1_error)
+              #else
+              __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 404, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              #endif
+            }
+          } else {
+            __pyx_t_10 = __pyx_t_23(__pyx_t_1);
+            if (unlikely(!__pyx_t_10)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 404, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_10);
+          }
+          __Pyx_XDECREF_SET(__pyx_v_seg, __pyx_t_10);
+          __pyx_t_10 = 0;
+          __Pyx_INCREF(__pyx_t_9);
+          __Pyx_XDECREF_SET(__pyx_v_iseg, __pyx_t_9);
+          __pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_t_9, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 404, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_9);
+          __pyx_t_9 = __pyx_t_10;
+          __pyx_t_10 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":406
+ *                 for iseg, seg in enumerate(branch):
+ *                     # get a list of all pts in the segment, including end points
+ *                     lo = iseg * dx             # <<<<<<<<<<<<<<
+ *                     hi = (iseg + 1) * dx
+ * 
+ */
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 406, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = PyNumber_Multiply(__pyx_v_iseg, __pyx_t_10); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 406, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_lo, __pyx_t_17);
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":407
+ *                     # get a list of all pts in the segment, including end points
+ *                     lo = iseg * dx
+ *                     hi = (iseg + 1) * dx             # <<<<<<<<<<<<<<
+ * 
+ *                     pts = [lo] + [arc for arc in arc3d if lo < arc < hi] + [hi]
+ */
+          __pyx_t_17 = __Pyx_PyInt_AddObjC(__pyx_v_iseg, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 407, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 407, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_20 = PyNumber_Multiply(__pyx_t_17, __pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 407, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_hi, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":409
+ *                     hi = (iseg + 1) * dx
+ * 
+ *                     pts = [lo] + [arc for arc in arc3d if lo < arc < hi] + [hi]             # <<<<<<<<<<<<<<
+ * 
+ *                     diams = numpy.interp(pts, arc3d, diam3d)
+ */
+          __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 409, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_INCREF(__pyx_v_lo);
+          __Pyx_GIVEREF(__pyx_v_lo);
+          PyList_SET_ITEM(__pyx_t_20, 0, __pyx_v_lo);
+          __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 409, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = __pyx_v_arc3d; __Pyx_INCREF(__pyx_t_17); __pyx_t_24 = 0;
+          for (;;) {
+            if (__pyx_t_24 >= PyList_GET_SIZE(__pyx_t_17)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_11 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_24); __Pyx_INCREF(__pyx_t_11); __pyx_t_24++; if (unlikely(0 < 0)) __PYX_ERR(0, 409, __pyx_L1_error)
+            #else
+            __pyx_t_11 = PySequence_ITEM(__pyx_t_17, __pyx_t_24); __pyx_t_24++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 409, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            #endif
+            __Pyx_XDECREF_SET(__pyx_v_arc, __pyx_t_11);
+            __pyx_t_11 = 0;
+            __pyx_t_11 = PyObject_RichCompare(__pyx_v_lo, __pyx_v_arc, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 409, __pyx_L1_error)
+            if (__Pyx_PyObject_IsTrue(__pyx_t_11)) {
+              __Pyx_DECREF(__pyx_t_11);
+              __pyx_t_11 = PyObject_RichCompare(__pyx_v_arc, __pyx_v_hi, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 409, __pyx_L1_error)
+            }
+            __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 409, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            if (__pyx_t_2) {
+              if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_v_arc))) __PYX_ERR(0, 409, __pyx_L1_error)
+            }
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = PyNumber_Add(__pyx_t_20, __pyx_t_10); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 409, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 409, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_INCREF(__pyx_v_hi);
+          __Pyx_GIVEREF(__pyx_v_hi);
+          PyList_SET_ITEM(__pyx_t_10, 0, __pyx_v_hi);
+          __pyx_t_20 = PyNumber_Add(__pyx_t_17, __pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 409, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_pts, ((PyObject*)__pyx_t_20));
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":411
+ *                     pts = [lo] + [arc for arc in arc3d if lo < arc < hi] + [hi]
+ * 
+ *                     diams = numpy.interp(pts, arc3d, diam3d)             # <<<<<<<<<<<<<<
+ *                     xcoords = numpy.interp(pts, arc3d, x3d)
+ *                     ycoords = numpy.interp(pts, arc3d, y3d)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 411, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_interp); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 411, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_10 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_10)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_10);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_diam3d};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 411, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_diam3d};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 411, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          {
+            __pyx_t_11 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 411, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            if (__pyx_t_10) {
+              __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_pts);
+            __Pyx_GIVEREF(__pyx_v_pts);
+            PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_8, __pyx_v_pts);
+            __Pyx_INCREF(__pyx_v_arc3d);
+            __Pyx_GIVEREF(__pyx_v_arc3d);
+            PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_8, __pyx_v_arc3d);
+            __Pyx_INCREF(__pyx_v_diam3d);
+            __Pyx_GIVEREF(__pyx_v_diam3d);
+            PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_8, __pyx_v_diam3d);
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_11, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 411, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_diams, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":412
+ * 
+ *                     diams = numpy.interp(pts, arc3d, diam3d)
+ *                     xcoords = numpy.interp(pts, arc3d, x3d)             # <<<<<<<<<<<<<<
+ *                     ycoords = numpy.interp(pts, arc3d, y3d)
+ *                     zcoords = numpy.interp(pts, arc3d, z3d)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_numpy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_interp); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_11);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_11, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_x3d};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 412, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_x3d};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 412, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          {
+            __pyx_t_10 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 412, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            if (__pyx_t_17) {
+              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_17); __pyx_t_17 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_pts);
+            __Pyx_GIVEREF(__pyx_v_pts);
+            PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_8, __pyx_v_pts);
+            __Pyx_INCREF(__pyx_v_arc3d);
+            __Pyx_GIVEREF(__pyx_v_arc3d);
+            PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_8, __pyx_v_arc3d);
+            __Pyx_INCREF(__pyx_v_x3d);
+            __Pyx_GIVEREF(__pyx_v_x3d);
+            PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_8, __pyx_v_x3d);
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 412, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_xcoords, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":413
+ *                     diams = numpy.interp(pts, arc3d, diam3d)
+ *                     xcoords = numpy.interp(pts, arc3d, x3d)
+ *                     ycoords = numpy.interp(pts, arc3d, y3d)             # <<<<<<<<<<<<<<
+ *                     zcoords = numpy.interp(pts, arc3d, z3d)
+ * 
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_numpy); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 413, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_interp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 413, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_10)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_y3d};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 413, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_11, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_y3d};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 413, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 413, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_11) {
+              __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_11); __pyx_t_11 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_pts);
+            __Pyx_GIVEREF(__pyx_v_pts);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_pts);
+            __Pyx_INCREF(__pyx_v_arc3d);
+            __Pyx_GIVEREF(__pyx_v_arc3d);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_v_arc3d);
+            __Pyx_INCREF(__pyx_v_y3d);
+            __Pyx_GIVEREF(__pyx_v_y3d);
+            PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_8, __pyx_v_y3d);
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_17, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 413, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_ycoords, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":414
+ *                     xcoords = numpy.interp(pts, arc3d, x3d)
+ *                     ycoords = numpy.interp(pts, arc3d, y3d)
+ *                     zcoords = numpy.interp(pts, arc3d, z3d)             # <<<<<<<<<<<<<<
+ * 
+ *                     end = len(pts)-1
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_interp); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_10 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_10)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_10);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_z3d};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 414, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_pts, __pyx_v_arc3d, __pyx_v_z3d};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 414, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+          } else
+          #endif
+          {
+            __pyx_t_11 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 414, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            if (__pyx_t_10) {
+              __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_pts);
+            __Pyx_GIVEREF(__pyx_v_pts);
+            PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_8, __pyx_v_pts);
+            __Pyx_INCREF(__pyx_v_arc3d);
+            __Pyx_GIVEREF(__pyx_v_arc3d);
+            PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_8, __pyx_v_arc3d);
+            __Pyx_INCREF(__pyx_v_z3d);
+            __Pyx_GIVEREF(__pyx_v_z3d);
+            PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_8, __pyx_v_z3d);
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_11, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 414, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_zcoords, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":416
+ *                     zcoords = numpy.interp(pts, arc3d, z3d)
+ * 
+ *                     end = len(pts)-1             # <<<<<<<<<<<<<<
+ *                     if iseg == branch.nseg-1:
+ *                         end = len(pts)
+ */
+          __pyx_t_24 = PyList_GET_SIZE(__pyx_v_pts); if (unlikely(__pyx_t_24 == ((Py_ssize_t)-1))) __PYX_ERR(0, 416, __pyx_L1_error)
+          __pyx_v_end = (__pyx_t_24 - 1);
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":417
+ * 
+ *                     end = len(pts)-1
+ *                     if iseg == branch.nseg-1:             # <<<<<<<<<<<<<<
+ *                         end = len(pts)
+ * 
+ */
+          __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch, __pyx_n_s_nseg); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 417, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_17 = __Pyx_PyInt_SubtractObjC(__pyx_t_20, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 417, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = PyObject_RichCompare(__pyx_v_iseg, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 417, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 417, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":418
+ *                     end = len(pts)-1
+ *                     if iseg == branch.nseg-1:
+ *                         end = len(pts)             # <<<<<<<<<<<<<<
+ * 
+ *                     x = numpy.append(x, xcoords[0:end])
+ */
+            __pyx_t_24 = PyList_GET_SIZE(__pyx_v_pts); if (unlikely(__pyx_t_24 == ((Py_ssize_t)-1))) __PYX_ERR(0, 418, __pyx_L1_error)
+            __pyx_v_end = __pyx_t_24;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":417
+ * 
+ *                     end = len(pts)-1
+ *                     if iseg == branch.nseg-1:             # <<<<<<<<<<<<<<
+ *                         end = len(pts)
+ * 
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":420
+ *                         end = len(pts)
+ * 
+ *                     x = numpy.append(x, xcoords[0:end])             # <<<<<<<<<<<<<<
+ *                     y = numpy.append(y, ycoords[0:end])
+ *                     z = numpy.append(z, zcoords[0:end])
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_numpy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 420, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_append); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 420, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = __Pyx_PyObject_GetSlice(__pyx_v_xcoords, 0, __pyx_v_end, NULL, NULL, NULL, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 420, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_10 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
+            if (likely(__pyx_t_10)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_10);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_11, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_x, __pyx_t_17};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 420, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_x, __pyx_t_17};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 420, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_13 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 420, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            if (__pyx_t_10) {
+              __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_x);
+            __Pyx_GIVEREF(__pyx_v_x);
+            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, __pyx_v_x);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, __pyx_t_17);
+            __pyx_t_17 = 0;
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 420, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF_SET(__pyx_v_x, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":421
+ * 
+ *                     x = numpy.append(x, xcoords[0:end])
+ *                     y = numpy.append(y, ycoords[0:end])             # <<<<<<<<<<<<<<
+ *                     z = numpy.append(z, zcoords[0:end])
+ *                     d = numpy.append(d, diams[0:end])
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_numpy); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 421, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_append); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 421, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __pyx_t_11 = __Pyx_PyObject_GetSlice(__pyx_v_ycoords, 0, __pyx_v_end, NULL, NULL, NULL, 1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 421, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_17 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_13);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_13, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_13)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_y, __pyx_t_11};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 421, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_y, __pyx_t_11};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 421, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_10 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 421, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            if (__pyx_t_17) {
+              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_17); __pyx_t_17 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_y);
+            __Pyx_GIVEREF(__pyx_v_y);
+            PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_8, __pyx_v_y);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_8, __pyx_t_11);
+            __pyx_t_11 = 0;
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_10, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 421, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":422
+ *                     x = numpy.append(x, xcoords[0:end])
+ *                     y = numpy.append(y, ycoords[0:end])
+ *                     z = numpy.append(z, zcoords[0:end])             # <<<<<<<<<<<<<<
+ *                     d = numpy.append(d, diams[0:end])
+ * 
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_numpy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 422, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_append); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 422, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_v_zcoords, 0, __pyx_v_end, NULL, NULL, NULL, 1, 1, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 422, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_11 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_10)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_z, __pyx_t_13};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 422, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_z, __pyx_t_13};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 422, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 422, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_11) {
+              __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_11); __pyx_t_11 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_z);
+            __Pyx_GIVEREF(__pyx_v_z);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_z);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_t_13);
+            __pyx_t_13 = 0;
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_17, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 422, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_DECREF_SET(__pyx_v_z, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":423
+ *                     y = numpy.append(y, ycoords[0:end])
+ *                     z = numpy.append(z, zcoords[0:end])
+ *                     d = numpy.append(d, diams[0:end])             # <<<<<<<<<<<<<<
+ * 
+ *                     for i in range(len(pts)-1):
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_append); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 423, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __pyx_t_10 = __Pyx_PyObject_GetSlice(__pyx_v_diams, 0, __pyx_v_end, NULL, NULL, NULL, 1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 423, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_13 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_13)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_13);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_d, __pyx_t_10};
+            __pyx_t_20 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 423, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_v_d, __pyx_t_10};
+            __pyx_t_20 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 423, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_11 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 423, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            if (__pyx_t_13) {
+              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_13); __pyx_t_13 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_d);
+            __Pyx_GIVEREF(__pyx_v_d);
+            PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_8, __pyx_v_d);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_8, __pyx_t_10);
+            __pyx_t_10 = 0;
+            __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_11, NULL); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 423, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF_SET(__pyx_v_d, __pyx_t_20);
+          __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":425
+ *                     d = numpy.append(d, diams[0:end])
+ * 
+ *                     for i in range(len(pts)-1):             # <<<<<<<<<<<<<<
+ *                         #find the cone and assign it to that segment
+ *                         conecoords = (xcoords[i],ycoords[i],zcoords[i],xcoords[i+1],ycoords[i+1],zcoords[i+1])
+ */
+          __pyx_t_24 = PyList_GET_SIZE(__pyx_v_pts); if (unlikely(__pyx_t_24 == ((Py_ssize_t)-1))) __PYX_ERR(0, 425, __pyx_L1_error)
+          __pyx_t_25 = (__pyx_t_24 - 1);
+          __pyx_t_24 = __pyx_t_25;
+          for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_24; __pyx_t_8+=1) {
+            __pyx_v_i = __pyx_t_8;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":427
+ *                     for i in range(len(pts)-1):
+ *                         #find the cone and assign it to that segment
+ *                         conecoords = (xcoords[i],ycoords[i],zcoords[i],xcoords[i+1],ycoords[i+1],zcoords[i+1])             # <<<<<<<<<<<<<<
+ *                         cone_segment_dict[conecoords] = seg
+ *                 ##########################################################
+ */
+            __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_xcoords, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_ycoords, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_zcoords, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_26 = (__pyx_v_i + 1);
+            __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_xcoords, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_26 = (__pyx_v_i + 1);
+            __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_ycoords, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_26 = (__pyx_v_i + 1);
+            __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_zcoords, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_4 = PyTuple_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_GIVEREF(__pyx_t_20);
+            PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_20);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_11);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_5);
+            PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_5);
+            __pyx_t_20 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_5 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_conecoords, ((PyObject*)__pyx_t_4));
+            __pyx_t_4 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":428
+ *                         #find the cone and assign it to that segment
+ *                         conecoords = (xcoords[i],ycoords[i],zcoords[i],xcoords[i+1],ycoords[i+1],zcoords[i+1])
+ *                         cone_segment_dict[conecoords] = seg             # <<<<<<<<<<<<<<
+ *                 ##########################################################
+ * 
+ */
+            if (unlikely(PyDict_SetItem(__pyx_v_cone_segment_dict, __pyx_v_conecoords, __pyx_v_seg) < 0)) __PYX_ERR(0, 428, __pyx_L1_error)
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":404
+ * 
+ *                 dx = branch.L / branch.nseg
+ *                 for iseg, seg in enumerate(branch):             # <<<<<<<<<<<<<<
+ *                     # get a list of all pts in the segment, including end points
+ *                     lo = iseg * dx
+ */
+        }
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      }
+      __pyx_L46:;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":436
+ *             # CTNG:connectdends
+ * 
+ *             if psec in soma_secs:             # <<<<<<<<<<<<<<
+ *                 f_pts, somaz = soma_secs[psec]
+ *                 pt = (x[1], y[1], z[1])
+ */
+      __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_v_psec, __pyx_v_soma_secs, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 436, __pyx_L1_error)
+      __pyx_t_3 = (__pyx_t_2 != 0);
+      if (__pyx_t_3) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":437
+ * 
+ *             if psec in soma_secs:
+ *                 f_pts, somaz = soma_secs[psec]             # <<<<<<<<<<<<<<
+ *                 pt = (x[1], y[1], z[1])
+ *                 cp = closest_pt(pt, f_pts, somaz)
+ */
+        __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_soma_secs, __pyx_v_psec); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 437, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {
+          PyObject* sequence = __pyx_t_9;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 2)) {
+            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 437, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+          } else {
+            __pyx_t_1 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+          }
+          __Pyx_INCREF(__pyx_t_1);
+          __Pyx_INCREF(__pyx_t_4);
+          #else
+          __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          #endif
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          __pyx_t_5 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 437, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_18 = Py_TYPE(__pyx_t_5)->tp_iternext;
+          index = 0; __pyx_t_1 = __pyx_t_18(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L69_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_1);
+          index = 1; __pyx_t_4 = __pyx_t_18(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L69_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_4);
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_5), 2) < 0) __PYX_ERR(0, 437, __pyx_L1_error)
+          __pyx_t_18 = NULL;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          goto __pyx_L70_unpacking_done;
+          __pyx_L69_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_18 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 437, __pyx_L1_error)
+          __pyx_L70_unpacking_done:;
+        }
+        if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 437, __pyx_L1_error)
+        __Pyx_DECREF_SET(__pyx_v_f_pts, ((PyObject*)__pyx_t_1));
+        __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_somaz, __pyx_t_4);
+        __pyx_t_4 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":438
+ *             if psec in soma_secs:
+ *                 f_pts, somaz = soma_secs[psec]
+ *                 pt = (x[1], y[1], z[1])             # <<<<<<<<<<<<<<
+ *                 cp = closest_pt(pt, f_pts, somaz)
+ *                 # NEURON includes the wire point at the center; we want to connect
+ */
+        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_x, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_y, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_GIVEREF(__pyx_t_9);
+        PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9);
+        __Pyx_GIVEREF(__pyx_t_4);
+        PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
+        __Pyx_GIVEREF(__pyx_t_1);
+        PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1);
+        __pyx_t_9 = 0;
+        __pyx_t_4 = 0;
+        __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_pt, ((PyObject*)__pyx_t_5));
+        __pyx_t_5 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":439
+ *                 f_pts, somaz = soma_secs[psec]
+ *                 pt = (x[1], y[1], z[1])
+ *                 cp = closest_pt(pt, f_pts, somaz)             # <<<<<<<<<<<<<<
+ *                 # NEURON includes the wire point at the center; we want to connect
+ *                 # to the closest place on the soma's axis instead with full diameter
+ */
+        __pyx_t_5 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_closest_pt(__pyx_v_pt, __pyx_v_f_pts, __pyx_v_somaz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 439, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_XDECREF_SET(__pyx_v_cp, ((PyObject*)__pyx_t_5));
+        __pyx_t_5 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":443
+ *                 # to the closest place on the soma's axis instead with full diameter
+ *                 # x, y, z, d = [cp[0]] + [X for X in x[1 :]], [cp[1]] + [Y for Y in y[1:]], [somaz] + [Z for Z in z[1:]], [d[1]] + [D for D in d[1 :]]
+ *                 x[0], y[0] = cp             # <<<<<<<<<<<<<<
+ *                 z[0] = somaz
+ *                 d[0] = d[1]
+ */
+        if (likely(__pyx_v_cp != Py_None)) {
+          PyObject* sequence = __pyx_v_cp;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 2)) {
+            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 443, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); 
+          __Pyx_INCREF(__pyx_t_5);
+          __Pyx_INCREF(__pyx_t_1);
+          #else
+          __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        } else {
+          __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 443, __pyx_L1_error)
+        }
+        if (unlikely(__Pyx_SetItemInt(__pyx_v_x, 0, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 443, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        if (unlikely(__Pyx_SetItemInt(__pyx_v_y, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 443, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":444
+ *                 # x, y, z, d = [cp[0]] + [X for X in x[1 :]], [cp[1]] + [Y for Y in y[1:]], [somaz] + [Z for Z in z[1:]], [d[1]] + [D for D in d[1 :]]
+ *                 x[0], y[0] = cp
+ *                 z[0] = somaz             # <<<<<<<<<<<<<<
+ *                 d[0] = d[1]
+ *                 if branch not in potential_soma_cones:
+ */
+        if (unlikely(__Pyx_SetItemInt(__pyx_v_z, 0, __pyx_v_somaz, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 444, __pyx_L1_error)
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":445
+ *                 x[0], y[0] = cp
+ *                 z[0] = somaz
+ *                 d[0] = d[1]             # <<<<<<<<<<<<<<
+ *                 if branch not in potential_soma_cones:
+ *                     potential_soma_cones[branch] = []
+ */
+        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_d, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 445, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        if (unlikely(__Pyx_SetItemInt(__pyx_v_d, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 445, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":446
+ *                 z[0] = somaz
+ *                 d[0] = d[1]
+ *                 if branch not in potential_soma_cones:             # <<<<<<<<<<<<<<
+ *                     potential_soma_cones[branch] = []
+ * 
+ */
+        __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_v_branch, __pyx_v_potential_soma_cones, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 446, __pyx_L1_error)
+        __pyx_t_2 = (__pyx_t_3 != 0);
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":447
+ *                 d[0] = d[1]
+ *                 if branch not in potential_soma_cones:
+ *                     potential_soma_cones[branch] = []             # <<<<<<<<<<<<<<
+ * 
+ *                 '''# cap this with a sphere for smooth joins
+ */
+          __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          if (unlikely(PyDict_SetItem(__pyx_v_potential_soma_cones, __pyx_v_branch, __pyx_t_1) < 0)) __PYX_ERR(0, 447, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":446
+ *                 z[0] = somaz
+ *                 d[0] = d[1]
+ *                 if branch not in potential_soma_cones:             # <<<<<<<<<<<<<<
+ *                     potential_soma_cones[branch] = []
+ * 
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":436
+ *             # CTNG:connectdends
+ * 
+ *             if psec in soma_secs:             # <<<<<<<<<<<<<<
+ *                 f_pts, somaz = soma_secs[psec]
+ *                 pt = (x[1], y[1], z[1])
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":458
+ * 
+ * 
+ *             for i in range(len(x) - 1):             # <<<<<<<<<<<<<<
+ *                 d0, d1 = d[i : i + 2]
+ *                 if (x[i] != x[i + 1] or y[i] != y[i + 1] or z[i] != z[i + 1]):
+ */
+      __pyx_t_22 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_22 == ((Py_ssize_t)-1))) __PYX_ERR(0, 458, __pyx_L1_error)
+      __pyx_t_25 = (__pyx_t_22 - 1);
+      __pyx_t_22 = __pyx_t_25;
+      for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_22; __pyx_t_8+=1) {
+        __pyx_v_i = __pyx_t_8;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":459
+ * 
+ *             for i in range(len(x) - 1):
+ *                 d0, d1 = d[i : i + 2]             # <<<<<<<<<<<<<<
+ *                 if (x[i] != x[i + 1] or y[i] != y[i + 1] or z[i] != z[i + 1]):
+ *                     # short section check
+ */
+        __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_d, __pyx_v_i, (__pyx_v_i + 2), NULL, NULL, NULL, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
+          PyObject* sequence = __pyx_t_1;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 2)) {
+            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 459, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+          } else {
+            __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+          }
+          __Pyx_INCREF(__pyx_t_5);
+          __Pyx_INCREF(__pyx_t_4);
+          #else
+          __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          #endif
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 459, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __pyx_t_18 = Py_TYPE(__pyx_t_9)->tp_iternext;
+          index = 0; __pyx_t_5 = __pyx_t_18(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L74_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_5);
+          index = 1; __pyx_t_4 = __pyx_t_18(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L74_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_4);
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_9), 2) < 0) __PYX_ERR(0, 459, __pyx_L1_error)
+          __pyx_t_18 = NULL;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          goto __pyx_L75_unpacking_done;
+          __pyx_L74_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __pyx_t_18 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 459, __pyx_L1_error)
+          __pyx_L75_unpacking_done:;
+        }
+        __Pyx_XDECREF_SET(__pyx_v_d0, __pyx_t_5);
+        __pyx_t_5 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_d1, __pyx_t_4);
+        __pyx_t_4 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":460
+ *             for i in range(len(x) - 1):
+ *                 d0, d1 = d[i : i + 2]
+ *                 if (x[i] != x[i + 1] or y[i] != y[i + 1] or z[i] != z[i + 1]):             # <<<<<<<<<<<<<<
+ *                     # short section check
+ *                     #if linalg.norm((x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i])) < (d1 + d0) * 0.5:
+ */
+        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_x, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_26 = (__pyx_v_i + 1);
+        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_x, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        if (!__pyx_t_3) {
+        } else {
+          __pyx_t_2 = __pyx_t_3;
+          goto __pyx_L77_bool_binop_done;
+        }
+        __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_y, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_26 = (__pyx_v_i + 1);
+        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_y, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        if (!__pyx_t_3) {
+        } else {
+          __pyx_t_2 = __pyx_t_3;
+          goto __pyx_L77_bool_binop_done;
+        }
+        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_z, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_26 = (__pyx_v_i + 1);
+        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_z, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 460, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_2 = __pyx_t_3;
+        __pyx_L77_bool_binop_done:;
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":464
+ *                     #if linalg.norm((x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i])) < (d1 + d0) * 0.5:
+ *                     #    short_segs += 1
+ *                     axisx, axisy, axisz, deltad = x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i], d1 - d0             # <<<<<<<<<<<<<<
+ *                     axislength = (axisx ** 2 + axisy ** 2 + axisz ** 2) ** 0.5
+ *                     axisx /= axislength; axisy /= axislength; axisz /= axislength; deltad /= axislength
+ */
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_x, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_x, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_y, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_y, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_9 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_z, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_z, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_13 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __pyx_t_4 = PyNumber_Subtract(__pyx_v_d1, __pyx_v_d0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __Pyx_XDECREF_SET(__pyx_v_axisx, __pyx_t_1);
+          __pyx_t_1 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_axisy, __pyx_t_9);
+          __pyx_t_9 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_axisz, __pyx_t_13);
+          __pyx_t_13 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_deltad, __pyx_t_4);
+          __pyx_t_4 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":465
+ *                     #    short_segs += 1
+ *                     axisx, axisy, axisz, deltad = x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i], d1 - d0
+ *                     axislength = (axisx ** 2 + axisy ** 2 + axisz ** 2) ** 0.5             # <<<<<<<<<<<<<<
+ *                     axisx /= axislength; axisy /= axislength; axisz /= axislength; deltad /= axislength
+ *                     x0, y0, z0 = x[i], y[i], z[i]
+ */
+          __pyx_t_4 = PyNumber_Power(__pyx_v_axisx, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_13 = PyNumber_Power(__pyx_v_axisy, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_9 = PyNumber_Add(__pyx_t_4, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = PyNumber_Power(__pyx_v_axisz, __pyx_int_2, Py_None); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = PyNumber_Power(__pyx_t_4, __pyx_float_0_5, Py_None); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 465, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_axislength, __pyx_t_13);
+          __pyx_t_13 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":466
+ *                     axisx, axisy, axisz, deltad = x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i], d1 - d0
+ *                     axislength = (axisx ** 2 + axisy ** 2 + axisz ** 2) ** 0.5
+ *                     axisx /= axislength; axisy /= axislength; axisz /= axislength; deltad /= axislength             # <<<<<<<<<<<<<<
+ *                     x0, y0, z0 = x[i], y[i], z[i]
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]
+ */
+          __pyx_t_13 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_axisx, __pyx_v_axislength); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 466, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF_SET(__pyx_v_axisx, __pyx_t_13);
+          __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_axisy, __pyx_v_axislength); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 466, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF_SET(__pyx_v_axisy, __pyx_t_13);
+          __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_axisz, __pyx_v_axislength); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 466, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF_SET(__pyx_v_axisz, __pyx_t_13);
+          __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_deltad, __pyx_v_axislength); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 466, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF_SET(__pyx_v_deltad, __pyx_t_13);
+          __pyx_t_13 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":467
+ *                     axislength = (axisx ** 2 + axisy ** 2 + axisz ** 2) ** 0.5
+ *                     axisx /= axislength; axisy /= axislength; axisz /= axislength; deltad /= axislength
+ *                     x0, y0, z0 = x[i], y[i], z[i]             # <<<<<<<<<<<<<<
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]
+ *                     if (x0, y0, z0) in diam_corrections:
+ */
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_x, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_y, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_z, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 467, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_v_x0 = __pyx_t_14;
+          __pyx_v_y0 = __pyx_t_15;
+          __pyx_v_z0 = __pyx_t_16;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":468
+ *                     axisx /= axislength; axisy /= axislength; axisz /= axislength; deltad /= axislength
+ *                     x0, y0, z0 = x[i], y[i], z[i]
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]             # <<<<<<<<<<<<<<
+ *                     if (x0, y0, z0) in diam_corrections:
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ */
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_x, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_y, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_26 = (__pyx_v_i + 1);
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_z, __pyx_t_26, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 468, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_v_x1 = __pyx_t_16;
+          __pyx_v_y1 = __pyx_t_15;
+          __pyx_v_z1 = __pyx_t_14;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":469
+ *                     x0, y0, z0 = x[i], y[i], z[i]
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]
+ *                     if (x0, y0, z0) in diam_corrections:             # <<<<<<<<<<<<<<
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ *                     if (x1, y1, z1) in diam_corrections:
+ */
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_9);
+          __pyx_t_13 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_t_1, __pyx_v_diam_corrections, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __pyx_t_3 = (__pyx_t_2 != 0);
+          if (__pyx_t_3) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":470
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]
+ *                     if (x0, y0, z0) in diam_corrections:
+ *                         d0 = diam_corrections[(x0, y0, z0)]             # <<<<<<<<<<<<<<
+ *                     if (x1, y1, z1) in diam_corrections:
+ *                         d1 = diam_corrections[(x1, y1, z1)]
+ */
+            __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_4 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_9);
+            PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_9);
+            __Pyx_GIVEREF(__pyx_t_4);
+            PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_4);
+            __pyx_t_1 = 0;
+            __pyx_t_9 = 0;
+            __pyx_t_4 = 0;
+            __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_diam_corrections, __pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF_SET(__pyx_v_d0, __pyx_t_4);
+            __pyx_t_4 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":469
+ *                     x0, y0, z0 = x[i], y[i], z[i]
+ *                     x1, y1, z1 = x[i + 1], y[i + 1], z[i + 1]
+ *                     if (x0, y0, z0) in diam_corrections:             # <<<<<<<<<<<<<<
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ *                     if (x1, y1, z1) in diam_corrections:
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":471
+ *                     if (x0, y0, z0) in diam_corrections:
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ *                     if (x1, y1, z1) in diam_corrections:             # <<<<<<<<<<<<<<
+ *                         d1 = diam_corrections[(x1, y1, z1)]
+ * 
+ */
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 471, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 471, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 471, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_9);
+          __pyx_t_4 = 0;
+          __pyx_t_13 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_t_1, __pyx_v_diam_corrections, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 471, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __pyx_t_2 = (__pyx_t_3 != 0);
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":472
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ *                     if (x1, y1, z1) in diam_corrections:
+ *                         d1 = diam_corrections[(x1, y1, z1)]             # <<<<<<<<<<<<<<
+ * 
+ *                     if d0 != d1:
+ */
+            __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 472, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 472, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 472, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_9);
+            PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_13);
+            __pyx_t_1 = 0;
+            __pyx_t_9 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_13 = __Pyx_PyDict_GetItem(__pyx_v_diam_corrections, __pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 472, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __Pyx_DECREF_SET(__pyx_v_d1, __pyx_t_13);
+            __pyx_t_13 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":471
+ *                     if (x0, y0, z0) in diam_corrections:
+ *                         d0 = diam_corrections[(x0, y0, z0)]
+ *                     if (x1, y1, z1) in diam_corrections:             # <<<<<<<<<<<<<<
+ *                         d1 = diam_corrections[(x1, y1, z1)]
+ * 
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":474
+ *                         d1 = diam_corrections[(x1, y1, z1)]
+ * 
+ *                     if d0 != d1:             # <<<<<<<<<<<<<<
+ *                         all_cones.append(Cone(x0, y0, z0, d0 * 0.5, x1, y1, z1, d1 * 0.5))
+ *                     else:
+ */
+          __pyx_t_13 = PyObject_RichCompare(__pyx_v_d0, __pyx_v_d1, Py_NE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 474, __pyx_L1_error)
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 474, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":475
+ * 
+ *                     if d0 != d1:
+ *                         all_cones.append(Cone(x0, y0, z0, d0 * 0.5, x1, y1, z1, d1 * 0.5))             # <<<<<<<<<<<<<<
+ *                     else:
+ *                         all_cones.append(Cylinder(x0, y0, z0, x1, y1, z1, d1 * 0.5))
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Cone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __pyx_t_9 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_1 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_10 = PyNumber_Multiply(__pyx_v_d0, __pyx_float_0_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_17 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_20 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_21 = PyNumber_Multiply(__pyx_v_d1, __pyx_float_0_5); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            __pyx_t_27 = NULL;
+            __pyx_t_28 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+              __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4);
+              if (likely(__pyx_t_27)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+                __Pyx_INCREF(__pyx_t_27);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_4, function);
+                __pyx_t_28 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_4)) {
+              PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_t_9, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_11, __pyx_t_17, __pyx_t_20, __pyx_t_21};
+              __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 8+__pyx_t_28); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 475, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+              PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_t_9, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_11, __pyx_t_17, __pyx_t_20, __pyx_t_21};
+              __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 8+__pyx_t_28); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 475, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+            } else
+            #endif
+            {
+              __pyx_t_29 = PyTuple_New(8+__pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 475, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_29);
+              if (__pyx_t_27) {
+                __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_27); __pyx_t_27 = NULL;
+              }
+              __Pyx_GIVEREF(__pyx_t_9);
+              PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_28, __pyx_t_9);
+              __Pyx_GIVEREF(__pyx_t_1);
+              PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_28, __pyx_t_1);
+              __Pyx_GIVEREF(__pyx_t_5);
+              PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_28, __pyx_t_5);
+              __Pyx_GIVEREF(__pyx_t_10);
+              PyTuple_SET_ITEM(__pyx_t_29, 3+__pyx_t_28, __pyx_t_10);
+              __Pyx_GIVEREF(__pyx_t_11);
+              PyTuple_SET_ITEM(__pyx_t_29, 4+__pyx_t_28, __pyx_t_11);
+              __Pyx_GIVEREF(__pyx_t_17);
+              PyTuple_SET_ITEM(__pyx_t_29, 5+__pyx_t_28, __pyx_t_17);
+              __Pyx_GIVEREF(__pyx_t_20);
+              PyTuple_SET_ITEM(__pyx_t_29, 6+__pyx_t_28, __pyx_t_20);
+              __Pyx_GIVEREF(__pyx_t_21);
+              PyTuple_SET_ITEM(__pyx_t_29, 7+__pyx_t_28, __pyx_t_21);
+              __pyx_t_9 = 0;
+              __pyx_t_1 = 0;
+              __pyx_t_5 = 0;
+              __pyx_t_10 = 0;
+              __pyx_t_11 = 0;
+              __pyx_t_17 = 0;
+              __pyx_t_20 = 0;
+              __pyx_t_21 = 0;
+              __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_29, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 475, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_all_cones, __pyx_t_13); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 475, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":474
+ *                         d1 = diam_corrections[(x1, y1, z1)]
+ * 
+ *                     if d0 != d1:             # <<<<<<<<<<<<<<
+ *                         all_cones.append(Cone(x0, y0, z0, d0 * 0.5, x1, y1, z1, d1 * 0.5))
+ *                     else:
+ */
+            goto __pyx_L82;
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":477
+ *                         all_cones.append(Cone(x0, y0, z0, d0 * 0.5, x1, y1, z1, d1 * 0.5))
+ *                     else:
+ *                         all_cones.append(Cylinder(x0, y0, z0, x1, y1, z1, d1 * 0.5))             # <<<<<<<<<<<<<<
+ *                     with cython.wraparound(True):
+ *                         register(pts_cones_db, (x0, y0, z0), all_cones[-1])
+ */
+          /*else*/ {
+            __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Cylinder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_4);
+            __pyx_t_29 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            __pyx_t_20 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_20);
+            __pyx_t_17 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_11 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_10);
+            __pyx_t_5 = PyNumber_Multiply(__pyx_v_d1, __pyx_float_0_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_1 = NULL;
+            __pyx_t_28 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+              __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
+              if (likely(__pyx_t_1)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+                __Pyx_INCREF(__pyx_t_1);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_4, function);
+                __pyx_t_28 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_4)) {
+              PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_t_29, __pyx_t_21, __pyx_t_20, __pyx_t_17, __pyx_t_11, __pyx_t_10, __pyx_t_5};
+              __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 7+__pyx_t_28); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+              PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_t_29, __pyx_t_21, __pyx_t_20, __pyx_t_17, __pyx_t_11, __pyx_t_10, __pyx_t_5};
+              __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 7+__pyx_t_28); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            } else
+            #endif
+            {
+              __pyx_t_9 = PyTuple_New(7+__pyx_t_28); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 477, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              if (__pyx_t_1) {
+                __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); __pyx_t_1 = NULL;
+              }
+              __Pyx_GIVEREF(__pyx_t_29);
+              PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_28, __pyx_t_29);
+              __Pyx_GIVEREF(__pyx_t_21);
+              PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_28, __pyx_t_21);
+              __Pyx_GIVEREF(__pyx_t_20);
+              PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_28, __pyx_t_20);
+              __Pyx_GIVEREF(__pyx_t_17);
+              PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_28, __pyx_t_17);
+              __Pyx_GIVEREF(__pyx_t_11);
+              PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_28, __pyx_t_11);
+              __Pyx_GIVEREF(__pyx_t_10);
+              PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_28, __pyx_t_10);
+              __Pyx_GIVEREF(__pyx_t_5);
+              PyTuple_SET_ITEM(__pyx_t_9, 6+__pyx_t_28, __pyx_t_5);
+              __pyx_t_29 = 0;
+              __pyx_t_21 = 0;
+              __pyx_t_20 = 0;
+              __pyx_t_17 = 0;
+              __pyx_t_11 = 0;
+              __pyx_t_10 = 0;
+              __pyx_t_5 = 0;
+              __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_all_cones, __pyx_t_13); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 477, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          }
+          __pyx_L82:;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":479
+ *                         all_cones.append(Cylinder(x0, y0, z0, x1, y1, z1, d1 * 0.5))
+ *                     with cython.wraparound(True):
+ *                         register(pts_cones_db, (x0, y0, z0), all_cones[-1])             # <<<<<<<<<<<<<<
+ *                         register(pts_cones_db, (x1, y1, z1), all_cones[-1])
+ *                         # if the cone is added to connect the dendrite to the soma
+ */
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_9);
+          __pyx_t_13 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_9 = __Pyx_GetItemInt_List(__pyx_v_all_cones, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(__pyx_v_pts_cones_db, ((PyObject*)__pyx_t_5), __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":480
+ *                     with cython.wraparound(True):
+ *                         register(pts_cones_db, (x0, y0, z0), all_cones[-1])
+ *                         register(pts_cones_db, (x1, y1, z1), all_cones[-1])             # <<<<<<<<<<<<<<
+ *                         # if the cone is added to connect the dendrite to the soma
+ *                         # and it does not have corresponding segment
+ */
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_9);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_5);
+          __pyx_t_4 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_all_cones, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_9 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(__pyx_v_pts_cones_db, ((PyObject*)__pyx_t_13), __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 480, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":485
+ *                         # keep track of them here and assign them to a soma
+ *                         # segment later.
+ *                         if branch in potential_soma_cones:             # <<<<<<<<<<<<<<
+ *                             potential_soma_cones[branch].append(all_cones[-1])
+ *                     register(diam_db, (x0, y0, z0), d0)
+ */
+          __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_v_branch, __pyx_v_potential_soma_cones, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 485, __pyx_L1_error)
+          __pyx_t_3 = (__pyx_t_2 != 0);
+          if (__pyx_t_3) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":486
+ *                         # segment later.
+ *                         if branch in potential_soma_cones:
+ *                             potential_soma_cones[branch].append(all_cones[-1])             # <<<<<<<<<<<<<<
+ *                     register(diam_db, (x0, y0, z0), d0)
+ *                     register(diam_db, (x1, y1, z1), d1)
+ */
+            __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_potential_soma_cones, __pyx_v_branch); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 486, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_all_cones, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_19 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_t_5); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 486, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":485
+ *                         # keep track of them here and assign them to a soma
+ *                         # segment later.
+ *                         if branch in potential_soma_cones:             # <<<<<<<<<<<<<<
+ *                             potential_soma_cones[branch].append(all_cones[-1])
+ *                     register(diam_db, (x0, y0, z0), d0)
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":487
+ *                         if branch in potential_soma_cones:
+ *                             potential_soma_cones[branch].append(all_cones[-1])
+ *                     register(diam_db, (x0, y0, z0), d0)             # <<<<<<<<<<<<<<
+ *                     register(diam_db, (x1, y1, z1), d1)
+ * 
+ */
+          __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 487, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 487, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_13);
+          __pyx_t_5 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_13 = 0;
+          __pyx_t_13 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(__pyx_v_diam_db, ((PyObject*)__pyx_t_4), __pyx_v_d0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 487, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":488
+ *                             potential_soma_cones[branch].append(all_cones[-1])
+ *                     register(diam_db, (x0, y0, z0), d0)
+ *                     register(diam_db, (x1, y1, z1), d1)             # <<<<<<<<<<<<<<
+ * 
+ *         diam_corrections = {}
+ */
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 488, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 488, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 488, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_9);
+          __pyx_t_13 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_9 = 0;
+          __pyx_t_9 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_register(__pyx_v_diam_db, ((PyObject*)__pyx_t_5), __pyx_v_d1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 488, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":460
+ *             for i in range(len(x) - 1):
+ *                 d0, d1 = d[i : i + 2]
+ *                 if (x[i] != x[i + 1] or y[i] != y[i + 1] or z[i] != z[i + 1]):             # <<<<<<<<<<<<<<
+ *                     # short section check
+ *                     #if linalg.norm((x[i + 1] - x[i], y[i + 1] - y[i], z[i + 1] - z[i])) < (d1 + d0) * 0.5:
+ */
+        }
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":380
+ *         diam_db = {}
+ * 
+ *         for (k, branch), psec in zip(enumerate(branches), parent_sec_name):             # <<<<<<<<<<<<<<
+ *             if source_is_import3d:
+ *                 x, y, z = [numpy.array(branch.raw.getrow(i).to_python()) for i in range(3)]
+ */
+    }
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":490
+ *                     register(diam_db, (x1, y1, z1), d1)
+ * 
+ *         diam_corrections = {}             # <<<<<<<<<<<<<<
+ *         if not nouniform:
+ *             # at join, should always be the size of the biggest branch
+ */
+    __pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 490, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __Pyx_DECREF_SET(__pyx_v_diam_corrections, ((PyObject*)__pyx_t_12));
+    __pyx_t_12 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":491
+ * 
+ *         diam_corrections = {}
+ *         if not nouniform:             # <<<<<<<<<<<<<<
+ *             # at join, should always be the size of the biggest branch
+ *             # this is different behavior than NEURON, which continues the size of the
+ */
+    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_nouniform); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 491, __pyx_L1_error)
+    __pyx_t_2 = ((!__pyx_t_3) != 0);
+    if (__pyx_t_2) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":495
+ *             # this is different behavior than NEURON, which continues the size of the
+ *             # first point away from the join to the join
+ *             for pt in diam_db:             # <<<<<<<<<<<<<<
+ *                 vals = diam_db[pt]
+ *                 if max(vals) != min(vals):
+ */
+      __pyx_t_6 = 0;
+      __pyx_t_9 = __Pyx_dict_iterator(__pyx_v_diam_db, 1, ((PyObject *)NULL), (&__pyx_t_25), (&__pyx_t_8)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 495, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_XDECREF(__pyx_t_12);
+      __pyx_t_12 = __pyx_t_9;
+      __pyx_t_9 = 0;
+      while (1) {
+        __pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_12, __pyx_t_25, &__pyx_t_6, &__pyx_t_9, NULL, NULL, __pyx_t_8);
+        if (unlikely(__pyx_t_28 == 0)) break;
+        if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 495, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        if (!(likely(PyTuple_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(0, 495, __pyx_L1_error)
+        __Pyx_XDECREF_SET(__pyx_v_pt, ((PyObject*)__pyx_t_9));
+        __pyx_t_9 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":496
+ *             # first point away from the join to the join
+ *             for pt in diam_db:
+ *                 vals = diam_db[pt]             # <<<<<<<<<<<<<<
+ *                 if max(vals) != min(vals):
+ *                     diam_corrections[pt] = max(vals)
+ */
+        __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_diam_db, __pyx_v_pt); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 496, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_XDECREF_SET(__pyx_v_vals, __pyx_t_9);
+        __pyx_t_9 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":497
+ *             for pt in diam_db:
+ *                 vals = diam_db[pt]
+ *                 if max(vals) != min(vals):             # <<<<<<<<<<<<<<
+ *                     diam_corrections[pt] = max(vals)
+ * 
+ */
+        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_vals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 497, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_vals); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 497, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_4 = PyObject_RichCompare(__pyx_t_9, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 497, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 497, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":498
+ *                 vals = diam_db[pt]
+ *                 if max(vals) != min(vals):
+ *                     diam_corrections[pt] = max(vals)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+          __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_vals); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          if (unlikely(PyDict_SetItem(__pyx_v_diam_corrections, __pyx_v_pt, __pyx_t_4) < 0)) __PYX_ERR(0, 498, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":497
+ *             for pt in diam_db:
+ *                 vals = diam_db[pt]
+ *                 if max(vals) != min(vals):             # <<<<<<<<<<<<<<
+ *                     diam_corrections[pt] = max(vals)
+ * 
+ */
+        }
+      }
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":491
+ * 
+ *         diam_corrections = {}
+ *         if not nouniform:             # <<<<<<<<<<<<<<
+ *             # at join, should always be the size of the biggest branch
+ *             # this is different behavior than NEURON, which continues the size of the
+ */
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":502
+ * 
+ * 
+ *     cdef dict cone_clip_db = {cone: [] for cone in all_cones}             # <<<<<<<<<<<<<<
+ *     cdef bint sharp_turn
+ * #    cdef dict join_counts = {'2m': 0, '2s': 0, '3m': 0, '3s': 0, '4m': 0, '4s': 0, '0m': 0, '0s': 0, '1m': 0, '1s': 0}
+ */
+  { /* enter inner scope */
+    __pyx_t_12 = PyDict_New(); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 502, __pyx_L90_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    if (unlikely(!__pyx_v_all_cones)) { __Pyx_RaiseUnboundLocalError("all_cones"); __PYX_ERR(0, 502, __pyx_L90_error) }
+    __pyx_t_4 = __pyx_v_all_cones; __Pyx_INCREF(__pyx_t_4); __pyx_t_25 = 0;
+    for (;;) {
+      if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_4)) break;
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_25); __Pyx_INCREF(__pyx_t_5); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 502, __pyx_L90_error)
+      #else
+      __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 502, __pyx_L90_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      #endif
+      __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_cone, __pyx_t_5);
+      __pyx_t_5 = 0;
+      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 502, __pyx_L90_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      if (unlikely(PyDict_SetItem(__pyx_t_12, (PyObject*)__pyx_8genexpr1__pyx_v_cone, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 502, __pyx_L90_error)
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_cone); __pyx_8genexpr1__pyx_v_cone = 0;
+    goto __pyx_L93_exit_scope;
+    __pyx_L90_error:;
+    __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_cone); __pyx_8genexpr1__pyx_v_cone = 0;
+    goto __pyx_L1_error;
+    __pyx_L93_exit_scope:;
+  } /* exit inner scope */
+  __pyx_v_cone_clip_db = ((PyObject*)__pyx_t_12);
+  __pyx_t_12 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":505
+ *     cdef bint sharp_turn
+ * #    cdef dict join_counts = {'2m': 0, '2s': 0, '3m': 0, '3s': 0, '4m': 0, '4s': 0, '0m': 0, '0s': 0, '1m': 0, '1s': 0}
+ *     join_items_needing_clipped = []             # <<<<<<<<<<<<<<
+ *     for cone in all_cones:
+ *         joingroup = []
+ */
+  __pyx_t_12 = PyList_New(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 505, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __pyx_v_join_items_needing_clipped = ((PyObject*)__pyx_t_12);
+  __pyx_t_12 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":506
+ * #    cdef dict join_counts = {'2m': 0, '2s': 0, '3m': 0, '3s': 0, '4m': 0, '4s': 0, '0m': 0, '0s': 0, '1m': 0, '1s': 0}
+ *     join_items_needing_clipped = []
+ *     for cone in all_cones:             # <<<<<<<<<<<<<<
+ *         joingroup = []
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0
+ */
+  if (unlikely(!__pyx_v_all_cones)) { __Pyx_RaiseUnboundLocalError("all_cones"); __PYX_ERR(0, 506, __pyx_L1_error) }
+  __pyx_t_12 = __pyx_v_all_cones; __Pyx_INCREF(__pyx_t_12); __pyx_t_25 = 0;
+  for (;;) {
+    if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_12)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_25); __Pyx_INCREF(__pyx_t_4); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 506, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_cone, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":507
+ *     join_items_needing_clipped = []
+ *     for cone in all_cones:
+ *         joingroup = []             # <<<<<<<<<<<<<<
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0
+ *         x2, y2, z2, r2 = cone._x1, cone._y1, cone._z1, cone._r1
+ */
+    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_XDECREF_SET(__pyx_v_joingroup, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":508
+ *     for cone in all_cones:
+ *         joingroup = []
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0             # <<<<<<<<<<<<<<
+ *         x2, y2, z2, r2 = cone._x1, cone._y1, cone._z1, cone._r1
+ *         pt1 = numpy.array([x1, y1, z1])
+ */
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x0_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y0_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z0_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_r0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 508, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_x1 = __pyx_t_14;
+    __pyx_v_y1 = __pyx_t_15;
+    __pyx_v_z1 = __pyx_t_16;
+    __pyx_v_r1 = __pyx_t_30;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":509
+ *         joingroup = []
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0
+ *         x2, y2, z2, r2 = cone._x1, cone._y1, cone._z1, cone._r1             # <<<<<<<<<<<<<<
+ *         pt1 = numpy.array([x1, y1, z1])
+ *         pt2 = numpy.array([x2, y2, z2])
+ */
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_r1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 509, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_x2 = __pyx_t_30;
+    __pyx_v_y2 = __pyx_t_16;
+    __pyx_v_z2 = __pyx_t_15;
+    __pyx_v_r2 = __pyx_t_14;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":510
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0
+ *         x2, y2, z2, r2 = cone._x1, cone._y1, cone._z1, cone._r1
+ *         pt1 = numpy.array([x1, y1, z1])             # <<<<<<<<<<<<<<
+ *         pt2 = numpy.array([x2, y2, z2])
+ *         axis = (pt2 - pt1) / linalg.norm(pt2 - pt1)
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_11 = PyList_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_13);
+    __Pyx_GIVEREF(__pyx_t_10);
+    PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_10);
+    __pyx_t_5 = 0;
+    __pyx_t_13 = 0;
+    __pyx_t_10 = 0;
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_11);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 510, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt1, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":511
+ *         x2, y2, z2, r2 = cone._x1, cone._y1, cone._z1, cone._r1
+ *         pt1 = numpy.array([x1, y1, z1])
+ *         pt2 = numpy.array([x2, y2, z2])             # <<<<<<<<<<<<<<
+ *         axis = (pt2 - pt1) / linalg.norm(pt2 - pt1)
+ *         left_neighbors = list(pts_cones_db[(x1, y1, z1)])
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_numpy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_5 = PyList_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_10);
+    PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_10);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_13);
+    __pyx_t_9 = 0;
+    __pyx_t_10 = 0;
+    __pyx_t_13 = 0;
+    __pyx_t_13 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+      __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11);
+      if (likely(__pyx_t_13)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+        __Pyx_INCREF(__pyx_t_13);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_11, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 511, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_pt2, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":512
+ *         pt1 = numpy.array([x1, y1, z1])
+ *         pt2 = numpy.array([x2, y2, z2])
+ *         axis = (pt2 - pt1) / linalg.norm(pt2 - pt1)             # <<<<<<<<<<<<<<
+ *         left_neighbors = list(pts_cones_db[(x1, y1, z1)])
+ * 
+ */
+    __pyx_t_4 = PyNumber_Subtract(__pyx_v_pt2, __pyx_v_pt1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_linalg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_norm); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_pt2, __pyx_v_pt1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_13, function);
+      }
+    }
+    __pyx_t_11 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_10, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 512, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_axis, __pyx_t_13);
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":513
+ *         pt2 = numpy.array([x2, y2, z2])
+ *         axis = (pt2 - pt1) / linalg.norm(pt2 - pt1)
+ *         left_neighbors = list(pts_cones_db[(x1, y1, z1)])             # <<<<<<<<<<<<<<
+ * 
+ *         right_neighbors = list(pts_cones_db[(x2, y2, z2)])
+ */
+    if (unlikely(!__pyx_v_pts_cones_db)) { __Pyx_RaiseUnboundLocalError("pts_cones_db"); __PYX_ERR(0, 513, __pyx_L1_error) }
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_11 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13);
+    __Pyx_GIVEREF(__pyx_t_11);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
+    __pyx_t_13 = 0;
+    __pyx_t_11 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_pts_cones_db, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_left_neighbors, ((PyObject*)__pyx_t_5));
+    __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":515
+ *         left_neighbors = list(pts_cones_db[(x1, y1, z1)])
+ * 
+ *         right_neighbors = list(pts_cones_db[(x2, y2, z2)])             # <<<<<<<<<<<<<<
+ *         left_neighbors.remove(cone)
+ *         right_neighbors.remove(cone)
+ */
+    if (unlikely(!__pyx_v_pts_cones_db)) { __Pyx_RaiseUnboundLocalError("pts_cones_db"); __PYX_ERR(0, 515, __pyx_L1_error) }
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_11 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_11);
+    PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_11);
+    __pyx_t_5 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_11 = 0;
+    __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_pts_cones_db, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = PySequence_List(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 515, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_right_neighbors, ((PyObject*)__pyx_t_13));
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":516
+ * 
+ *         right_neighbors = list(pts_cones_db[(x2, y2, z2)])
+ *         left_neighbors.remove(cone)             # <<<<<<<<<<<<<<
+ *         right_neighbors.remove(cone)
+ *         if not left_neighbors:
+ */
+    __pyx_t_13 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyList_Type_remove, __pyx_v_left_neighbors, __pyx_v_cone); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 516, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":517
+ *         right_neighbors = list(pts_cones_db[(x2, y2, z2)])
+ *         left_neighbors.remove(cone)
+ *         right_neighbors.remove(cone)             # <<<<<<<<<<<<<<
+ *         if not left_neighbors:
+ *             left_neighbors = [None]
+ */
+    __pyx_t_13 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyList_Type_remove, __pyx_v_right_neighbors, __pyx_v_cone); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 517, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":518
+ *         left_neighbors.remove(cone)
+ *         right_neighbors.remove(cone)
+ *         if not left_neighbors:             # <<<<<<<<<<<<<<
+ *             left_neighbors = [None]
+ *         else:
+ */
+    __pyx_t_2 = (PyList_GET_SIZE(__pyx_v_left_neighbors) != 0);
+    __pyx_t_3 = ((!__pyx_t_2) != 0);
+    if (__pyx_t_3) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":519
+ *         right_neighbors.remove(cone)
+ *         if not left_neighbors:
+ *             left_neighbors = [None]             # <<<<<<<<<<<<<<
+ *         else:
+ *             joingroup.append(cone)
+ */
+      __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 519, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_INCREF(Py_None);
+      __Pyx_GIVEREF(Py_None);
+      PyList_SET_ITEM(__pyx_t_13, 0, Py_None);
+      __Pyx_DECREF_SET(__pyx_v_left_neighbors, ((PyObject*)__pyx_t_13));
+      __pyx_t_13 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":518
+ *         left_neighbors.remove(cone)
+ *         right_neighbors.remove(cone)
+ *         if not left_neighbors:             # <<<<<<<<<<<<<<
+ *             left_neighbors = [None]
+ *         else:
+ */
+      goto __pyx_L96;
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":521
+ *             left_neighbors = [None]
+ *         else:
+ *             joingroup.append(cone)             # <<<<<<<<<<<<<<
+ *             for neighbor in left_neighbors:
+ *                 joingroup.append(neighbor)
+ */
+    /*else*/ {
+      __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_v_cone); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 521, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":522
+ *         else:
+ *             joingroup.append(cone)
+ *             for neighbor in left_neighbors:             # <<<<<<<<<<<<<<
+ *                 joingroup.append(neighbor)
+ *         if not right_neighbors: right_neighbors = [None]
+ */
+      __pyx_t_13 = __pyx_v_left_neighbors; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
+      for (;;) {
+        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_11 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_11); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 522, __pyx_L1_error)
+        #else
+        __pyx_t_11 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 522, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        #endif
+        __Pyx_XDECREF_SET(__pyx_v_neighbor, __pyx_t_11);
+        __pyx_t_11 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":523
+ *             joingroup.append(cone)
+ *             for neighbor in left_neighbors:
+ *                 joingroup.append(neighbor)             # <<<<<<<<<<<<<<
+ *         if not right_neighbors: right_neighbors = [None]
+ *         for neighbor_left, neighbor_right in itertools.product(left_neighbors, right_neighbors):
+ */
+        __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_v_neighbor); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 523, __pyx_L1_error)
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":522
+ *         else:
+ *             joingroup.append(cone)
+ *             for neighbor in left_neighbors:             # <<<<<<<<<<<<<<
+ *                 joingroup.append(neighbor)
+ *         if not right_neighbors: right_neighbors = [None]
+ */
+      }
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    }
+    __pyx_L96:;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":524
+ *             for neighbor in left_neighbors:
+ *                 joingroup.append(neighbor)
+ *         if not right_neighbors: right_neighbors = [None]             # <<<<<<<<<<<<<<
+ *         for neighbor_left, neighbor_right in itertools.product(left_neighbors, right_neighbors):
+ *             clips = []
+ */
+    __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_right_neighbors) != 0);
+    __pyx_t_2 = ((!__pyx_t_3) != 0);
+    if (__pyx_t_2) {
+      __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 524, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_INCREF(Py_None);
+      __Pyx_GIVEREF(Py_None);
+      PyList_SET_ITEM(__pyx_t_13, 0, Py_None);
+      __Pyx_DECREF_SET(__pyx_v_right_neighbors, ((PyObject*)__pyx_t_13));
+      __pyx_t_13 = 0;
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":525
+ *                 joingroup.append(neighbor)
+ *         if not right_neighbors: right_neighbors = [None]
+ *         for neighbor_left, neighbor_right in itertools.product(left_neighbors, right_neighbors):             # <<<<<<<<<<<<<<
+ *             clips = []
+ *             # if any join needs to be subject to clips, it goes here
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_itertools); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 525, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_product); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __pyx_t_11 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
+      if (likely(__pyx_t_11)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_11);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_4, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_4)) {
+      PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_left_neighbors, __pyx_v_right_neighbors};
+      __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 525, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+      PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_left_neighbors, __pyx_v_right_neighbors};
+      __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 525, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+    } else
+    #endif
+    {
+      __pyx_t_5 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      if (__pyx_t_11) {
+        __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_11); __pyx_t_11 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_left_neighbors);
+      __Pyx_GIVEREF(__pyx_v_left_neighbors);
+      PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_v_left_neighbors);
+      __Pyx_INCREF(__pyx_v_right_neighbors);
+      __Pyx_GIVEREF(__pyx_v_right_neighbors);
+      PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_v_right_neighbors);
+      __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 525, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
+      __pyx_t_4 = __pyx_t_13; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
+      __pyx_t_7 = NULL;
+    } else {
+      __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 525, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_7)) {
+        if (likely(PyList_CheckExact(__pyx_t_4))) {
+          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_13 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 525, __pyx_L1_error)
+          #else
+          __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 525, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          #endif
+        } else {
+          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 525, __pyx_L1_error)
+          #else
+          __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 525, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          #endif
+        }
+      } else {
+        __pyx_t_13 = __pyx_t_7(__pyx_t_4);
+        if (unlikely(!__pyx_t_13)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 525, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_13);
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_13))) || (PyList_CheckExact(__pyx_t_13))) {
+        PyObject* sequence = __pyx_t_13;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 2)) {
+          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 525, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); 
+        } else {
+          __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_11 = PyList_GET_ITEM(sequence, 1); 
+        }
+        __Pyx_INCREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_11);
+        #else
+        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 525, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        #endif
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_10 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 525, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_18 = Py_TYPE(__pyx_t_10)->tp_iternext;
+        index = 0; __pyx_t_5 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_5)) goto __pyx_L102_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_5);
+        index = 1; __pyx_t_11 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_11)) goto __pyx_L102_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_11);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_10), 2) < 0) __PYX_ERR(0, 525, __pyx_L1_error)
+        __pyx_t_18 = NULL;
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        goto __pyx_L103_unpacking_done;
+        __pyx_L102_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __pyx_t_18 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 525, __pyx_L1_error)
+        __pyx_L103_unpacking_done:;
+      }
+      __Pyx_XDECREF_SET(__pyx_v_neighbor_left, __pyx_t_5);
+      __pyx_t_5 = 0;
+      __Pyx_XDECREF_SET(__pyx_v_neighbor_right, __pyx_t_11);
+      __pyx_t_11 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":526
+ *         if not right_neighbors: right_neighbors = [None]
+ *         for neighbor_left, neighbor_right in itertools.product(left_neighbors, right_neighbors):
+ *             clips = []             # <<<<<<<<<<<<<<
+ *             # if any join needs to be subject to clips, it goes here
+ *             join_item = None
+ */
+      __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 526, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_XDECREF_SET(__pyx_v_clips, ((PyObject*)__pyx_t_13));
+      __pyx_t_13 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":528
+ *             clips = []
+ *             # if any join needs to be subject to clips, it goes here
+ *             join_item = None             # <<<<<<<<<<<<<<
+ *             # process the join on the "left" (end 1)
+ *             if neighbor_left is not None:
+ */
+      __Pyx_INCREF(Py_None);
+      __Pyx_XDECREF_SET(__pyx_v_join_item, Py_None);
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":530
+ *             join_item = None
+ *             # process the join on the "left" (end 1)
+ *             if neighbor_left is not None:             # <<<<<<<<<<<<<<
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0
+ */
+      __pyx_t_2 = (__pyx_v_neighbor_left != Py_None);
+      __pyx_t_3 = (__pyx_t_2 != 0);
+      if (__pyx_t_3) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":532
+ *             if neighbor_left is not None:
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0             # <<<<<<<<<<<<<<
+ *                 if x0 == x1 and y0 == y1 and z0 == z1:
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1
+ */
+        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_x0_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_y0_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_z0_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_r0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_v_x0 = __pyx_t_14;
+        __pyx_v_y0 = __pyx_t_15;
+        __pyx_v_z0 = __pyx_t_16;
+        __pyx_v_r0 = __pyx_t_30;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":533
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0
+ *                 if x0 == x1 and y0 == y1 and z0 == z1:             # <<<<<<<<<<<<<<
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1
+ *                 pt0 = numpy.array([x0, y0, z0])
+ */
+        __pyx_t_2 = ((__pyx_v_x0 == __pyx_v_x1) != 0);
+        if (__pyx_t_2) {
+        } else {
+          __pyx_t_3 = __pyx_t_2;
+          goto __pyx_L106_bool_binop_done;
+        }
+        __pyx_t_2 = ((__pyx_v_y0 == __pyx_v_y1) != 0);
+        if (__pyx_t_2) {
+        } else {
+          __pyx_t_3 = __pyx_t_2;
+          goto __pyx_L106_bool_binop_done;
+        }
+        __pyx_t_2 = ((__pyx_v_z0 == __pyx_v_z1) != 0);
+        __pyx_t_3 = __pyx_t_2;
+        __pyx_L106_bool_binop_done:;
+        if (__pyx_t_3) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":534
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0
+ *                 if x0 == x1 and y0 == y1 and z0 == z1:
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1             # <<<<<<<<<<<<<<
+ *                 pt0 = numpy.array([x0, y0, z0])
+ *                 naxis = (pt1 - pt0) / linalg.norm(pt1 - pt0)
+ */
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_z1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_left, __pyx_n_s_r1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 534, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_v_x0 = __pyx_t_30;
+          __pyx_v_y0 = __pyx_t_16;
+          __pyx_v_z0 = __pyx_t_15;
+          __pyx_v_r0 = __pyx_t_14;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":533
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0
+ *                 if x0 == x1 and y0 == y1 and z0 == z1:             # <<<<<<<<<<<<<<
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1
+ *                 pt0 = numpy.array([x0, y0, z0])
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":535
+ *                 if x0 == x1 and y0 == y1 and z0 == z1:
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1
+ *                 pt0 = numpy.array([x0, y0, z0])             # <<<<<<<<<<<<<<
+ *                 naxis = (pt1 - pt0) / linalg.norm(pt1 - pt0)
+ *                 # no need to clip if the cones are perfectly aligned
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_numpy); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        __pyx_t_10 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __pyx_t_17 = PyList_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_GIVEREF(__pyx_t_11);
+        PyList_SET_ITEM(__pyx_t_17, 0, __pyx_t_11);
+        __Pyx_GIVEREF(__pyx_t_10);
+        PyList_SET_ITEM(__pyx_t_17, 1, __pyx_t_10);
+        __Pyx_GIVEREF(__pyx_t_9);
+        PyList_SET_ITEM(__pyx_t_17, 2, __pyx_t_9);
+        __pyx_t_11 = 0;
+        __pyx_t_10 = 0;
+        __pyx_t_9 = 0;
+        __pyx_t_9 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_9)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_9);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+          }
+        }
+        __pyx_t_13 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_17) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_17);
+        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 535, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_pt0, __pyx_t_13);
+        __pyx_t_13 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":536
+ *                     x0, y0, z0, r0 = neighbor_left._x1, neighbor_left._y1, neighbor_left._z1, neighbor_left._r1
+ *                 pt0 = numpy.array([x0, y0, z0])
+ *                 naxis = (pt1 - pt0) / linalg.norm(pt1 - pt0)             # <<<<<<<<<<<<<<
+ *                 # no need to clip if the cones are perfectly aligned
+ * 
+ */
+        __pyx_t_13 = PyNumber_Subtract(__pyx_v_pt1, __pyx_v_pt0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_linalg); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_norm); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __pyx_t_17 = PyNumber_Subtract(__pyx_v_pt1, __pyx_v_pt0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_10 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+          if (likely(__pyx_t_10)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+            __Pyx_INCREF(__pyx_t_10);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_9, function);
+          }
+        }
+        __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_17) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_17);
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_9 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 536, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_naxis, __pyx_t_9);
+        __pyx_t_9 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":539
+ *                 # no need to clip if the cones are perfectly aligned
+ * 
+ *                 if all(axis == naxis):             # <<<<<<<<<<<<<<
+ *                     #parallel
+ *                     sp = Sphere(x1, y1, z1, r1)
+ */
+        __pyx_t_9 = PyObject_RichCompare(__pyx_v_axis, __pyx_v_naxis, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 539, __pyx_L1_error)
+        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 539, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 539, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        if (__pyx_t_3) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":541
+ *                 if all(axis == naxis):
+ *                     #parallel
+ *                     sp = Sphere(x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ * 
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 541, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 541, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_17 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 541, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 541, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_11 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 541, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_20 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+            __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_9);
+            if (likely(__pyx_t_20)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+              __Pyx_INCREF(__pyx_t_20);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_9)) {
+            PyObject *__pyx_temp[5] = {__pyx_t_20, __pyx_t_13, __pyx_t_17, __pyx_t_10, __pyx_t_11};
+            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+            PyObject *__pyx_temp[5] = {__pyx_t_20, __pyx_t_13, __pyx_t_17, __pyx_t_10, __pyx_t_11};
+            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_21 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 541, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            if (__pyx_t_20) {
+              __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_20); __pyx_t_20 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_8, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_8, __pyx_t_11);
+            __pyx_t_13 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_21, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_5);
+          __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":542
+ *                     #parallel
+ *                     sp = Sphere(x1, y1, z1, r1)
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)             # <<<<<<<<<<<<<<
+ * 
+ *                     sp.set_clip([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])
+ */
+          __pyx_t_5 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_get_infinite_cones(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 542, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          if (likely(__pyx_t_5 != Py_None)) {
+            PyObject* sequence = __pyx_t_5;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 2)) {
+              if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 542, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_21 = PyTuple_GET_ITEM(sequence, 1); 
+            __Pyx_INCREF(__pyx_t_9);
+            __Pyx_INCREF(__pyx_t_21);
+            #else
+            __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 542, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __pyx_t_21 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 542, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            #endif
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          } else {
+            __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 542, __pyx_L1_error)
+          }
+          __Pyx_XDECREF_SET(__pyx_v_c0, __pyx_t_9);
+          __pyx_t_9 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_c1, __pyx_t_21);
+          __pyx_t_21 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":544
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ * 
+ *                     sp.set_clip([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])             # <<<<<<<<<<<<<<
+ *                     objects.append(sp)
+ *                     with cython.wraparound(True):
+ */
+          __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_17 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_29 = PyNumber_Negative(__pyx_t_20); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_1 = PyNumber_Negative(__pyx_t_20); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_27 = PyNumber_Negative(__pyx_t_20); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          __pyx_t_20 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+            __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_11);
+            if (likely(__pyx_t_20)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_20);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_11, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_20, __pyx_t_10, __pyx_t_17, __pyx_t_13, __pyx_t_29, __pyx_t_1, __pyx_t_27};
+            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_20, __pyx_t_10, __pyx_t_17, __pyx_t_13, __pyx_t_29, __pyx_t_1, __pyx_t_27};
+            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_31 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            if (__pyx_t_20) {
+              __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_20); __pyx_t_20 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_8, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_31, 2+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_31, 3+__pyx_t_8, __pyx_t_29);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_31, 4+__pyx_t_8, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_31, 5+__pyx_t_8, __pyx_t_27);
+            __pyx_t_10 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_29 = 0;
+            __pyx_t_1 = 0;
+            __pyx_t_27 = 0;
+            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_31, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Plane); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __pyx_t_27 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __pyx_t_1 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_29 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_20 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+            __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_31);
+            if (likely(__pyx_t_20)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+              __Pyx_INCREF(__pyx_t_20);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_31, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_31)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_20, __pyx_t_27, __pyx_t_1, __pyx_t_29, __pyx_t_13, __pyx_t_17, __pyx_t_10};
+            __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_20, __pyx_t_27, __pyx_t_1, __pyx_t_29, __pyx_t_13, __pyx_t_17, __pyx_t_10};
+            __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_32 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            if (__pyx_t_20) {
+              __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_32, 0, __pyx_t_20); __pyx_t_20 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_32, 0+__pyx_t_8, __pyx_t_27);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_32, 1+__pyx_t_8, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_32, 2+__pyx_t_8, __pyx_t_29);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_32, 3+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_32, 4+__pyx_t_8, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_32, 5+__pyx_t_8, __pyx_t_10);
+            __pyx_t_27 = 0;
+            __pyx_t_1 = 0;
+            __pyx_t_29 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_32, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 544, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          __pyx_t_31 = PyList_New(4); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __Pyx_INCREF(__pyx_v_c0);
+          __Pyx_GIVEREF(__pyx_v_c0);
+          PyList_SET_ITEM(__pyx_t_31, 0, __pyx_v_c0);
+          __Pyx_INCREF(__pyx_v_c1);
+          __Pyx_GIVEREF(__pyx_v_c1);
+          PyList_SET_ITEM(__pyx_t_31, 1, __pyx_v_c1);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyList_SET_ITEM(__pyx_t_31, 2, __pyx_t_9);
+          __Pyx_GIVEREF(__pyx_t_11);
+          PyList_SET_ITEM(__pyx_t_31, 3, __pyx_t_11);
+          __pyx_t_9 = 0;
+          __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_21);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_21, function);
+            }
+          }
+          __pyx_t_5 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_11, __pyx_t_31) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_t_31);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":545
+ * 
+ *                     sp.set_clip([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])
+ *                     objects.append(sp)             # <<<<<<<<<<<<<<
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])
+ */
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 545, __pyx_L1_error)
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":547
+ *                     objects.append(sp)
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                 elif r0 == r1 == r2:
+ *                     # simplest join: two non-parallel cylinders (no need for all that nastiness below)
+ */
+          __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 547, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_5); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 547, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":539
+ *                 # no need to clip if the cones are perfectly aligned
+ * 
+ *                 if all(axis == naxis):             # <<<<<<<<<<<<<<
+ *                     #parallel
+ *                     sp = Sphere(x1, y1, z1, r1)
+ */
+          goto __pyx_L109;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":548
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])
+ *                 elif r0 == r1 == r2:             # <<<<<<<<<<<<<<
+ *                     # simplest join: two non-parallel cylinders (no need for all that nastiness below)
+ *                     sp = Sphere(x1, y1, z1, r1)
+ */
+        __pyx_t_3 = (__pyx_v_r0 == __pyx_v_r1);
+        if (__pyx_t_3) {
+          __pyx_t_3 = (__pyx_v_r1 == __pyx_v_r2);
+        }
+        __pyx_t_2 = (__pyx_t_3 != 0);
+        if (__pyx_t_2) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":550
+ *                 elif r0 == r1 == r2:
+ *                     # simplest join: two non-parallel cylinders (no need for all that nastiness below)
+ *                     sp = Sphere(x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *                     sp.set_clip([Intersection([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])])
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 550, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __pyx_t_31 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 550, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __pyx_t_11 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 550, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 550, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          __pyx_t_32 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 550, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __pyx_t_10 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) {
+            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_21);
+            if (likely(__pyx_t_10)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
+              __Pyx_INCREF(__pyx_t_10);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_21, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_21)) {
+            PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_t_31, __pyx_t_11, __pyx_t_9, __pyx_t_32};
+            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) {
+            PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_t_31, __pyx_t_11, __pyx_t_9, __pyx_t_32};
+            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 550, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_10) {
+              __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_10); __pyx_t_10 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_31);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_t_31);
+            __Pyx_GIVEREF(__pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_t_11);
+            __Pyx_GIVEREF(__pyx_t_9);
+            PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_8, __pyx_t_9);
+            __Pyx_GIVEREF(__pyx_t_32);
+            PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_8, __pyx_t_32);
+            __pyx_t_31 = 0;
+            __pyx_t_11 = 0;
+            __pyx_t_9 = 0;
+            __pyx_t_32 = 0;
+            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_17, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_5);
+          __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":551
+ *                     # simplest join: two non-parallel cylinders (no need for all that nastiness below)
+ *                     sp = Sphere(x1, y1, z1, r1)
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)             # <<<<<<<<<<<<<<
+ *                     sp.set_clip([Intersection([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])])
+ *                     objects.append(sp)
+ */
+          __pyx_t_5 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_get_infinite_cones(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 551, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          if (likely(__pyx_t_5 != Py_None)) {
+            PyObject* sequence = __pyx_t_5;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 2)) {
+              if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 551, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_21 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); 
+            __Pyx_INCREF(__pyx_t_21);
+            __Pyx_INCREF(__pyx_t_17);
+            #else
+            __pyx_t_21 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 551, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 551, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            #endif
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          } else {
+            __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 551, __pyx_L1_error)
+          }
+          __Pyx_XDECREF_SET(__pyx_v_c0, __pyx_t_21);
+          __pyx_t_21 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_c1, __pyx_t_17);
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":552
+ *                     sp = Sphere(x1, y1, z1, r1)
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *                     sp.set_clip([Intersection([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])])             # <<<<<<<<<<<<<<
+ *                     objects.append(sp)
+ *                     with cython.wraparound(True):
+ */
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_11);
+          __pyx_t_31 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __pyx_t_10 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_1 = PyNumber_Negative(__pyx_t_29); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_27 = PyNumber_Negative(__pyx_t_29); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_20 = PyNumber_Negative(__pyx_t_29); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_29 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+            __pyx_t_29 = PyMethod_GET_SELF(__pyx_t_11);
+            if (likely(__pyx_t_29)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_29);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_11, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_29, __pyx_t_31, __pyx_t_10, __pyx_t_13, __pyx_t_1, __pyx_t_27, __pyx_t_20};
+            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_29, __pyx_t_31, __pyx_t_10, __pyx_t_13, __pyx_t_1, __pyx_t_27, __pyx_t_20};
+            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_33 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_33);
+            if (__pyx_t_29) {
+              __Pyx_GIVEREF(__pyx_t_29); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_29); __pyx_t_29 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_31);
+            PyTuple_SET_ITEM(__pyx_t_33, 0+__pyx_t_8, __pyx_t_31);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_33, 1+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_33, 2+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_33, 3+__pyx_t_8, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_33, 4+__pyx_t_8, __pyx_t_27);
+            __Pyx_GIVEREF(__pyx_t_20);
+            PyTuple_SET_ITEM(__pyx_t_33, 5+__pyx_t_8, __pyx_t_20);
+            __pyx_t_31 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_1 = 0;
+            __pyx_t_27 = 0;
+            __pyx_t_20 = 0;
+            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_33, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_GetModuleGlobalName(__pyx_t_33, __pyx_n_s_Plane); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __pyx_t_20 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_27 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __pyx_t_1 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_10);
+          __pyx_t_31 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __pyx_t_29 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_33))) {
+            __pyx_t_29 = PyMethod_GET_SELF(__pyx_t_33);
+            if (likely(__pyx_t_29)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_33);
+              __Pyx_INCREF(__pyx_t_29);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_33, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_33)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_29, __pyx_t_20, __pyx_t_27, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_31};
+            __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_33, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_33)) {
+            PyObject *__pyx_temp[7] = {__pyx_t_29, __pyx_t_20, __pyx_t_27, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_31};
+            __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_33, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_34 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_34);
+            if (__pyx_t_29) {
+              __Pyx_GIVEREF(__pyx_t_29); PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_t_29); __pyx_t_29 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_20);
+            PyTuple_SET_ITEM(__pyx_t_34, 0+__pyx_t_8, __pyx_t_20);
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_34, 1+__pyx_t_8, __pyx_t_27);
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_34, 2+__pyx_t_8, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_34, 3+__pyx_t_8, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_34, 4+__pyx_t_8, __pyx_t_10);
+            __Pyx_GIVEREF(__pyx_t_31);
+            PyTuple_SET_ITEM(__pyx_t_34, 5+__pyx_t_8, __pyx_t_31);
+            __pyx_t_20 = 0;
+            __pyx_t_27 = 0;
+            __pyx_t_1 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_10 = 0;
+            __pyx_t_31 = 0;
+            __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_33, __pyx_t_34, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 552, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          __pyx_t_33 = PyList_New(4); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __Pyx_INCREF(__pyx_v_c0);
+          __Pyx_GIVEREF(__pyx_v_c0);
+          PyList_SET_ITEM(__pyx_t_33, 0, __pyx_v_c0);
+          __Pyx_INCREF(__pyx_v_c1);
+          __Pyx_GIVEREF(__pyx_v_c1);
+          PyList_SET_ITEM(__pyx_t_33, 1, __pyx_v_c1);
+          __Pyx_GIVEREF(__pyx_t_9);
+          PyList_SET_ITEM(__pyx_t_33, 2, __pyx_t_9);
+          __Pyx_GIVEREF(__pyx_t_11);
+          PyList_SET_ITEM(__pyx_t_33, 3, __pyx_t_11);
+          __pyx_t_9 = 0;
+          __pyx_t_11 = 0;
+          __pyx_t_11 = NULL;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_32);
+            if (likely(__pyx_t_11)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_32, function);
+            }
+          }
+          __pyx_t_21 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_32, __pyx_t_11, __pyx_t_33) : __Pyx_PyObject_CallOneArg(__pyx_t_32, __pyx_t_33);
+          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = PyList_New(1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_GIVEREF(__pyx_t_21);
+          PyList_SET_ITEM(__pyx_t_32, 0, __pyx_t_21);
+          __pyx_t_21 = 0;
+          __pyx_t_21 = NULL;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_21)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_21);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+            }
+          }
+          __pyx_t_5 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_21, __pyx_t_32) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_32);
+          __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 552, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":553
+ *                     c0, c1 = get_infinite_cones(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2)
+ *                     sp.set_clip([Intersection([c0, c1, Plane(x0, y0, z0, -naxis[0], -naxis[1], -naxis[2]), Plane(x2, y2, z2, axis[0], axis[1], axis[2])])])
+ *                     objects.append(sp)             # <<<<<<<<<<<<<<
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])
+ */
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 553, __pyx_L1_error)
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":555
+ *                     objects.append(sp)
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     # is the turn sharp or not
+ */
+          __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 555, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_5); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 555, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":548
+ *                     with cython.wraparound(True):
+ *                         joingroup.append(objects[-1])
+ *                 elif r0 == r1 == r2:             # <<<<<<<<<<<<<<
+ *                     # simplest join: two non-parallel cylinders (no need for all that nastiness below)
+ *                     sp = Sphere(x1, y1, z1, r1)
+ */
+          goto __pyx_L109;
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":559
+ *                     # is the turn sharp or not
+ *                     # CTNG:joinangle
+ *                     sharp_turn = numpy.dot(axis, naxis) < 0             # <<<<<<<<<<<<<<
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)
+ */
+        /*else*/ {
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_numpy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 559, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_dot); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 559, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_32);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_32, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_32)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_32)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_5);
+          } else
+          #endif
+          {
+            __pyx_t_21 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 559, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            if (__pyx_t_17) {
+              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_17); __pyx_t_17 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_axis);
+            __Pyx_GIVEREF(__pyx_v_axis);
+            PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_8, __pyx_v_axis);
+            __Pyx_INCREF(__pyx_v_naxis);
+            __Pyx_GIVEREF(__pyx_v_naxis);
+            PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_8, __pyx_v_naxis);
+            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_32, __pyx_t_21, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_32); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 559, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_32); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 559, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_v_sharp_turn = __pyx_t_2;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":561
+ *                     sharp_turn = numpy.dot(axis, naxis) < 0
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)             # <<<<<<<<<<<<<<
+ *                     radial_vec = numpy.cross(plane_normal, axis)
+ *                     nradial_vec = numpy.cross(plane_normal, naxis)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 561, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_cross); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 561, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_21);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_21, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_21)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_32 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 561, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_32 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 561, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 561, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_5) {
+              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_5); __pyx_t_5 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_axis);
+            __Pyx_GIVEREF(__pyx_v_axis);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_axis);
+            __Pyx_INCREF(__pyx_v_naxis);
+            __Pyx_GIVEREF(__pyx_v_naxis);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_v_naxis);
+            __pyx_t_32 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_17, NULL); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 561, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_plane_normal, __pyx_t_32);
+          __pyx_t_32 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":562
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)
+ *                     radial_vec = numpy.cross(plane_normal, axis)             # <<<<<<<<<<<<<<
+ *                     nradial_vec = numpy.cross(plane_normal, naxis)
+ *                     # normalize all of these
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_numpy); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 562, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_cross); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 562, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __pyx_t_21 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_21)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_21);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_v_plane_normal, __pyx_v_axis};
+            __pyx_t_32 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 562, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_21, __pyx_v_plane_normal, __pyx_v_axis};
+            __pyx_t_32 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 562, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          {
+            __pyx_t_5 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 562, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            if (__pyx_t_21) {
+              __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_21); __pyx_t_21 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_plane_normal);
+            __Pyx_GIVEREF(__pyx_v_plane_normal);
+            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_v_plane_normal);
+            __Pyx_INCREF(__pyx_v_axis);
+            __Pyx_GIVEREF(__pyx_v_axis);
+            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_v_axis);
+            __pyx_t_32 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_5, NULL); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 562, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_radial_vec, __pyx_t_32);
+          __pyx_t_32 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":563
+ *                     plane_normal = numpy.cross(axis, naxis)
+ *                     radial_vec = numpy.cross(plane_normal, axis)
+ *                     nradial_vec = numpy.cross(plane_normal, naxis)             # <<<<<<<<<<<<<<
+ *                     # normalize all of these
+ *                     radial_vec /= linalg.norm(radial_vec)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_numpy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 563, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_cross); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_5);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_5, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_5)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_plane_normal, __pyx_v_naxis};
+            __pyx_t_32 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 563, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_plane_normal, __pyx_v_naxis};
+            __pyx_t_32 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 563, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_32);
+          } else
+          #endif
+          {
+            __pyx_t_21 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 563, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            if (__pyx_t_17) {
+              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_17); __pyx_t_17 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_plane_normal);
+            __Pyx_GIVEREF(__pyx_v_plane_normal);
+            PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_8, __pyx_v_plane_normal);
+            __Pyx_INCREF(__pyx_v_naxis);
+            __Pyx_GIVEREF(__pyx_v_naxis);
+            PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_8, __pyx_v_naxis);
+            __pyx_t_32 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_21, NULL); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 563, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_nradial_vec, __pyx_t_32);
+          __pyx_t_32 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":565
+ *                     nradial_vec = numpy.cross(plane_normal, naxis)
+ *                     # normalize all of these
+ *                     radial_vec /= linalg.norm(radial_vec)             # <<<<<<<<<<<<<<
+ *                     nradial_vec /= linalg.norm(nradial_vec)
+ * 
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_linalg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_norm); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 565, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = NULL;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) {
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_21);
+            if (likely(__pyx_t_5)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
+              __Pyx_INCREF(__pyx_t_5);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_21, function);
+            }
+          }
+          __pyx_t_32 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_5, __pyx_v_radial_vec) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_v_radial_vec);
+          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+          if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 565, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __pyx_t_21 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_radial_vec, __pyx_t_32); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 565, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __Pyx_DECREF_SET(__pyx_v_radial_vec, __pyx_t_21);
+          __pyx_t_21 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":566
+ *                     # normalize all of these
+ *                     radial_vec /= linalg.norm(radial_vec)
+ *                     nradial_vec /= linalg.norm(nradial_vec)             # <<<<<<<<<<<<<<
+ * 
+ *                     # count the corners that are inside the other cone (for both ways)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_linalg); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 566, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_32, __pyx_n_s_norm); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = NULL;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+            __pyx_t_32 = PyMethod_GET_SELF(__pyx_t_5);
+            if (likely(__pyx_t_32)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+              __Pyx_INCREF(__pyx_t_32);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_5, function);
+            }
+          }
+          __pyx_t_21 = (__pyx_t_32) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_32, __pyx_v_nradial_vec) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_nradial_vec);
+          __Pyx_XDECREF(__pyx_t_32); __pyx_t_32 = 0;
+          if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 566, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_nradial_vec, __pyx_t_21); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __Pyx_DECREF_SET(__pyx_v_nradial_vec, __pyx_t_5);
+          __pyx_t_5 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":570
+ *                     # count the corners that are inside the other cone (for both ways)
+ *                     # CTNG:outsidecorners
+ *                     corner_pts = [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec, pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec]             # <<<<<<<<<<<<<<
+ *                     my_corner_count = count_outside(neighbor_left, [corner_pts[0], corner_pts[1]], 0)
+ *                     corner_count = my_corner_count + count_outside(cone, [corner_pts[2], corner_pts[3]], 0)
+ */
+          __pyx_t_5 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_21 = PyNumber_Multiply(__pyx_t_5, __pyx_v_radial_vec); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = PyNumber_Add(__pyx_v_pt1, __pyx_t_21); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __pyx_t_21 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __pyx_t_32 = PyNumber_Multiply(__pyx_t_21, __pyx_v_radial_vec); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+          __pyx_t_21 = PyNumber_Subtract(__pyx_v_pt1, __pyx_t_32); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_21);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __pyx_t_17 = PyNumber_Multiply(__pyx_t_32, __pyx_v_nradial_vec); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = PyNumber_Add(__pyx_v_pt1, __pyx_t_17); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_33 = PyNumber_Multiply(__pyx_t_17, __pyx_v_nradial_vec); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = PyNumber_Subtract(__pyx_v_pt1, __pyx_t_33); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          __pyx_t_33 = PyList_New(4); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 570, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyList_SET_ITEM(__pyx_t_33, 0, __pyx_t_5);
+          __Pyx_GIVEREF(__pyx_t_21);
+          PyList_SET_ITEM(__pyx_t_33, 1, __pyx_t_21);
+          __Pyx_GIVEREF(__pyx_t_32);
+          PyList_SET_ITEM(__pyx_t_33, 2, __pyx_t_32);
+          __Pyx_GIVEREF(__pyx_t_17);
+          PyList_SET_ITEM(__pyx_t_33, 3, __pyx_t_17);
+          __pyx_t_5 = 0;
+          __pyx_t_21 = 0;
+          __pyx_t_32 = 0;
+          __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_corner_pts, ((PyObject*)__pyx_t_33));
+          __pyx_t_33 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":571
+ *                     # CTNG:outsidecorners
+ *                     corner_pts = [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec, pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec]
+ *                     my_corner_count = count_outside(neighbor_left, [corner_pts[0], corner_pts[1]], 0)             # <<<<<<<<<<<<<<
+ *                     corner_count = my_corner_count + count_outside(cone, [corner_pts[2], corner_pts[3]], 0)
+ * 
+ */
+          __pyx_t_33 = PyList_New(2); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 571, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_corner_pts, 0));
+          __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_corner_pts, 0));
+          PyList_SET_ITEM(__pyx_t_33, 0, PyList_GET_ITEM(__pyx_v_corner_pts, 0));
+          __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_corner_pts, 1));
+          __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_corner_pts, 1));
+          PyList_SET_ITEM(__pyx_t_33, 1, PyList_GET_ITEM(__pyx_v_corner_pts, 1));
+          __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_neighbor_left, ((PyObject*)__pyx_t_33), 0.0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 571, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_my_corner_count, __pyx_t_17);
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":572
+ *                     corner_pts = [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec, pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec]
+ *                     my_corner_count = count_outside(neighbor_left, [corner_pts[0], corner_pts[1]], 0)
+ *                     corner_count = my_corner_count + count_outside(cone, [corner_pts[2], corner_pts[3]], 0)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+          __pyx_t_17 = PyList_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 572, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_corner_pts, 2));
+          __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_corner_pts, 2));
+          PyList_SET_ITEM(__pyx_t_17, 0, PyList_GET_ITEM(__pyx_v_corner_pts, 2));
+          __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_corner_pts, 3));
+          __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_corner_pts, 3));
+          PyList_SET_ITEM(__pyx_t_17, 1, PyList_GET_ITEM(__pyx_v_corner_pts, 3));
+          __pyx_t_33 = __Pyx_PyInt_From_int(__pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_cone, ((PyObject*)__pyx_t_17), 0.0)); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 572, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = PyNumber_Add(__pyx_v_my_corner_count, __pyx_t_33); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 572, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_corner_count, __pyx_t_17);
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":579
+ *     #                if corner_count not in (1, 2, 3, 4):
+ *     #                    print 'corner_count: ', corner_count, [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec] + [pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec]
+ *                     if corner_count == 2:             # <<<<<<<<<<<<<<
+ *                         # CTNG:2outside
+ *                         # add clipped sphere; same rule if sharp or mild turn
+ */
+          __pyx_t_17 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 579, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 579, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":582
+ *                         # CTNG:2outside
+ *                         # add clipped sphere; same rule if sharp or mild turn
+ *                         objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)             # <<<<<<<<<<<<<<
+ *                         with cython.wraparound(True):
+ *                             joingroup.append(objects[-1])
+ */
+            __pyx_t_17 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_join_outside(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2, __pyx_v_dx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 582, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_33 = PyNumber_InPlaceAdd(__pyx_v_objects, __pyx_t_17); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 582, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_33);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF_SET(__pyx_v_objects, ((PyObject*)__pyx_t_33));
+            __pyx_t_33 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":584
+ *                         objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)
+ *                         with cython.wraparound(True):
+ *                             joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                             obj_pts_dict[objects[-1]] = corner_pts
+ *                     elif corner_count == 3:
+ */
+            __pyx_t_33 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 584, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_33);
+            __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_33); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 584, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":585
+ *                         with cython.wraparound(True):
+ *                             joingroup.append(objects[-1])
+ *                             obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                     elif corner_count == 3:
+ *                         sp = Sphere(x1, y1, z1, r1)
+ */
+            __pyx_t_33 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 585, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_33);
+            if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_33, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":579
+ *     #                if corner_count not in (1, 2, 3, 4):
+ *     #                    print 'corner_count: ', corner_count, [pt1 + r1 * radial_vec, pt1 - r1 * radial_vec] + [pt1 + r1 * nradial_vec, pt1 - r1 * nradial_vec]
+ *                     if corner_count == 2:             # <<<<<<<<<<<<<<
+ *                         # CTNG:2outside
+ *                         # add clipped sphere; same rule if sharp or mild turn
+ */
+            goto __pyx_L110;
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":586
+ *                             joingroup.append(objects[-1])
+ *                             obj_pts_dict[objects[-1]] = corner_pts
+ *                     elif corner_count == 3:             # <<<<<<<<<<<<<<
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:
+ */
+          __pyx_t_33 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 586, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_33);
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_33); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 586, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":587
+ *                             obj_pts_dict[objects[-1]] = corner_pts
+ *                     elif corner_count == 3:
+ *                         sp = Sphere(x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *                         if sharp_turn:
+ *                             # CTNG:3outobtuse
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 587, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_32 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 587, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 587, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_21);
+            __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_11 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 587, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_9 = NULL;
+            __pyx_t_8 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+              __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_17);
+              if (likely(__pyx_t_9)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                __Pyx_INCREF(__pyx_t_9);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_17, function);
+                __pyx_t_8 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_17)) {
+              PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_t_32, __pyx_t_21, __pyx_t_5, __pyx_t_11};
+              __pyx_t_33 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 587, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __Pyx_GOTREF(__pyx_t_33);
+              __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+              PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_t_32, __pyx_t_21, __pyx_t_5, __pyx_t_11};
+              __pyx_t_33 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 587, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __Pyx_GOTREF(__pyx_t_33);
+              __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+              __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            } else
+            #endif
+            {
+              __pyx_t_34 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 587, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_34);
+              if (__pyx_t_9) {
+                __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_34, 0, __pyx_t_9); __pyx_t_9 = NULL;
+              }
+              __Pyx_GIVEREF(__pyx_t_32);
+              PyTuple_SET_ITEM(__pyx_t_34, 0+__pyx_t_8, __pyx_t_32);
+              __Pyx_GIVEREF(__pyx_t_21);
+              PyTuple_SET_ITEM(__pyx_t_34, 1+__pyx_t_8, __pyx_t_21);
+              __Pyx_GIVEREF(__pyx_t_5);
+              PyTuple_SET_ITEM(__pyx_t_34, 2+__pyx_t_8, __pyx_t_5);
+              __Pyx_GIVEREF(__pyx_t_11);
+              PyTuple_SET_ITEM(__pyx_t_34, 3+__pyx_t_8, __pyx_t_11);
+              __pyx_t_32 = 0;
+              __pyx_t_21 = 0;
+              __pyx_t_5 = 0;
+              __pyx_t_11 = 0;
+              __pyx_t_33 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_34, NULL); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 587, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_33);
+            __pyx_t_33 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":588
+ *                     elif corner_count == 3:
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:             # <<<<<<<<<<<<<<
+ *                             # CTNG:3outobtuse
+ *                             if my_corner_count == 1:
+ */
+            __pyx_t_2 = (__pyx_v_sharp_turn != 0);
+            if (__pyx_t_2) {
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":590
+ *                         if sharp_turn:
+ *                             # CTNG:3outobtuse
+ *                             if my_corner_count == 1:             # <<<<<<<<<<<<<<
+ *                                 sp.set_clip([Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])
+ *                             else:
+ */
+              __pyx_t_33 = __Pyx_PyInt_EqObjC(__pyx_v_my_corner_count, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 590, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_33); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 590, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+              if (__pyx_t_2) {
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":591
+ *                             # CTNG:3outobtuse
+ *                             if my_corner_count == 1:
+ *                                 sp.set_clip([Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])             # <<<<<<<<<<<<<<
+ *                             else:
+ *                                 sp.set_clip([Plane(x1, y1, z1, axis[0], axis[1], axis[2])])
+ */
+                __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_5);
+                __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_32 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_31 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_10 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_13 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __pyx_t_9 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+                  __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_11);
+                  if (likely(__pyx_t_9)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                    __Pyx_INCREF(__pyx_t_9);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_11, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_5, __pyx_t_21, __pyx_t_32, __pyx_t_31, __pyx_t_10, __pyx_t_13};
+                  __pyx_t_34 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 591, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_5, __pyx_t_21, __pyx_t_32, __pyx_t_31, __pyx_t_10, __pyx_t_13};
+                  __pyx_t_34 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 591, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_1 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_1);
+                  if (__pyx_t_9) {
+                    __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_9); __pyx_t_9 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_5);
+                  PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_t_5);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_t_21);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_31);
+                  PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_8, __pyx_t_31);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_8, __pyx_t_13);
+                  __pyx_t_5 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_31 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_13 = 0;
+                  __pyx_t_34 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 591, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __Pyx_GIVEREF(__pyx_t_34);
+                PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_34);
+                __pyx_t_34 = 0;
+                __pyx_t_34 = NULL;
+                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+                  __pyx_t_34 = PyMethod_GET_SELF(__pyx_t_17);
+                  if (likely(__pyx_t_34)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                    __Pyx_INCREF(__pyx_t_34);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_17, function);
+                  }
+                }
+                __pyx_t_33 = (__pyx_t_34) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_34, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_11);
+                __Pyx_XDECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 591, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":590
+ *                         if sharp_turn:
+ *                             # CTNG:3outobtuse
+ *                             if my_corner_count == 1:             # <<<<<<<<<<<<<<
+ *                                 sp.set_clip([Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])
+ *                             else:
+ */
+                goto __pyx_L112;
+              }
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":593
+ *                                 sp.set_clip([Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])
+ *                             else:
+ *                                 sp.set_clip([Plane(x1, y1, z1, axis[0], axis[1], axis[2])])             # <<<<<<<<<<<<<<
+ *                             objects.append(sp)
+ *                             with cython.wraparound(True):
+ */
+              /*else*/ {
+                __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_GetModuleGlobalName(__pyx_t_34, __pyx_n_s_Plane); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __pyx_t_31 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_32 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_5 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_34))) {
+                  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_34);
+                  if (likely(__pyx_t_5)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_34);
+                    __Pyx_INCREF(__pyx_t_5);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_34, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_34)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_31, __pyx_t_32, __pyx_t_21};
+                  __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_34, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 593, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_34)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_5, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_31, __pyx_t_32, __pyx_t_21};
+                  __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_34, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 593, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_9 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 593, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_9);
+                  if (__pyx_t_5) {
+                    __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_1);
+                  PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_1);
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_13);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_31);
+                  PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_t_31);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_8, __pyx_t_21);
+                  __pyx_t_1 = 0;
+                  __pyx_t_13 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_31 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_34, __pyx_t_9, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 593, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __pyx_t_34 = PyList_New(1); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __Pyx_GIVEREF(__pyx_t_11);
+                PyList_SET_ITEM(__pyx_t_34, 0, __pyx_t_11);
+                __pyx_t_11 = 0;
+                __pyx_t_11 = NULL;
+                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+                  __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_17);
+                  if (likely(__pyx_t_11)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                    __Pyx_INCREF(__pyx_t_11);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_17, function);
+                  }
+                }
+                __pyx_t_33 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_11, __pyx_t_34) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_34);
+                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 593, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+              }
+              __pyx_L112:;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":594
+ *                             else:
+ *                                 sp.set_clip([Plane(x1, y1, z1, axis[0], axis[1], axis[2])])
+ *                             objects.append(sp)             # <<<<<<<<<<<<<<
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ */
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 594, __pyx_L1_error)
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":596
+ *                             objects.append(sp)
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                         else:
+ */
+              __pyx_t_33 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 596, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_33); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 596, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":597
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                         else:
+ *                             # CTNG:3outacute
+ */
+              __pyx_t_33 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 597, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_33, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 597, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":588
+ *                     elif corner_count == 3:
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:             # <<<<<<<<<<<<<<
+ *                             # CTNG:3outobtuse
+ *                             if my_corner_count == 1:
+ */
+              goto __pyx_L111;
+            }
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":600
+ *                         else:
+ *                             # CTNG:3outacute
+ *                             objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)             # <<<<<<<<<<<<<<
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ */
+            /*else*/ {
+              __pyx_t_33 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_join_outside(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2, __pyx_v_dx); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 600, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_v_objects, __pyx_t_33); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 600, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+              __Pyx_DECREF_SET(__pyx_v_objects, ((PyObject*)__pyx_t_17));
+              __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":602
+ *                             objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                                 if my_corner_count == 1:
+ */
+              __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 602, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 602, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":603
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                                 if my_corner_count == 1:
+ *                                     objects.append(sp)
+ */
+              __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 603, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_17, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 603, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":604
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                                 if my_corner_count == 1:             # <<<<<<<<<<<<<<
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ */
+              __pyx_t_17 = __Pyx_PyInt_EqObjC(__pyx_v_my_corner_count, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 604, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 604, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              if (__pyx_t_2) {
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":605
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                                 if my_corner_count == 1:
+ *                                     objects.append(sp)             # <<<<<<<<<<<<<<
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])
+ */
+                __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 605, __pyx_L1_error)
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":606
+ *                                 if my_corner_count == 1:
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])             # <<<<<<<<<<<<<<
+ *                                     joingroup.append(objects[-1])
+ *                                     obj_pts_dict[objects[-1]] = corner_pts
+ */
+                __pyx_t_33 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __pyx_t_34 = __Pyx_PyObject_GetAttrStr(__pyx_t_33, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_9 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_32 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_31 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_10 = PyNumber_Negative(__pyx_t_31); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                __pyx_t_31 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_13 = PyNumber_Negative(__pyx_t_31); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                __pyx_t_31 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_1 = PyNumber_Negative(__pyx_t_31); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                __pyx_t_31 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+                  __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_11);
+                  if (likely(__pyx_t_31)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                    __Pyx_INCREF(__pyx_t_31);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_11, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_31, __pyx_t_9, __pyx_t_21, __pyx_t_32, __pyx_t_10, __pyx_t_13, __pyx_t_1};
+                  __pyx_t_33 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_GOTREF(__pyx_t_33);
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_31, __pyx_t_9, __pyx_t_21, __pyx_t_32, __pyx_t_10, __pyx_t_13, __pyx_t_1};
+                  __pyx_t_33 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_GOTREF(__pyx_t_33);
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_5 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_5);
+                  if (__pyx_t_31) {
+                    __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_31); __pyx_t_31 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_9);
+                  PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_t_9);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_t_21);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_8, __pyx_t_13);
+                  __Pyx_GIVEREF(__pyx_t_1);
+                  PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_8, __pyx_t_1);
+                  __pyx_t_9 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_13 = 0;
+                  __pyx_t_1 = 0;
+                  __pyx_t_33 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_33);
+                  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Plane); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_5);
+                __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __pyx_t_13 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __pyx_t_32 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_31 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+                  __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_5);
+                  if (likely(__pyx_t_31)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+                    __Pyx_INCREF(__pyx_t_31);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_5, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_5)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_31, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_21, __pyx_t_9};
+                  __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_31, __pyx_t_1, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_21, __pyx_t_9};
+                  __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_27 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_27);
+                  if (__pyx_t_31) {
+                    __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_31); __pyx_t_31 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_1);
+                  PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_8, __pyx_t_1);
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_8, __pyx_t_13);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_8, __pyx_t_21);
+                  __Pyx_GIVEREF(__pyx_t_9);
+                  PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_8, __pyx_t_9);
+                  __pyx_t_1 = 0;
+                  __pyx_t_13 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_9 = 0;
+                  __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_27, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 606, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_5);
+                __Pyx_GIVEREF(__pyx_t_33);
+                PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_33);
+                __Pyx_GIVEREF(__pyx_t_11);
+                PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_11);
+                __pyx_t_33 = 0;
+                __pyx_t_11 = 0;
+                __pyx_t_11 = NULL;
+                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_34))) {
+                  __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_34);
+                  if (likely(__pyx_t_11)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_34);
+                    __Pyx_INCREF(__pyx_t_11);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_34, function);
+                  }
+                }
+                __pyx_t_17 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_34, __pyx_t_11, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_34, __pyx_t_5);
+                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 606, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":607
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                     obj_pts_dict[objects[-1]] = corner_pts
+ *                                 else:
+ */
+                __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 607, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 607, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":608
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])
+ *                                     obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                                 else:
+ *                                     objects.append(sp)
+ */
+                __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 608, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_17, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 608, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":604
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                                 if my_corner_count == 1:             # <<<<<<<<<<<<<<
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ */
+                goto __pyx_L113;
+              }
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":610
+ *                                     obj_pts_dict[objects[-1]] = corner_pts
+ *                                 else:
+ *                                     objects.append(sp)             # <<<<<<<<<<<<<<
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])
+ */
+              /*else*/ {
+                __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 610, __pyx_L1_error)
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":611
+ *                                 else:
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])             # <<<<<<<<<<<<<<
+ *                                     joingroup.append(objects[-1])
+ *                                     obj_pts_dict[objects[-1]] = corner_pts
+ */
+                __pyx_t_34 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_34, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_5);
+                __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_33 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __pyx_t_27 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_32 = PyNumber_Negative(__pyx_t_21); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_10 = PyNumber_Negative(__pyx_t_21); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_13 = PyNumber_Negative(__pyx_t_21); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __pyx_t_21 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+                  __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_11);
+                  if (likely(__pyx_t_21)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                    __Pyx_INCREF(__pyx_t_21);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_11, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_33, __pyx_t_27, __pyx_t_9, __pyx_t_32, __pyx_t_10, __pyx_t_13};
+                  __pyx_t_34 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_33, __pyx_t_27, __pyx_t_9, __pyx_t_32, __pyx_t_10, __pyx_t_13};
+                  __pyx_t_34 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_1 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_1);
+                  if (__pyx_t_21) {
+                    __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_21); __pyx_t_21 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_33);
+                  PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_t_33);
+                  __Pyx_GIVEREF(__pyx_t_27);
+                  PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_t_27);
+                  __Pyx_GIVEREF(__pyx_t_9);
+                  PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_8, __pyx_t_9);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_8, __pyx_t_13);
+                  __pyx_t_33 = 0;
+                  __pyx_t_27 = 0;
+                  __pyx_t_9 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_13 = 0;
+                  __pyx_t_34 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_34);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Plane); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_13);
+                __pyx_t_10 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __pyx_t_32 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_9);
+                __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_33 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __pyx_t_21 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+                  __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1);
+                  if (likely(__pyx_t_21)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+                    __Pyx_INCREF(__pyx_t_21);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_1, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_1)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_9, __pyx_t_27, __pyx_t_33};
+                  __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_9, __pyx_t_27, __pyx_t_33};
+                  __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_31 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_31);
+                  if (__pyx_t_21) {
+                    __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_21); __pyx_t_21 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_13);
+                  PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_8, __pyx_t_13);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_32);
+                  PyTuple_SET_ITEM(__pyx_t_31, 2+__pyx_t_8, __pyx_t_32);
+                  __Pyx_GIVEREF(__pyx_t_9);
+                  PyTuple_SET_ITEM(__pyx_t_31, 3+__pyx_t_8, __pyx_t_9);
+                  __Pyx_GIVEREF(__pyx_t_27);
+                  PyTuple_SET_ITEM(__pyx_t_31, 4+__pyx_t_8, __pyx_t_27);
+                  __Pyx_GIVEREF(__pyx_t_33);
+                  PyTuple_SET_ITEM(__pyx_t_31, 5+__pyx_t_8, __pyx_t_33);
+                  __pyx_t_13 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_32 = 0;
+                  __pyx_t_9 = 0;
+                  __pyx_t_27 = 0;
+                  __pyx_t_33 = 0;
+                  __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_31, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 611, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __Pyx_GIVEREF(__pyx_t_34);
+                PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_34);
+                __Pyx_GIVEREF(__pyx_t_11);
+                PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_11);
+                __pyx_t_34 = 0;
+                __pyx_t_11 = 0;
+                __pyx_t_11 = NULL;
+                if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+                  __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5);
+                  if (likely(__pyx_t_11)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+                    __Pyx_INCREF(__pyx_t_11);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_5, function);
+                  }
+                }
+                __pyx_t_17 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_11, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1);
+                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 611, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":612
+ *                                     objects.append(sp)
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                     obj_pts_dict[objects[-1]] = corner_pts
+ * 
+ */
+                __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 612, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 612, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":613
+ *                                     objects[-1].set_clip([Plane(x0, y0, z0, -axis[0], -axis[1], -axis[2]), Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2])])
+ *                                     joingroup.append(objects[-1])
+ *                                     obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+                __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 613, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_17, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 613, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              }
+              __pyx_L113:;
+            }
+            __pyx_L111:;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":586
+ *                             joingroup.append(objects[-1])
+ *                             obj_pts_dict[objects[-1]] = corner_pts
+ *                     elif corner_count == 3:             # <<<<<<<<<<<<<<
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:
+ */
+            goto __pyx_L110;
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":617
+ * 
+ * 
+ *                     elif corner_count == 4:             # <<<<<<<<<<<<<<
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:
+ */
+          __pyx_t_17 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 617, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 617, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (__pyx_t_2) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":618
+ * 
+ *                     elif corner_count == 4:
+ *                         sp = Sphere(x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *                         if sharp_turn:
+ *                             # CTNG:4outobtuse
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 618, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 618, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_11 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 618, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_11);
+            __pyx_t_34 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 618, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_34);
+            __pyx_t_31 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 618, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_33 = NULL;
+            __pyx_t_8 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+              __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_5);
+              if (likely(__pyx_t_33)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+                __Pyx_INCREF(__pyx_t_33);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_5, function);
+                __pyx_t_8 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_5)) {
+              PyObject *__pyx_temp[5] = {__pyx_t_33, __pyx_t_1, __pyx_t_11, __pyx_t_34, __pyx_t_31};
+              __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 618, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0;
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+              PyObject *__pyx_temp[5] = {__pyx_t_33, __pyx_t_1, __pyx_t_11, __pyx_t_34, __pyx_t_31};
+              __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 618, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0;
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            } else
+            #endif
+            {
+              __pyx_t_27 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 618, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              if (__pyx_t_33) {
+                __Pyx_GIVEREF(__pyx_t_33); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_33); __pyx_t_33 = NULL;
+              }
+              __Pyx_GIVEREF(__pyx_t_1);
+              PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_8, __pyx_t_1);
+              __Pyx_GIVEREF(__pyx_t_11);
+              PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_8, __pyx_t_11);
+              __Pyx_GIVEREF(__pyx_t_34);
+              PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_8, __pyx_t_34);
+              __Pyx_GIVEREF(__pyx_t_31);
+              PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_8, __pyx_t_31);
+              __pyx_t_1 = 0;
+              __pyx_t_11 = 0;
+              __pyx_t_34 = 0;
+              __pyx_t_31 = 0;
+              __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_27, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 618, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_17);
+            __pyx_t_17 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":619
+ *                     elif corner_count == 4:
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:             # <<<<<<<<<<<<<<
+ *                             # CTNG:4outobtuse
+ *                             # join with the portions of a sphere that are outside at least one of the planes
+ */
+            __pyx_t_2 = (__pyx_v_sharp_turn != 0);
+            if (__pyx_t_2) {
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":622
+ *                             # CTNG:4outobtuse
+ *                             # join with the portions of a sphere that are outside at least one of the planes
+ *                             sp.set_clip([Union([             # <<<<<<<<<<<<<<
+ *                                 Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_sp, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Union); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_31);
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":623
+ *                             # join with the portions of a sphere that are outside at least one of the planes
+ *                             sp.set_clip([Union([
+ *                                 Plane(x1, y1, z1, axis[0], axis[1], axis[2]),             # <<<<<<<<<<<<<<
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *                             objects.append(sp)
+ */
+              __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_Plane); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_11);
+              __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_1);
+              __pyx_t_33 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              __pyx_t_32 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_32);
+              __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 623, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __pyx_t_21 = NULL;
+              __pyx_t_8 = 0;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+                __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_11);
+                if (likely(__pyx_t_21)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                  __Pyx_INCREF(__pyx_t_21);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_11, function);
+                  __pyx_t_8 = 1;
+                }
+              }
+              #if CYTHON_FAST_PYCALL
+              if (PyFunction_Check(__pyx_t_11)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_33, __pyx_t_9, __pyx_t_32, __pyx_t_10, __pyx_t_13};
+                __pyx_t_34 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 623, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_GOTREF(__pyx_t_34);
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+              } else
+              #endif
+              #if CYTHON_FAST_PYCCALL
+              if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_33, __pyx_t_9, __pyx_t_32, __pyx_t_10, __pyx_t_13};
+                __pyx_t_34 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 623, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_GOTREF(__pyx_t_34);
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+              } else
+              #endif
+              {
+                __pyx_t_20 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 623, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_20);
+                if (__pyx_t_21) {
+                  __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_21); __pyx_t_21 = NULL;
+                }
+                __Pyx_GIVEREF(__pyx_t_1);
+                PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_8, __pyx_t_1);
+                __Pyx_GIVEREF(__pyx_t_33);
+                PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_8, __pyx_t_33);
+                __Pyx_GIVEREF(__pyx_t_9);
+                PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_8, __pyx_t_9);
+                __Pyx_GIVEREF(__pyx_t_32);
+                PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_8, __pyx_t_32);
+                __Pyx_GIVEREF(__pyx_t_10);
+                PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_8, __pyx_t_10);
+                __Pyx_GIVEREF(__pyx_t_13);
+                PyTuple_SET_ITEM(__pyx_t_20, 5+__pyx_t_8, __pyx_t_13);
+                __pyx_t_1 = 0;
+                __pyx_t_33 = 0;
+                __pyx_t_9 = 0;
+                __pyx_t_32 = 0;
+                __pyx_t_10 = 0;
+                __pyx_t_13 = 0;
+                __pyx_t_34 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_20, NULL); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 623, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              }
+              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":624
+ *                             sp.set_clip([Union([
+ *                                 Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])             # <<<<<<<<<<<<<<
+ *                             objects.append(sp)
+ *                             with cython.wraparound(True):
+ */
+              __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_Plane); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_20);
+              __pyx_t_13 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_13);
+              __pyx_t_10 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_10);
+              __pyx_t_32 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_32);
+              __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              __pyx_t_33 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              __pyx_t_1 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_1);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_9);
+              __pyx_t_21 = PyNumber_Negative(__pyx_t_9); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 624, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_21);
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+              __pyx_t_9 = NULL;
+              __pyx_t_8 = 0;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_20))) {
+                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_20);
+                if (likely(__pyx_t_9)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+                  __Pyx_INCREF(__pyx_t_9);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_20, function);
+                  __pyx_t_8 = 1;
+                }
+              }
+              #if CYTHON_FAST_PYCALL
+              if (PyFunction_Check(__pyx_t_20)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_33, __pyx_t_1, __pyx_t_21};
+                __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 624, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __Pyx_GOTREF(__pyx_t_11);
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              } else
+              #endif
+              #if CYTHON_FAST_PYCCALL
+              if (__Pyx_PyFastCFunction_Check(__pyx_t_20)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_13, __pyx_t_10, __pyx_t_32, __pyx_t_33, __pyx_t_1, __pyx_t_21};
+                __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_20, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 624, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __Pyx_GOTREF(__pyx_t_11);
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+              } else
+              #endif
+              {
+                __pyx_t_29 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 624, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_29);
+                if (__pyx_t_9) {
+                  __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_9); __pyx_t_9 = NULL;
+                }
+                __Pyx_GIVEREF(__pyx_t_13);
+                PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_8, __pyx_t_13);
+                __Pyx_GIVEREF(__pyx_t_10);
+                PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_8, __pyx_t_10);
+                __Pyx_GIVEREF(__pyx_t_32);
+                PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_8, __pyx_t_32);
+                __Pyx_GIVEREF(__pyx_t_33);
+                PyTuple_SET_ITEM(__pyx_t_29, 3+__pyx_t_8, __pyx_t_33);
+                __Pyx_GIVEREF(__pyx_t_1);
+                PyTuple_SET_ITEM(__pyx_t_29, 4+__pyx_t_8, __pyx_t_1);
+                __Pyx_GIVEREF(__pyx_t_21);
+                PyTuple_SET_ITEM(__pyx_t_29, 5+__pyx_t_8, __pyx_t_21);
+                __pyx_t_13 = 0;
+                __pyx_t_10 = 0;
+                __pyx_t_32 = 0;
+                __pyx_t_33 = 0;
+                __pyx_t_1 = 0;
+                __pyx_t_21 = 0;
+                __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_29, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 624, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+              }
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":622
+ *                             # CTNG:4outobtuse
+ *                             # join with the portions of a sphere that are outside at least one of the planes
+ *                             sp.set_clip([Union([             # <<<<<<<<<<<<<<
+ *                                 Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ */
+              __pyx_t_20 = PyList_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_20);
+              __Pyx_GIVEREF(__pyx_t_34);
+              PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_34);
+              __Pyx_GIVEREF(__pyx_t_11);
+              PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_11);
+              __pyx_t_34 = 0;
+              __pyx_t_11 = 0;
+              __pyx_t_11 = NULL;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+                __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_31);
+                if (likely(__pyx_t_11)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                  __Pyx_INCREF(__pyx_t_11);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_31, function);
+                }
+              }
+              __pyx_t_27 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_11, __pyx_t_20) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_20);
+              __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+              if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+              __pyx_t_31 = PyList_New(1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_31);
+              __Pyx_GIVEREF(__pyx_t_27);
+              PyList_SET_ITEM(__pyx_t_31, 0, __pyx_t_27);
+              __pyx_t_27 = 0;
+              __pyx_t_27 = NULL;
+              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+                __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_5);
+                if (likely(__pyx_t_27)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+                  __Pyx_INCREF(__pyx_t_27);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_5, function);
+                }
+              }
+              __pyx_t_17 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_27, __pyx_t_31) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_31);
+              __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+              if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 622, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":625
+ *                                 Plane(x1, y1, z1, axis[0], axis[1], axis[2]),
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2])])])
+ *                             objects.append(sp)             # <<<<<<<<<<<<<<
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ */
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_objects, __pyx_v_sp); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 625, __pyx_L1_error)
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":627
+ *                             objects.append(sp)
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                         else:
+ */
+              __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 627, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 627, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":628
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                         else:
+ *                             # CTNG:4outacute (+ 1 more)
+ */
+              __pyx_t_17 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 628, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_17, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 628, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":619
+ *                     elif corner_count == 4:
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:             # <<<<<<<<<<<<<<
+ *                             # CTNG:4outobtuse
+ *                             # join with the portions of a sphere that are outside at least one of the planes
+ */
+              goto __pyx_L114;
+            }
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":632
+ *                             # CTNG:4outacute (+ 1 more)
+ *                             # join with the portions of a sphere that are outside both planes
+ *                             objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)             # <<<<<<<<<<<<<<
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ */
+            /*else*/ {
+              __pyx_t_17 = __pyx_f_6neuron_3rxd_10geometry3d_4ctng_join_outside(__pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2, __pyx_v_r2, __pyx_v_dx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 632, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_objects, __pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF_SET(__pyx_v_objects, ((PyObject*)__pyx_t_5));
+              __pyx_t_5 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":634
+ *                             objects += join_outside(x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2, r2, dx)
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])             # <<<<<<<<<<<<<<
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                             # AND clip the cone to not extend pass the union of the neighbor's plane and the neighbor
+ */
+              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 634, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_joingroup, __pyx_t_5); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 634, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":635
+ *                             with cython.wraparound(True):
+ *                                 joingroup.append(objects[-1])
+ *                                 obj_pts_dict[objects[-1]] = corner_pts             # <<<<<<<<<<<<<<
+ *                             # AND clip the cone to not extend pass the union of the neighbor's plane and the neighbor
+ *                             if r0 == r1:
+ */
+              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_objects, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 635, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              if (unlikely(PyDict_SetItem(__pyx_v_obj_pts_dict, __pyx_t_5, __pyx_v_corner_pts) < 0)) __PYX_ERR(0, 635, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":637
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                             # AND clip the cone to not extend pass the union of the neighbor's plane and the neighbor
+ *                             if r0 == r1:             # <<<<<<<<<<<<<<
+ *                                 neighbor_copy = Cylinder(x0, y0, z0, x1, y1, z1, r0)
+ *                             else:
+ */
+              __pyx_t_2 = ((__pyx_v_r0 == __pyx_v_r1) != 0);
+              if (__pyx_t_2) {
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":638
+ *                             # AND clip the cone to not extend pass the union of the neighbor's plane and the neighbor
+ *                             if r0 == r1:
+ *                                 neighbor_copy = Cylinder(x0, y0, z0, x1, y1, z1, r0)             # <<<<<<<<<<<<<<
+ *                             else:
+ *                                 neighbor_copy = Cone(x0, y0, z0, r0, x1, y1, z1, r1)
+ */
+                __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_Cylinder); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __pyx_t_31 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_27 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_20 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_20);
+                __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_34 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __pyx_t_29 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_29);
+                __pyx_t_21 = PyFloat_FromDouble(__pyx_v_r0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 638, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_1 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+                  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17);
+                  if (likely(__pyx_t_1)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                    __Pyx_INCREF(__pyx_t_1);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_17, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_17)) {
+                  PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_t_31, __pyx_t_27, __pyx_t_20, __pyx_t_11, __pyx_t_34, __pyx_t_29, __pyx_t_21};
+                  __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+                  PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_t_31, __pyx_t_27, __pyx_t_20, __pyx_t_11, __pyx_t_34, __pyx_t_29, __pyx_t_21};
+                  __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_33 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 638, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_33);
+                  if (__pyx_t_1) {
+                    __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_1); __pyx_t_1 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_31);
+                  PyTuple_SET_ITEM(__pyx_t_33, 0+__pyx_t_8, __pyx_t_31);
+                  __Pyx_GIVEREF(__pyx_t_27);
+                  PyTuple_SET_ITEM(__pyx_t_33, 1+__pyx_t_8, __pyx_t_27);
+                  __Pyx_GIVEREF(__pyx_t_20);
+                  PyTuple_SET_ITEM(__pyx_t_33, 2+__pyx_t_8, __pyx_t_20);
+                  __Pyx_GIVEREF(__pyx_t_11);
+                  PyTuple_SET_ITEM(__pyx_t_33, 3+__pyx_t_8, __pyx_t_11);
+                  __Pyx_GIVEREF(__pyx_t_34);
+                  PyTuple_SET_ITEM(__pyx_t_33, 4+__pyx_t_8, __pyx_t_34);
+                  __Pyx_GIVEREF(__pyx_t_29);
+                  PyTuple_SET_ITEM(__pyx_t_33, 5+__pyx_t_8, __pyx_t_29);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_33, 6+__pyx_t_8, __pyx_t_21);
+                  __pyx_t_31 = 0;
+                  __pyx_t_27 = 0;
+                  __pyx_t_20 = 0;
+                  __pyx_t_11 = 0;
+                  __pyx_t_34 = 0;
+                  __pyx_t_29 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_33, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                __Pyx_XDECREF_SET(__pyx_v_neighbor_copy, __pyx_t_5);
+                __pyx_t_5 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":637
+ *                                 obj_pts_dict[objects[-1]] = corner_pts
+ *                             # AND clip the cone to not extend pass the union of the neighbor's plane and the neighbor
+ *                             if r0 == r1:             # <<<<<<<<<<<<<<
+ *                                 neighbor_copy = Cylinder(x0, y0, z0, x1, y1, z1, r0)
+ *                             else:
+ */
+                goto __pyx_L115;
+              }
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":640
+ *                                 neighbor_copy = Cylinder(x0, y0, z0, x1, y1, z1, r0)
+ *                             else:
+ *                                 neighbor_copy = Cone(x0, y0, z0, r0, x1, y1, z1, r1)             # <<<<<<<<<<<<<<
+ *                             clips.append(Union([
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2]),
+ */
+              /*else*/ {
+                __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_Cone); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __pyx_t_33 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_33);
+                __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_21);
+                __pyx_t_29 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_29);
+                __pyx_t_34 = PyFloat_FromDouble(__pyx_v_r0); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_34);
+                __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_20 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_20);
+                __pyx_t_27 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_31 = PyFloat_FromDouble(__pyx_v_r1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 640, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_1 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+                  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17);
+                  if (likely(__pyx_t_1)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                    __Pyx_INCREF(__pyx_t_1);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_17, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_17)) {
+                  PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_t_33, __pyx_t_21, __pyx_t_29, __pyx_t_34, __pyx_t_11, __pyx_t_20, __pyx_t_27, __pyx_t_31};
+                  __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+                  PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_t_33, __pyx_t_21, __pyx_t_29, __pyx_t_34, __pyx_t_11, __pyx_t_20, __pyx_t_27, __pyx_t_31};
+                  __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                  __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                  __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_32 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 640, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_32);
+                  if (__pyx_t_1) {
+                    __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_32, 0, __pyx_t_1); __pyx_t_1 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_33);
+                  PyTuple_SET_ITEM(__pyx_t_32, 0+__pyx_t_8, __pyx_t_33);
+                  __Pyx_GIVEREF(__pyx_t_21);
+                  PyTuple_SET_ITEM(__pyx_t_32, 1+__pyx_t_8, __pyx_t_21);
+                  __Pyx_GIVEREF(__pyx_t_29);
+                  PyTuple_SET_ITEM(__pyx_t_32, 2+__pyx_t_8, __pyx_t_29);
+                  __Pyx_GIVEREF(__pyx_t_34);
+                  PyTuple_SET_ITEM(__pyx_t_32, 3+__pyx_t_8, __pyx_t_34);
+                  __Pyx_GIVEREF(__pyx_t_11);
+                  PyTuple_SET_ITEM(__pyx_t_32, 4+__pyx_t_8, __pyx_t_11);
+                  __Pyx_GIVEREF(__pyx_t_20);
+                  PyTuple_SET_ITEM(__pyx_t_32, 5+__pyx_t_8, __pyx_t_20);
+                  __Pyx_GIVEREF(__pyx_t_27);
+                  PyTuple_SET_ITEM(__pyx_t_32, 6+__pyx_t_8, __pyx_t_27);
+                  __Pyx_GIVEREF(__pyx_t_31);
+                  PyTuple_SET_ITEM(__pyx_t_32, 7+__pyx_t_8, __pyx_t_31);
+                  __pyx_t_33 = 0;
+                  __pyx_t_21 = 0;
+                  __pyx_t_29 = 0;
+                  __pyx_t_34 = 0;
+                  __pyx_t_11 = 0;
+                  __pyx_t_20 = 0;
+                  __pyx_t_27 = 0;
+                  __pyx_t_31 = 0;
+                  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_32, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                __Pyx_XDECREF_SET(__pyx_v_neighbor_copy, __pyx_t_5);
+                __pyx_t_5 = 0;
+              }
+              __pyx_L115:;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":641
+ *                             else:
+ *                                 neighbor_copy = Cone(x0, y0, z0, r0, x1, y1, z1, r1)
+ *                             clips.append(Union([             # <<<<<<<<<<<<<<
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2]),
+ *                                 Plane(x0, y0, z0, axis[0], axis[1], axis[2])]))
+ */
+              __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_Union); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 641, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":642
+ *                                 neighbor_copy = Cone(x0, y0, z0, r0, x1, y1, z1, r1)
+ *                             clips.append(Union([
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2]),             # <<<<<<<<<<<<<<
+ *                                 Plane(x0, y0, z0, axis[0], axis[1], axis[2])]))
+ * 
+ */
+              __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Plane); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_31);
+              __pyx_t_27 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              __pyx_t_20 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_20);
+              __pyx_t_11 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_11);
+              __pyx_t_34 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_34);
+              __pyx_t_29 = PyNumber_Negative(__pyx_t_34); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_29);
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+              __pyx_t_34 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_34);
+              __pyx_t_21 = PyNumber_Negative(__pyx_t_34); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_21);
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+              __pyx_t_34 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_34);
+              __pyx_t_33 = PyNumber_Negative(__pyx_t_34); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 642, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __Pyx_DECREF(__pyx_t_34); __pyx_t_34 = 0;
+              __pyx_t_34 = NULL;
+              __pyx_t_8 = 0;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+                __pyx_t_34 = PyMethod_GET_SELF(__pyx_t_31);
+                if (likely(__pyx_t_34)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                  __Pyx_INCREF(__pyx_t_34);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_31, function);
+                  __pyx_t_8 = 1;
+                }
+              }
+              #if CYTHON_FAST_PYCALL
+              if (PyFunction_Check(__pyx_t_31)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_34, __pyx_t_27, __pyx_t_20, __pyx_t_11, __pyx_t_29, __pyx_t_21, __pyx_t_33};
+                __pyx_t_32 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 642, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_GOTREF(__pyx_t_32);
+                __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+              } else
+              #endif
+              #if CYTHON_FAST_PYCCALL
+              if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_34, __pyx_t_27, __pyx_t_20, __pyx_t_11, __pyx_t_29, __pyx_t_21, __pyx_t_33};
+                __pyx_t_32 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 642, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_GOTREF(__pyx_t_32);
+                __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+              } else
+              #endif
+              {
+                __pyx_t_1 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                if (__pyx_t_34) {
+                  __Pyx_GIVEREF(__pyx_t_34); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_34); __pyx_t_34 = NULL;
+                }
+                __Pyx_GIVEREF(__pyx_t_27);
+                PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_t_27);
+                __Pyx_GIVEREF(__pyx_t_20);
+                PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_t_20);
+                __Pyx_GIVEREF(__pyx_t_11);
+                PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_8, __pyx_t_11);
+                __Pyx_GIVEREF(__pyx_t_29);
+                PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_8, __pyx_t_29);
+                __Pyx_GIVEREF(__pyx_t_21);
+                PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_8, __pyx_t_21);
+                __Pyx_GIVEREF(__pyx_t_33);
+                PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_8, __pyx_t_33);
+                __pyx_t_27 = 0;
+                __pyx_t_20 = 0;
+                __pyx_t_11 = 0;
+                __pyx_t_29 = 0;
+                __pyx_t_21 = 0;
+                __pyx_t_33 = 0;
+                __pyx_t_32 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_1, NULL); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 642, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              }
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":643
+ *                             clips.append(Union([
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2]),
+ *                                 Plane(x0, y0, z0, axis[0], axis[1], axis[2])]))             # <<<<<<<<<<<<<<
+ * 
+ * #                        join_type = '%d%s' % (corner_count, 's' if sharp_turn else 'm')
+ */
+              __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Plane); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_1);
+              __pyx_t_33 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_33);
+              __pyx_t_21 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_21);
+              __pyx_t_29 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_29);
+              __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_axis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_11);
+              __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_axis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_20);
+              __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_axis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 643, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              __pyx_t_34 = NULL;
+              __pyx_t_8 = 0;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+                __pyx_t_34 = PyMethod_GET_SELF(__pyx_t_1);
+                if (likely(__pyx_t_34)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+                  __Pyx_INCREF(__pyx_t_34);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_1, function);
+                  __pyx_t_8 = 1;
+                }
+              }
+              #if CYTHON_FAST_PYCALL
+              if (PyFunction_Check(__pyx_t_1)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_34, __pyx_t_33, __pyx_t_21, __pyx_t_29, __pyx_t_11, __pyx_t_20, __pyx_t_27};
+                __pyx_t_31 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 643, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_GOTREF(__pyx_t_31);
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+              } else
+              #endif
+              #if CYTHON_FAST_PYCCALL
+              if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
+                PyObject *__pyx_temp[7] = {__pyx_t_34, __pyx_t_33, __pyx_t_21, __pyx_t_29, __pyx_t_11, __pyx_t_20, __pyx_t_27};
+                __pyx_t_31 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 643, __pyx_L1_error)
+                __Pyx_XDECREF(__pyx_t_34); __pyx_t_34 = 0;
+                __Pyx_GOTREF(__pyx_t_31);
+                __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+              } else
+              #endif
+              {
+                __pyx_t_10 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 643, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                if (__pyx_t_34) {
+                  __Pyx_GIVEREF(__pyx_t_34); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_34); __pyx_t_34 = NULL;
+                }
+                __Pyx_GIVEREF(__pyx_t_33);
+                PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_8, __pyx_t_33);
+                __Pyx_GIVEREF(__pyx_t_21);
+                PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_8, __pyx_t_21);
+                __Pyx_GIVEREF(__pyx_t_29);
+                PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_8, __pyx_t_29);
+                __Pyx_GIVEREF(__pyx_t_11);
+                PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_8, __pyx_t_11);
+                __Pyx_GIVEREF(__pyx_t_20);
+                PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_8, __pyx_t_20);
+                __Pyx_GIVEREF(__pyx_t_27);
+                PyTuple_SET_ITEM(__pyx_t_10, 5+__pyx_t_8, __pyx_t_27);
+                __pyx_t_33 = 0;
+                __pyx_t_21 = 0;
+                __pyx_t_29 = 0;
+                __pyx_t_11 = 0;
+                __pyx_t_20 = 0;
+                __pyx_t_27 = 0;
+                __pyx_t_31 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 643, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+              }
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":641
+ *                             else:
+ *                                 neighbor_copy = Cone(x0, y0, z0, r0, x1, y1, z1, r1)
+ *                             clips.append(Union([             # <<<<<<<<<<<<<<
+ *                                 Plane(x1, y1, z1, -naxis[0], -naxis[1], -naxis[2]),
+ *                                 Plane(x0, y0, z0, axis[0], axis[1], axis[2])]))
+ */
+              __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_1);
+              __Pyx_GIVEREF(__pyx_t_32);
+              PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_32);
+              __Pyx_GIVEREF(__pyx_t_31);
+              PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_31);
+              __pyx_t_32 = 0;
+              __pyx_t_31 = 0;
+              __pyx_t_31 = NULL;
+              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+                __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_17);
+                if (likely(__pyx_t_31)) {
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                  __Pyx_INCREF(__pyx_t_31);
+                  __Pyx_INCREF(function);
+                  __Pyx_DECREF_SET(__pyx_t_17, function);
+                }
+              }
+              __pyx_t_5 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_31, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_1);
+              __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_5);
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_clips, __pyx_t_5); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 641, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+            }
+            __pyx_L114:;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":617
+ * 
+ * 
+ *                     elif corner_count == 4:             # <<<<<<<<<<<<<<
+ *                         sp = Sphere(x1, y1, z1, r1)
+ *                         if sharp_turn:
+ */
+          }
+          __pyx_L110:;
+        }
+        __pyx_L109:;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":530
+ *             join_item = None
+ *             # process the join on the "left" (end 1)
+ *             if neighbor_left is not None:             # <<<<<<<<<<<<<<
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x0, y0, z0, r0 = neighbor_left._x0, neighbor_left._y0, neighbor_left._z0, neighbor_left._r0
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":652
+ * 
+ * 
+ *             if neighbor_right is not None:             # <<<<<<<<<<<<<<
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0
+ */
+      __pyx_t_2 = (__pyx_v_neighbor_right != Py_None);
+      __pyx_t_3 = (__pyx_t_2 != 0);
+      if (__pyx_t_3) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":654
+ *             if neighbor_right is not None:
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0             # <<<<<<<<<<<<<<
+ *                 if x2 == x3 and y2 == y3 and z2 == z3:
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1
+ */
+        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_x0_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_y0_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_z0_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_r0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 654, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_v_x3 = __pyx_t_14;
+        __pyx_v_y3 = __pyx_t_15;
+        __Pyx_XDECREF_SET(__pyx_v_z3, __pyx_t_5);
+        __pyx_t_5 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_r3, __pyx_t_17);
+        __pyx_t_17 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":655
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0
+ *                 if x2 == x3 and y2 == y3 and z2 == z3:             # <<<<<<<<<<<<<<
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1
+ *                 pt3 = numpy.array([x3, y3, z3])
+ */
+        __pyx_t_2 = ((__pyx_v_x2 == __pyx_v_x3) != 0);
+        if (__pyx_t_2) {
+        } else {
+          __pyx_t_3 = __pyx_t_2;
+          goto __pyx_L118_bool_binop_done;
+        }
+        __pyx_t_2 = ((__pyx_v_y2 == __pyx_v_y3) != 0);
+        if (__pyx_t_2) {
+        } else {
+          __pyx_t_3 = __pyx_t_2;
+          goto __pyx_L118_bool_binop_done;
+        }
+        __pyx_t_17 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 655, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_5 = PyObject_RichCompare(__pyx_t_17, __pyx_v_z3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 655, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 655, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_3 = __pyx_t_2;
+        __pyx_L118_bool_binop_done:;
+        if (__pyx_t_3) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":656
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0
+ *                 if x2 == x3 and y2 == y3 and z2 == z3:
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1             # <<<<<<<<<<<<<<
+ *                 pt3 = numpy.array([x3, y3, z3])
+ *                 naxis = (pt3 - pt2) / linalg.norm(pt3 - pt2)
+ */
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_y1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_neighbor_right, __pyx_n_s_r1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 656, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_v_x3 = __pyx_t_15;
+          __pyx_v_y3 = __pyx_t_14;
+          __Pyx_DECREF_SET(__pyx_v_z3, __pyx_t_5);
+          __pyx_t_5 = 0;
+          __Pyx_DECREF_SET(__pyx_v_r3, __pyx_t_17);
+          __pyx_t_17 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":655
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0
+ *                 if x2 == x3 and y2 == y3 and z2 == z3:             # <<<<<<<<<<<<<<
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1
+ *                 pt3 = numpy.array([x3, y3, z3])
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":657
+ *                 if x2 == x3 and y2 == y3 and z2 == z3:
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1
+ *                 pt3 = numpy.array([x3, y3, z3])             # <<<<<<<<<<<<<<
+ *                 naxis = (pt3 - pt2) / linalg.norm(pt3 - pt2)
+ * 
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_numpy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __pyx_t_31 = PyFloat_FromDouble(__pyx_v_y3); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_31);
+        __pyx_t_32 = PyList_New(3); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_32);
+        __Pyx_GIVEREF(__pyx_t_5);
+        PyList_SET_ITEM(__pyx_t_32, 0, __pyx_t_5);
+        __Pyx_GIVEREF(__pyx_t_31);
+        PyList_SET_ITEM(__pyx_t_32, 1, __pyx_t_31);
+        __Pyx_INCREF(__pyx_v_z3);
+        __Pyx_GIVEREF(__pyx_v_z3);
+        PyList_SET_ITEM(__pyx_t_32, 2, __pyx_v_z3);
+        __pyx_t_5 = 0;
+        __pyx_t_31 = 0;
+        __pyx_t_31 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+          __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_1);
+          if (likely(__pyx_t_31)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+            __Pyx_INCREF(__pyx_t_31);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_1, function);
+          }
+        }
+        __pyx_t_17 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_31, __pyx_t_32) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_32);
+        __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+        __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 657, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_pt3, __pyx_t_17);
+        __pyx_t_17 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":658
+ *                     x3, y3, z3, r3 = neighbor_right._x1, neighbor_right._y1, neighbor_right._z1, neighbor_right._r1
+ *                 pt3 = numpy.array([x3, y3, z3])
+ *                 naxis = (pt3 - pt2) / linalg.norm(pt3 - pt2)             # <<<<<<<<<<<<<<
+ * 
+ *                 # no need to clip if the cones are perfectly aligned
+ */
+        __pyx_t_17 = PyNumber_Subtract(__pyx_v_pt3, __pyx_v_pt2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_linalg); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_32);
+        __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_32, __pyx_n_s_norm); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_31);
+        __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+        __pyx_t_32 = PyNumber_Subtract(__pyx_v_pt3, __pyx_v_pt2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_32);
+        __pyx_t_5 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_31);
+          if (likely(__pyx_t_5)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+            __Pyx_INCREF(__pyx_t_5);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_31, function);
+          }
+        }
+        __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_5, __pyx_t_32) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_32);
+        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+        __pyx_t_31 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 658, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_31);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_naxis, __pyx_t_31);
+        __pyx_t_31 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":661
+ * 
+ *                 # no need to clip if the cones are perfectly aligned
+ *                 if any(axis != naxis):             # <<<<<<<<<<<<<<
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)
+ */
+        __pyx_t_31 = PyObject_RichCompare(__pyx_v_axis, __pyx_v_naxis, Py_NE); __Pyx_XGOTREF(__pyx_t_31); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 661, __pyx_L1_error)
+        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_any, __pyx_t_31); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 661, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        if (__pyx_t_3) {
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":663
+ *                 if any(axis != naxis):
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)             # <<<<<<<<<<<<<<
+ *                     radial_vec = numpy.cross(plane_normal, axis)
+ *                     radial_vec_norm = linalg.norm(radial_vec)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_numpy); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 663, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_31, __pyx_n_s_cross); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 663, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          __pyx_t_31 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+            __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_17);
+            if (likely(__pyx_t_31)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+              __Pyx_INCREF(__pyx_t_31);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_17, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_31, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_GOTREF(__pyx_t_1);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_31, __pyx_v_axis, __pyx_v_naxis};
+            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __Pyx_GOTREF(__pyx_t_1);
+          } else
+          #endif
+          {
+            __pyx_t_32 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 663, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            if (__pyx_t_31) {
+              __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_32, 0, __pyx_t_31); __pyx_t_31 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_axis);
+            __Pyx_GIVEREF(__pyx_v_axis);
+            PyTuple_SET_ITEM(__pyx_t_32, 0+__pyx_t_8, __pyx_v_axis);
+            __Pyx_INCREF(__pyx_v_naxis);
+            __Pyx_GIVEREF(__pyx_v_naxis);
+            PyTuple_SET_ITEM(__pyx_t_32, 1+__pyx_t_8, __pyx_v_naxis);
+            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_32, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_plane_normal, __pyx_t_1);
+          __pyx_t_1 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":664
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)
+ *                     radial_vec = numpy.cross(plane_normal, axis)             # <<<<<<<<<<<<<<
+ *                     radial_vec_norm = linalg.norm(radial_vec)
+ * 
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_numpy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 664, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_cross); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 664, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_17 = NULL;
+          __pyx_t_8 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+            __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_32);
+            if (likely(__pyx_t_17)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+              __Pyx_INCREF(__pyx_t_17);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_32, function);
+              __pyx_t_8 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_32)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_plane_normal, __pyx_v_axis};
+            __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 664, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_1);
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_32)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_plane_normal, __pyx_v_axis};
+            __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 664, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_GOTREF(__pyx_t_1);
+          } else
+          #endif
+          {
+            __pyx_t_31 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 664, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            if (__pyx_t_17) {
+              __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_17); __pyx_t_17 = NULL;
+            }
+            __Pyx_INCREF(__pyx_v_plane_normal);
+            __Pyx_GIVEREF(__pyx_v_plane_normal);
+            PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_8, __pyx_v_plane_normal);
+            __Pyx_INCREF(__pyx_v_axis);
+            __Pyx_GIVEREF(__pyx_v_axis);
+            PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_8, __pyx_v_axis);
+            __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_32, __pyx_t_31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 664, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_radial_vec, __pyx_t_1);
+          __pyx_t_1 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":665
+ *                     plane_normal = numpy.cross(axis, naxis)
+ *                     radial_vec = numpy.cross(plane_normal, axis)
+ *                     radial_vec_norm = linalg.norm(radial_vec)             # <<<<<<<<<<<<<<
+ * 
+ *                     # we check again because sometimes there are roundoff errors that this catches
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_linalg); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 665, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_32, __pyx_n_s_norm); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 665, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_31);
+          __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+          __pyx_t_32 = NULL;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+            __pyx_t_32 = PyMethod_GET_SELF(__pyx_t_31);
+            if (likely(__pyx_t_32)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+              __Pyx_INCREF(__pyx_t_32);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_31, function);
+            }
+          }
+          __pyx_t_1 = (__pyx_t_32) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_32, __pyx_v_radial_vec) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_v_radial_vec);
+          __Pyx_XDECREF(__pyx_t_32); __pyx_t_32 = 0;
+          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 665, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_radial_vec_norm, __pyx_t_1);
+          __pyx_t_1 = 0;
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":668
+ * 
+ *                     # we check again because sometimes there are roundoff errors that this catches
+ *                     if radial_vec_norm:             # <<<<<<<<<<<<<<
+ * 
+ *                         # is the turn sharp or not
+ */
+          __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_radial_vec_norm); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 668, __pyx_L1_error)
+          if (__pyx_t_3) {
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":671
+ * 
+ *                         # is the turn sharp or not
+ *                         sharp_turn = numpy.dot(axis, naxis) < 0             # <<<<<<<<<<<<<<
+ * 
+ *                         nradial_vec = numpy.cross(plane_normal, naxis)
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_numpy); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 671, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_t_31, __pyx_n_s_dot); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 671, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __pyx_t_31 = NULL;
+            __pyx_t_8 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+              __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_32);
+              if (likely(__pyx_t_31)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+                __Pyx_INCREF(__pyx_t_31);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_32, function);
+                __pyx_t_8 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_32)) {
+              PyObject *__pyx_temp[3] = {__pyx_t_31, __pyx_v_axis, __pyx_v_naxis};
+              __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+              __Pyx_GOTREF(__pyx_t_1);
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_32)) {
+              PyObject *__pyx_temp[3] = {__pyx_t_31, __pyx_v_axis, __pyx_v_naxis};
+              __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+              __Pyx_GOTREF(__pyx_t_1);
+            } else
+            #endif
+            {
+              __pyx_t_17 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 671, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              if (__pyx_t_31) {
+                __Pyx_GIVEREF(__pyx_t_31); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_31); __pyx_t_31 = NULL;
+              }
+              __Pyx_INCREF(__pyx_v_axis);
+              __Pyx_GIVEREF(__pyx_v_axis);
+              PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_axis);
+              __Pyx_INCREF(__pyx_v_naxis);
+              __Pyx_GIVEREF(__pyx_v_naxis);
+              PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_v_naxis);
+              __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_32, __pyx_t_17, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_1);
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __pyx_t_32 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_32); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 671, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_32); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __pyx_v_sharp_turn = __pyx_t_3;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":673
+ *                         sharp_turn = numpy.dot(axis, naxis) < 0
+ * 
+ *                         nradial_vec = numpy.cross(plane_normal, naxis)             # <<<<<<<<<<<<<<
+ *                         # normalize all of these
+ *                         radial_vec /= radial_vec_norm
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_numpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_cross); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 673, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __pyx_t_1 = NULL;
+            __pyx_t_8 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+              __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17);
+              if (likely(__pyx_t_1)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+                __Pyx_INCREF(__pyx_t_1);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_17, function);
+                __pyx_t_8 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_17)) {
+              PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_plane_normal, __pyx_v_naxis};
+              __pyx_t_32 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 673, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_GOTREF(__pyx_t_32);
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+              PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_plane_normal, __pyx_v_naxis};
+              __pyx_t_32 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 673, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+              __Pyx_GOTREF(__pyx_t_32);
+            } else
+            #endif
+            {
+              __pyx_t_31 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 673, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_31);
+              if (__pyx_t_1) {
+                __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_1); __pyx_t_1 = NULL;
+              }
+              __Pyx_INCREF(__pyx_v_plane_normal);
+              __Pyx_GIVEREF(__pyx_v_plane_normal);
+              PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_8, __pyx_v_plane_normal);
+              __Pyx_INCREF(__pyx_v_naxis);
+              __Pyx_GIVEREF(__pyx_v_naxis);
+              PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_8, __pyx_v_naxis);
+              __pyx_t_32 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_31, NULL); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 673, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_32);
+              __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_nradial_vec, __pyx_t_32);
+            __pyx_t_32 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":675
+ *                         nradial_vec = numpy.cross(plane_normal, naxis)
+ *                         # normalize all of these
+ *                         radial_vec /= radial_vec_norm             # <<<<<<<<<<<<<<
+ *                         nradial_vec /= linalg.norm(nradial_vec)
+ *                         # count the corners that are inside the other cone (for both ways)
+ */
+            __pyx_t_32 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_radial_vec, __pyx_v_radial_vec_norm); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 675, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF_SET(__pyx_v_radial_vec, __pyx_t_32);
+            __pyx_t_32 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":676
+ *                         # normalize all of these
+ *                         radial_vec /= radial_vec_norm
+ *                         nradial_vec /= linalg.norm(nradial_vec)             # <<<<<<<<<<<<<<
+ *                         # count the corners that are inside the other cone (for both ways)
+ *                         my_corner_count = count_outside(neighbor_right, [pt2 + r2 * radial_vec, pt2 - r2 * radial_vec], 0)
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_linalg); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 676, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_norm); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 676, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __pyx_t_17 = NULL;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+              __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_31);
+              if (likely(__pyx_t_17)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                __Pyx_INCREF(__pyx_t_17);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_31, function);
+              }
+            }
+            __pyx_t_32 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_17, __pyx_v_nradial_vec) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_v_nradial_vec);
+            __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
+            if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 676, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __pyx_t_31 = __Pyx_PyNumber_InPlaceDivide(__pyx_v_nradial_vec, __pyx_t_32); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 676, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __Pyx_DECREF_SET(__pyx_v_nradial_vec, __pyx_t_31);
+            __pyx_t_31 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":678
+ *                         nradial_vec /= linalg.norm(nradial_vec)
+ *                         # count the corners that are inside the other cone (for both ways)
+ *                         my_corner_count = count_outside(neighbor_right, [pt2 + r2 * radial_vec, pt2 - r2 * radial_vec], 0)             # <<<<<<<<<<<<<<
+ *                         corner_count = my_corner_count + count_outside(cone, [pt2 + r2 * nradial_vec, pt2 - r2 * nradial_vec], 0)
+ *                         if corner_count == 2:
+ */
+            __pyx_t_31 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_32 = PyNumber_Multiply(__pyx_t_31, __pyx_v_radial_vec); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __pyx_t_31 = PyNumber_Add(__pyx_v_pt2, __pyx_t_32); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __pyx_t_32 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __pyx_t_17 = PyNumber_Multiply(__pyx_t_32, __pyx_v_radial_vec); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __pyx_t_32 = PyNumber_Subtract(__pyx_v_pt2, __pyx_t_17); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __pyx_t_17 = PyList_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_31);
+            PyList_SET_ITEM(__pyx_t_17, 0, __pyx_t_31);
+            __Pyx_GIVEREF(__pyx_t_32);
+            PyList_SET_ITEM(__pyx_t_17, 1, __pyx_t_32);
+            __pyx_t_31 = 0;
+            __pyx_t_32 = 0;
+            __pyx_t_32 = __Pyx_PyInt_From_int(__pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_neighbor_right, ((PyObject*)__pyx_t_17), 0.0)); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 678, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_my_corner_count, __pyx_t_32);
+            __pyx_t_32 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":679
+ *                         # count the corners that are inside the other cone (for both ways)
+ *                         my_corner_count = count_outside(neighbor_right, [pt2 + r2 * radial_vec, pt2 - r2 * radial_vec], 0)
+ *                         corner_count = my_corner_count + count_outside(cone, [pt2 + r2 * nradial_vec, pt2 - r2 * nradial_vec], 0)             # <<<<<<<<<<<<<<
+ *                         if corner_count == 2:
+ *                             # no clipping; already joined
+ */
+            __pyx_t_32 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __pyx_t_17 = PyNumber_Multiply(__pyx_t_32, __pyx_v_nradial_vec); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+            __pyx_t_32 = PyNumber_Add(__pyx_v_pt2, __pyx_t_17); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_32);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __pyx_t_17 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_31 = PyNumber_Multiply(__pyx_t_17, __pyx_v_nradial_vec); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __pyx_t_17 = PyNumber_Subtract(__pyx_v_pt2, __pyx_t_31); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __pyx_t_31 = PyList_New(2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_GIVEREF(__pyx_t_32);
+            PyList_SET_ITEM(__pyx_t_31, 0, __pyx_t_32);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyList_SET_ITEM(__pyx_t_31, 1, __pyx_t_17);
+            __pyx_t_32 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_f_6neuron_3rxd_10geometry3d_4ctng_count_outside(__pyx_v_cone, ((PyObject*)__pyx_t_31), 0.0)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            __pyx_t_31 = PyNumber_Add(__pyx_v_my_corner_count, __pyx_t_17); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 679, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_XDECREF_SET(__pyx_v_corner_count, __pyx_t_31);
+            __pyx_t_31 = 0;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":680
+ *                         my_corner_count = count_outside(neighbor_right, [pt2 + r2 * radial_vec, pt2 - r2 * radial_vec], 0)
+ *                         corner_count = my_corner_count + count_outside(cone, [pt2 + r2 * nradial_vec, pt2 - r2 * nradial_vec], 0)
+ *                         if corner_count == 2:             # <<<<<<<<<<<<<<
+ *                             # no clipping; already joined
+ *                             pass
+ */
+            __pyx_t_31 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 680, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_31); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 680, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            if (__pyx_t_3) {
+              goto __pyx_L123;
+            }
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":683
+ *                             # no clipping; already joined
+ *                             pass
+ *                         elif corner_count == 3:             # <<<<<<<<<<<<<<
+ *                             pass
+ * 
+ */
+            __pyx_t_31 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 683, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_31); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 683, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            if (__pyx_t_3) {
+              goto __pyx_L123;
+            }
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":686
+ *                             pass
+ * 
+ *                         elif corner_count == 4:             # <<<<<<<<<<<<<<
+ *                             # CTNG:4outacute (+ 1 more)
+ *                             # already joined; just clip (only in mild turn case)
+ */
+            __pyx_t_31 = __Pyx_PyInt_EqObjC(__pyx_v_corner_count, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 686, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_31);
+            __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_31); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 686, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+            if (__pyx_t_3) {
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":689
+ *                             # CTNG:4outacute (+ 1 more)
+ *                             # already joined; just clip (only in mild turn case)
+ *                             if not sharp_turn:             # <<<<<<<<<<<<<<
+ *                                 if r2 == r3:
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)
+ */
+              __pyx_t_3 = ((!(__pyx_v_sharp_turn != 0)) != 0);
+              if (__pyx_t_3) {
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":690
+ *                             # already joined; just clip (only in mild turn case)
+ *                             if not sharp_turn:
+ *                                 if r2 == r3:             # <<<<<<<<<<<<<<
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)
+ *                                 else:
+ */
+                __pyx_t_31 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 690, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+                __pyx_t_17 = PyObject_RichCompare(__pyx_t_31, __pyx_v_r3, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 690, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 690, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                if (__pyx_t_3) {
+
+                  /* "neuron/rxd/geometry3d/ctng.pyx":691
+ *                             if not sharp_turn:
+ *                                 if r2 == r3:
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)             # <<<<<<<<<<<<<<
+ *                                 else:
+ *                                     neighbor_copy = Cone(x2, y2, z2, r2, x3, y3, z3, r3)
+ */
+                  __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Cylinder); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_31);
+                  __pyx_t_32 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_32);
+                  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_1);
+                  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_x3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_10);
+                  __pyx_t_27 = PyFloat_FromDouble(__pyx_v_y3); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 691, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_27);
+                  __pyx_t_20 = NULL;
+                  __pyx_t_8 = 0;
+                  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+                    __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_31);
+                    if (likely(__pyx_t_20)) {
+                      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                      __Pyx_INCREF(__pyx_t_20);
+                      __Pyx_INCREF(function);
+                      __Pyx_DECREF_SET(__pyx_t_31, function);
+                      __pyx_t_8 = 1;
+                    }
+                  }
+                  #if CYTHON_FAST_PYCALL
+                  if (PyFunction_Check(__pyx_t_31)) {
+                    PyObject *__pyx_temp[8] = {__pyx_t_20, __pyx_t_32, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_27, __pyx_v_z3, __pyx_v_r3};
+                    __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 691, __pyx_L1_error)
+                    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                    __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  } else
+                  #endif
+                  #if CYTHON_FAST_PYCCALL
+                  if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) {
+                    PyObject *__pyx_temp[8] = {__pyx_t_20, __pyx_t_32, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_27, __pyx_v_z3, __pyx_v_r3};
+                    __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 691, __pyx_L1_error)
+                    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                    __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  } else
+                  #endif
+                  {
+                    __pyx_t_11 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 691, __pyx_L1_error)
+                    __Pyx_GOTREF(__pyx_t_11);
+                    if (__pyx_t_20) {
+                      __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_20); __pyx_t_20 = NULL;
+                    }
+                    __Pyx_GIVEREF(__pyx_t_32);
+                    PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_8, __pyx_t_32);
+                    __Pyx_GIVEREF(__pyx_t_1);
+                    PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_8, __pyx_t_1);
+                    __Pyx_GIVEREF(__pyx_t_5);
+                    PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_8, __pyx_t_5);
+                    __Pyx_GIVEREF(__pyx_t_10);
+                    PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_8, __pyx_t_10);
+                    __Pyx_GIVEREF(__pyx_t_27);
+                    PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_8, __pyx_t_27);
+                    __Pyx_INCREF(__pyx_v_z3);
+                    __Pyx_GIVEREF(__pyx_v_z3);
+                    PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_8, __pyx_v_z3);
+                    __Pyx_INCREF(__pyx_v_r3);
+                    __Pyx_GIVEREF(__pyx_v_r3);
+                    PyTuple_SET_ITEM(__pyx_t_11, 6+__pyx_t_8, __pyx_v_r3);
+                    __pyx_t_32 = 0;
+                    __pyx_t_1 = 0;
+                    __pyx_t_5 = 0;
+                    __pyx_t_10 = 0;
+                    __pyx_t_27 = 0;
+                    __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_11, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 691, __pyx_L1_error)
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  }
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_XDECREF_SET(__pyx_v_neighbor_copy, __pyx_t_17);
+                  __pyx_t_17 = 0;
+
+                  /* "neuron/rxd/geometry3d/ctng.pyx":690
+ *                             # already joined; just clip (only in mild turn case)
+ *                             if not sharp_turn:
+ *                                 if r2 == r3:             # <<<<<<<<<<<<<<
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)
+ *                                 else:
+ */
+                  goto __pyx_L125;
+                }
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":693
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)
+ *                                 else:
+ *                                     neighbor_copy = Cone(x2, y2, z2, r2, x3, y3, z3, r3)             # <<<<<<<<<<<<<<
+ *                                 #print 'cc=4: (%g, %g, %g; %g) (%g, %g, %g; %g) (%g, %g, %g; %g) ' % (x1, y1, z1, r1, x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 clips.append(Union([
+ */
+                /*else*/ {
+                  __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Cone); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_31);
+                  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_11);
+                  __pyx_t_27 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_27);
+                  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_10);
+                  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_r2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_5);
+                  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_1);
+                  __pyx_t_32 = PyFloat_FromDouble(__pyx_v_y3); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 693, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_32);
+                  __pyx_t_20 = NULL;
+                  __pyx_t_8 = 0;
+                  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+                    __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_31);
+                    if (likely(__pyx_t_20)) {
+                      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                      __Pyx_INCREF(__pyx_t_20);
+                      __Pyx_INCREF(function);
+                      __Pyx_DECREF_SET(__pyx_t_31, function);
+                      __pyx_t_8 = 1;
+                    }
+                  }
+                  #if CYTHON_FAST_PYCALL
+                  if (PyFunction_Check(__pyx_t_31)) {
+                    PyObject *__pyx_temp[9] = {__pyx_t_20, __pyx_t_11, __pyx_t_27, __pyx_t_10, __pyx_t_5, __pyx_t_1, __pyx_t_32, __pyx_v_z3, __pyx_v_r3};
+                    __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 693, __pyx_L1_error)
+                    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                    __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                    __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  } else
+                  #endif
+                  #if CYTHON_FAST_PYCCALL
+                  if (__Pyx_PyFastCFunction_Check(__pyx_t_31)) {
+                    PyObject *__pyx_temp[9] = {__pyx_t_20, __pyx_t_11, __pyx_t_27, __pyx_t_10, __pyx_t_5, __pyx_t_1, __pyx_t_32, __pyx_v_z3, __pyx_v_r3};
+                    __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_31, __pyx_temp+1-__pyx_t_8, 8+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 693, __pyx_L1_error)
+                    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                    __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                    __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                  } else
+                  #endif
+                  {
+                    __pyx_t_29 = PyTuple_New(8+__pyx_t_8); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 693, __pyx_L1_error)
+                    __Pyx_GOTREF(__pyx_t_29);
+                    if (__pyx_t_20) {
+                      __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_20); __pyx_t_20 = NULL;
+                    }
+                    __Pyx_GIVEREF(__pyx_t_11);
+                    PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_8, __pyx_t_11);
+                    __Pyx_GIVEREF(__pyx_t_27);
+                    PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_8, __pyx_t_27);
+                    __Pyx_GIVEREF(__pyx_t_10);
+                    PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_8, __pyx_t_10);
+                    __Pyx_GIVEREF(__pyx_t_5);
+                    PyTuple_SET_ITEM(__pyx_t_29, 3+__pyx_t_8, __pyx_t_5);
+                    __Pyx_GIVEREF(__pyx_t_1);
+                    PyTuple_SET_ITEM(__pyx_t_29, 4+__pyx_t_8, __pyx_t_1);
+                    __Pyx_GIVEREF(__pyx_t_32);
+                    PyTuple_SET_ITEM(__pyx_t_29, 5+__pyx_t_8, __pyx_t_32);
+                    __Pyx_INCREF(__pyx_v_z3);
+                    __Pyx_GIVEREF(__pyx_v_z3);
+                    PyTuple_SET_ITEM(__pyx_t_29, 6+__pyx_t_8, __pyx_v_z3);
+                    __Pyx_INCREF(__pyx_v_r3);
+                    __Pyx_GIVEREF(__pyx_v_r3);
+                    PyTuple_SET_ITEM(__pyx_t_29, 7+__pyx_t_8, __pyx_v_r3);
+                    __pyx_t_11 = 0;
+                    __pyx_t_27 = 0;
+                    __pyx_t_10 = 0;
+                    __pyx_t_5 = 0;
+                    __pyx_t_1 = 0;
+                    __pyx_t_32 = 0;
+                    __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_31, __pyx_t_29, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 693, __pyx_L1_error)
+                    __Pyx_GOTREF(__pyx_t_17);
+                    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+                  }
+                  __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                  __Pyx_XDECREF_SET(__pyx_v_neighbor_copy, __pyx_t_17);
+                  __pyx_t_17 = 0;
+                }
+                __pyx_L125:;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":695
+ *                                     neighbor_copy = Cone(x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 #print 'cc=4: (%g, %g, %g; %g) (%g, %g, %g; %g) (%g, %g, %g; %g) ' % (x1, y1, z1, r1, x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 clips.append(Union([             # <<<<<<<<<<<<<<
+ *                                     Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2]),
+ *                                     neighbor_copy]))
+ */
+                __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Union); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 695, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_31);
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":696
+ *                                 #print 'cc=4: (%g, %g, %g; %g) (%g, %g, %g; %g) (%g, %g, %g; %g) ' % (x1, y1, z1, r1, x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 clips.append(Union([
+ *                                     Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2]),             # <<<<<<<<<<<<<<
+ *                                     neighbor_copy]))
+ * 
+ */
+                __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_Plane); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_1);
+                __pyx_t_5 = PyFloat_FromDouble(__pyx_v_y2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_5);
+                __pyx_t_10 = PyFloat_FromDouble(__pyx_v_z2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_10);
+                __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_naxis, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_naxis, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_11);
+                __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_naxis, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 696, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_20);
+                __pyx_t_21 = NULL;
+                __pyx_t_8 = 0;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+                  __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_32);
+                  if (likely(__pyx_t_21)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+                    __Pyx_INCREF(__pyx_t_21);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_32, function);
+                    __pyx_t_8 = 1;
+                  }
+                }
+                #if CYTHON_FAST_PYCALL
+                if (PyFunction_Check(__pyx_t_32)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_27, __pyx_t_11, __pyx_t_20};
+                  __pyx_t_29 = __Pyx_PyFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 696, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_29);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                } else
+                #endif
+                #if CYTHON_FAST_PYCCALL
+                if (__Pyx_PyFastCFunction_Check(__pyx_t_32)) {
+                  PyObject *__pyx_temp[7] = {__pyx_t_21, __pyx_t_1, __pyx_t_5, __pyx_t_10, __pyx_t_27, __pyx_t_11, __pyx_t_20};
+                  __pyx_t_29 = __Pyx_PyCFunction_FastCall(__pyx_t_32, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 696, __pyx_L1_error)
+                  __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
+                  __Pyx_GOTREF(__pyx_t_29);
+                  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+                  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+                  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+                  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+                  __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+                } else
+                #endif
+                {
+                  __pyx_t_33 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 696, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_33);
+                  if (__pyx_t_21) {
+                    __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_21); __pyx_t_21 = NULL;
+                  }
+                  __Pyx_GIVEREF(__pyx_t_1);
+                  PyTuple_SET_ITEM(__pyx_t_33, 0+__pyx_t_8, __pyx_t_1);
+                  __Pyx_GIVEREF(__pyx_t_5);
+                  PyTuple_SET_ITEM(__pyx_t_33, 1+__pyx_t_8, __pyx_t_5);
+                  __Pyx_GIVEREF(__pyx_t_10);
+                  PyTuple_SET_ITEM(__pyx_t_33, 2+__pyx_t_8, __pyx_t_10);
+                  __Pyx_GIVEREF(__pyx_t_27);
+                  PyTuple_SET_ITEM(__pyx_t_33, 3+__pyx_t_8, __pyx_t_27);
+                  __Pyx_GIVEREF(__pyx_t_11);
+                  PyTuple_SET_ITEM(__pyx_t_33, 4+__pyx_t_8, __pyx_t_11);
+                  __Pyx_GIVEREF(__pyx_t_20);
+                  PyTuple_SET_ITEM(__pyx_t_33, 5+__pyx_t_8, __pyx_t_20);
+                  __pyx_t_1 = 0;
+                  __pyx_t_5 = 0;
+                  __pyx_t_10 = 0;
+                  __pyx_t_27 = 0;
+                  __pyx_t_11 = 0;
+                  __pyx_t_20 = 0;
+                  __pyx_t_29 = __Pyx_PyObject_Call(__pyx_t_32, __pyx_t_33, NULL); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 696, __pyx_L1_error)
+                  __Pyx_GOTREF(__pyx_t_29);
+                  __Pyx_DECREF(__pyx_t_33); __pyx_t_33 = 0;
+                }
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":695
+ *                                     neighbor_copy = Cone(x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 #print 'cc=4: (%g, %g, %g; %g) (%g, %g, %g; %g) (%g, %g, %g; %g) ' % (x1, y1, z1, r1, x2, y2, z2, r2, x3, y3, z3, r3)
+ *                                 clips.append(Union([             # <<<<<<<<<<<<<<
+ *                                     Plane(x2, y2, z2, naxis[0], naxis[1], naxis[2]),
+ *                                     neighbor_copy]))
+ */
+                __pyx_t_32 = PyList_New(2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 695, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_32);
+                __Pyx_GIVEREF(__pyx_t_29);
+                PyList_SET_ITEM(__pyx_t_32, 0, __pyx_t_29);
+                __Pyx_INCREF(__pyx_v_neighbor_copy);
+                __Pyx_GIVEREF(__pyx_v_neighbor_copy);
+                PyList_SET_ITEM(__pyx_t_32, 1, __pyx_v_neighbor_copy);
+                __pyx_t_29 = 0;
+                __pyx_t_29 = NULL;
+                if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+                  __pyx_t_29 = PyMethod_GET_SELF(__pyx_t_31);
+                  if (likely(__pyx_t_29)) {
+                    PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+                    __Pyx_INCREF(__pyx_t_29);
+                    __Pyx_INCREF(function);
+                    __Pyx_DECREF_SET(__pyx_t_31, function);
+                  }
+                }
+                __pyx_t_17 = (__pyx_t_29) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_29, __pyx_t_32) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_t_32);
+                __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+                __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+                if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 695, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+                __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_clips, __pyx_t_17); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 695, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+                /* "neuron/rxd/geometry3d/ctng.pyx":689
+ *                             # CTNG:4outacute (+ 1 more)
+ *                             # already joined; just clip (only in mild turn case)
+ *                             if not sharp_turn:             # <<<<<<<<<<<<<<
+ *                                 if r2 == r3:
+ *                                     neighbor_copy = Cylinder(x2, y2, z2, x3, y3, z3, r3)
+ */
+              }
+
+              /* "neuron/rxd/geometry3d/ctng.pyx":686
+ *                             pass
+ * 
+ *                         elif corner_count == 4:             # <<<<<<<<<<<<<<
+ *                             # CTNG:4outacute (+ 1 more)
+ *                             # already joined; just clip (only in mild turn case)
+ */
+            }
+            __pyx_L123:;
+
+            /* "neuron/rxd/geometry3d/ctng.pyx":668
+ * 
+ *                     # we check again because sometimes there are roundoff errors that this catches
+ *                     if radial_vec_norm:             # <<<<<<<<<<<<<<
+ * 
+ *                         # is the turn sharp or not
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/ctng.pyx":661
+ * 
+ *                 # no need to clip if the cones are perfectly aligned
+ *                 if any(axis != naxis):             # <<<<<<<<<<<<<<
+ *                     # locate key vectors
+ *                     plane_normal = numpy.cross(axis, naxis)
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":652
+ * 
+ * 
+ *             if neighbor_right is not None:             # <<<<<<<<<<<<<<
+ *                 # any joins are created on the left pass; the right pass will only do clippings
+ *                 x3, y3, z3, r3 = neighbor_right._x0, neighbor_right._y0, neighbor_right._z0, neighbor_right._r0
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":701
+ * 
+ * 
+ *             if clips:             # <<<<<<<<<<<<<<
+ *                 int_clip = Intersection(clips)
+ *                 cone_clip_db[cone].append(int_clip)
+ */
+      __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_clips) != 0);
+      if (__pyx_t_3) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":702
+ * 
+ *             if clips:
+ *                 int_clip = Intersection(clips)             # <<<<<<<<<<<<<<
+ *                 cone_clip_db[cone].append(int_clip)
+ * 
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 702, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_31);
+        __pyx_t_32 = NULL;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_31))) {
+          __pyx_t_32 = PyMethod_GET_SELF(__pyx_t_31);
+          if (likely(__pyx_t_32)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_31);
+            __Pyx_INCREF(__pyx_t_32);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_31, function);
+          }
+        }
+        __pyx_t_17 = (__pyx_t_32) ? __Pyx_PyObject_Call2Args(__pyx_t_31, __pyx_t_32, __pyx_v_clips) : __Pyx_PyObject_CallOneArg(__pyx_t_31, __pyx_v_clips);
+        __Pyx_XDECREF(__pyx_t_32); __pyx_t_32 = 0;
+        if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 702, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_int_clip, __pyx_t_17);
+        __pyx_t_17 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":703
+ *             if clips:
+ *                 int_clip = Intersection(clips)
+ *                 cone_clip_db[cone].append(int_clip)             # <<<<<<<<<<<<<<
+ * 
+ *         if joingroup:
+ */
+        __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_cone_clip_db, __pyx_v_cone); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 703, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_19 = __Pyx_PyObject_Append(__pyx_t_17, __pyx_v_int_clip); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 703, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":701
+ * 
+ * 
+ *             if clips:             # <<<<<<<<<<<<<<
+ *                 int_clip = Intersection(clips)
+ *                 cone_clip_db[cone].append(int_clip)
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":525
+ *                 joingroup.append(neighbor)
+ *         if not right_neighbors: right_neighbors = [None]
+ *         for neighbor_left, neighbor_right in itertools.product(left_neighbors, right_neighbors):             # <<<<<<<<<<<<<<
+ *             clips = []
+ *             # if any join needs to be subject to clips, it goes here
+ */
+    }
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":705
+ *                 cone_clip_db[cone].append(int_clip)
+ * 
+ *         if joingroup:             # <<<<<<<<<<<<<<
+ *             join_groups.append(joingroup)
+ * 
+ */
+    __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_joingroup) != 0);
+    if (__pyx_t_3) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":706
+ * 
+ *         if joingroup:
+ *             join_groups.append(joingroup)             # <<<<<<<<<<<<<<
+ * 
+ *     for cone in all_cones:
+ */
+      __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_join_groups, __pyx_v_joingroup); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 706, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":705
+ *                 cone_clip_db[cone].append(int_clip)
+ * 
+ *         if joingroup:             # <<<<<<<<<<<<<<
+ *             join_groups.append(joingroup)
+ * 
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":506
+ * #    cdef dict join_counts = {'2m': 0, '2s': 0, '3m': 0, '3s': 0, '4m': 0, '4s': 0, '0m': 0, '0s': 0, '1m': 0, '1s': 0}
+ *     join_items_needing_clipped = []
+ *     for cone in all_cones:             # <<<<<<<<<<<<<<
+ *         joingroup = []
+ *         x1, y1, z1, r1 = cone._x0, cone._y0, cone._z0, cone._r0
+ */
+  }
+  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":708
+ *             join_groups.append(joingroup)
+ * 
+ *     for cone in all_cones:             # <<<<<<<<<<<<<<
+ *         clip = cone_clip_db[cone]
+ *         if clip:
+ */
+  if (unlikely(!__pyx_v_all_cones)) { __Pyx_RaiseUnboundLocalError("all_cones"); __PYX_ERR(0, 708, __pyx_L1_error) }
+  __pyx_t_12 = __pyx_v_all_cones; __Pyx_INCREF(__pyx_t_12); __pyx_t_25 = 0;
+  for (;;) {
+    if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_12)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_25); __Pyx_INCREF(__pyx_t_4); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 708, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 708, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_cone, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":709
+ * 
+ *     for cone in all_cones:
+ *         clip = cone_clip_db[cone]             # <<<<<<<<<<<<<<
+ *         if clip:
+ *             cone.set_clip([Union(clip)])
+ */
+    __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_cone_clip_db, __pyx_v_cone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 709, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_XDECREF_SET(__pyx_v_clip, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":710
+ *     for cone in all_cones:
+ *         clip = cone_clip_db[cone]
+ *         if clip:             # <<<<<<<<<<<<<<
+ *             cone.set_clip([Union(clip)])
+ * 
+ */
+    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_clip); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 710, __pyx_L1_error)
+    if (__pyx_t_3) {
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":711
+ *         clip = cone_clip_db[cone]
+ *         if clip:
+ *             cone.set_clip([Union(clip)])             # <<<<<<<<<<<<<<
+ * 
+ *     for sec,cones in potential_soma_cones.items():
+ */
+      __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_set_clip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 711, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __Pyx_GetModuleGlobalName(__pyx_t_32, __pyx_n_s_Union); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 711, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_32);
+      __pyx_t_29 = NULL;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_32))) {
+        __pyx_t_29 = PyMethod_GET_SELF(__pyx_t_32);
+        if (likely(__pyx_t_29)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_32);
+          __Pyx_INCREF(__pyx_t_29);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_32, function);
+        }
+      }
+      __pyx_t_31 = (__pyx_t_29) ? __Pyx_PyObject_Call2Args(__pyx_t_32, __pyx_t_29, __pyx_v_clip) : __Pyx_PyObject_CallOneArg(__pyx_t_32, __pyx_v_clip);
+      __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+      if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 711, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_31);
+      __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+      __pyx_t_32 = PyList_New(1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 711, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_32);
+      __Pyx_GIVEREF(__pyx_t_31);
+      PyList_SET_ITEM(__pyx_t_32, 0, __pyx_t_31);
+      __pyx_t_31 = 0;
+      __pyx_t_31 = NULL;
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
+        __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_17);
+        if (likely(__pyx_t_31)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+          __Pyx_INCREF(__pyx_t_31);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_17, function);
+        }
+      }
+      __pyx_t_4 = (__pyx_t_31) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_31, __pyx_t_32) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_32);
+      __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0;
+      __Pyx_DECREF(__pyx_t_32); __pyx_t_32 = 0;
+      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 711, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":710
+ *     for cone in all_cones:
+ *         clip = cone_clip_db[cone]
+ *         if clip:             # <<<<<<<<<<<<<<
+ *             cone.set_clip([Union(clip)])
+ * 
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":708
+ *             join_groups.append(joingroup)
+ * 
+ *     for cone in all_cones:             # <<<<<<<<<<<<<<
+ *         clip = cone_clip_db[cone]
+ *         if clip:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":713
+ *             cone.set_clip([Union(clip)])
+ * 
+ *     for sec,cones in potential_soma_cones.items():             # <<<<<<<<<<<<<<
+ *         for cone in cones:
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:
+ */
+  __pyx_t_12 = __Pyx_PyDict_Items(__pyx_v_potential_soma_cones); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 713, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) {
+    __pyx_t_4 = __pyx_t_12; __Pyx_INCREF(__pyx_t_4); __pyx_t_25 = 0;
+    __pyx_t_7 = NULL;
+  } else {
+    __pyx_t_25 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 713, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 713, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_7)) {
+      if (likely(PyList_CheckExact(__pyx_t_4))) {
+        if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_4)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_12 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_25); __Pyx_INCREF(__pyx_t_12); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
+        #else
+        __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 713, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_12);
+        #endif
+      } else {
+        if (__pyx_t_25 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_25); __Pyx_INCREF(__pyx_t_12); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
+        #else
+        __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 713, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_12);
+        #endif
+      }
+    } else {
+      __pyx_t_12 = __pyx_t_7(__pyx_t_4);
+      if (unlikely(!__pyx_t_12)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 713, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_12);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_12))) || (PyList_CheckExact(__pyx_t_12))) {
+      PyObject* sequence = __pyx_t_12;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 713, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_32 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_17 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_32 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_17);
+      __Pyx_INCREF(__pyx_t_32);
+      #else
+      __pyx_t_17 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 713, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __pyx_t_32 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 713, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_32);
+      #endif
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_31 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 713, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_31);
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      __pyx_t_18 = Py_TYPE(__pyx_t_31)->tp_iternext;
+      index = 0; __pyx_t_17 = __pyx_t_18(__pyx_t_31); if (unlikely(!__pyx_t_17)) goto __pyx_L133_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_17);
+      index = 1; __pyx_t_32 = __pyx_t_18(__pyx_t_31); if (unlikely(!__pyx_t_32)) goto __pyx_L133_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_32);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_31), 2) < 0) __PYX_ERR(0, 713, __pyx_L1_error)
+      __pyx_t_18 = NULL;
+      __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+      goto __pyx_L134_unpacking_done;
+      __pyx_L133_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+      __pyx_t_18 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 713, __pyx_L1_error)
+      __pyx_L134_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_sec, __pyx_t_17);
+    __pyx_t_17 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_cones, __pyx_t_32);
+    __pyx_t_32 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":714
+ * 
+ *     for sec,cones in potential_soma_cones.items():
+ *         for cone in cones:             # <<<<<<<<<<<<<<
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:
+ *                 cone_segment_dict[(cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1)] = sec.trueparentseg()
+ */
+    if (likely(PyList_CheckExact(__pyx_v_cones)) || PyTuple_CheckExact(__pyx_v_cones)) {
+      __pyx_t_12 = __pyx_v_cones; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0;
+      __pyx_t_23 = NULL;
+    } else {
+      __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_v_cones); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 714, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      __pyx_t_23 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 714, __pyx_L1_error)
+    }
+    for (;;) {
+      if (likely(!__pyx_t_23)) {
+        if (likely(PyList_CheckExact(__pyx_t_12))) {
+          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_32 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_32); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 714, __pyx_L1_error)
+          #else
+          __pyx_t_32 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 714, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          #endif
+        } else {
+          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_32 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_32); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 714, __pyx_L1_error)
+          #else
+          __pyx_t_32 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 714, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_32);
+          #endif
+        }
+      } else {
+        __pyx_t_32 = __pyx_t_23(__pyx_t_12);
+        if (unlikely(!__pyx_t_32)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 714, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_32);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_cone, __pyx_t_32);
+      __pyx_t_32 = 0;
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":715
+ *     for sec,cones in potential_soma_cones.items():
+ *         for cone in cones:
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:             # <<<<<<<<<<<<<<
+ *                 cone_segment_dict[(cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1)] = sec.trueparentseg()
+ * 
+ */
+      __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x0_2); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_32);
+      __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y0_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z0_2); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_31);
+      __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y1); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_33);
+      __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_20);
+      __pyx_t_11 = PyTuple_New(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GIVEREF(__pyx_t_32);
+      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_32);
+      __Pyx_GIVEREF(__pyx_t_17);
+      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_17);
+      __Pyx_GIVEREF(__pyx_t_31);
+      PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_31);
+      __Pyx_GIVEREF(__pyx_t_29);
+      PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_29);
+      __Pyx_GIVEREF(__pyx_t_33);
+      PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_33);
+      __Pyx_GIVEREF(__pyx_t_20);
+      PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_20);
+      __pyx_t_32 = 0;
+      __pyx_t_17 = 0;
+      __pyx_t_31 = 0;
+      __pyx_t_29 = 0;
+      __pyx_t_33 = 0;
+      __pyx_t_20 = 0;
+      __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_t_11, __pyx_v_cone_segment_dict, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 715, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __pyx_t_2 = (__pyx_t_3 != 0);
+      if (__pyx_t_2) {
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":716
+ *         for cone in cones:
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:
+ *                 cone_segment_dict[(cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1)] = sec.trueparentseg()             # <<<<<<<<<<<<<<
+ * 
+ *     #####################################################################
+ */
+        __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_sec, __pyx_n_s_trueparentseg); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_20);
+        __pyx_t_33 = NULL;
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_20))) {
+          __pyx_t_33 = PyMethod_GET_SELF(__pyx_t_20);
+          if (likely(__pyx_t_33)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_20);
+            __Pyx_INCREF(__pyx_t_33);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_20, function);
+          }
+        }
+        __pyx_t_11 = (__pyx_t_33) ? __Pyx_PyObject_CallOneArg(__pyx_t_20, __pyx_t_33) : __Pyx_PyObject_CallNoArg(__pyx_t_20);
+        __Pyx_XDECREF(__pyx_t_33); __pyx_t_33 = 0;
+        if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+        __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x0_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_20);
+        __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y0_2); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_33);
+        __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z0_2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_29);
+        __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_x1); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_31);
+        __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_y1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_v_cone, __pyx_n_s_z1); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_32);
+        __pyx_t_27 = PyTuple_New(6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        __Pyx_GIVEREF(__pyx_t_20);
+        PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_20);
+        __Pyx_GIVEREF(__pyx_t_33);
+        PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_33);
+        __Pyx_GIVEREF(__pyx_t_29);
+        PyTuple_SET_ITEM(__pyx_t_27, 2, __pyx_t_29);
+        __Pyx_GIVEREF(__pyx_t_31);
+        PyTuple_SET_ITEM(__pyx_t_27, 3, __pyx_t_31);
+        __Pyx_GIVEREF(__pyx_t_17);
+        PyTuple_SET_ITEM(__pyx_t_27, 4, __pyx_t_17);
+        __Pyx_GIVEREF(__pyx_t_32);
+        PyTuple_SET_ITEM(__pyx_t_27, 5, __pyx_t_32);
+        __pyx_t_20 = 0;
+        __pyx_t_33 = 0;
+        __pyx_t_29 = 0;
+        __pyx_t_31 = 0;
+        __pyx_t_17 = 0;
+        __pyx_t_32 = 0;
+        if (unlikely(PyDict_SetItem(__pyx_v_cone_segment_dict, __pyx_t_27, __pyx_t_11) < 0)) __PYX_ERR(0, 716, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+
+        /* "neuron/rxd/geometry3d/ctng.pyx":715
+ *     for sec,cones in potential_soma_cones.items():
+ *         for cone in cones:
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:             # <<<<<<<<<<<<<<
+ *                 cone_segment_dict[(cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1)] = sec.trueparentseg()
+ * 
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/ctng.pyx":714
+ * 
+ *     for sec,cones in potential_soma_cones.items():
+ *         for cone in cones:             # <<<<<<<<<<<<<<
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:
+ *                 cone_segment_dict[(cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1)] = sec.trueparentseg()
+ */
+    }
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+
+    /* "neuron/rxd/geometry3d/ctng.pyx":713
+ *             cone.set_clip([Union(clip)])
+ * 
+ *     for sec,cones in potential_soma_cones.items():             # <<<<<<<<<<<<<<
+ *         for cone in cones:
+ *             if (cone._x0, cone._y0, cone._z0, cone._x1, cone._y1, cone._z1) not in cone_segment_dict:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":726
+ *     #objects += all_cones
+ * 
+ *     return [objects, all_cones, cone_segment_dict, join_groups, obj_pts_dict, soma_segment_dict]             # <<<<<<<<<<<<<<
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if (unlikely(!__pyx_v_all_cones)) { __Pyx_RaiseUnboundLocalError("all_cones"); __PYX_ERR(0, 726, __pyx_L1_error) }
+  __pyx_t_4 = PyList_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 726, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_INCREF(__pyx_v_objects);
+  __Pyx_GIVEREF(__pyx_v_objects);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_v_objects);
+  __Pyx_INCREF(__pyx_v_all_cones);
+  __Pyx_GIVEREF(__pyx_v_all_cones);
+  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_v_all_cones);
+  __Pyx_INCREF(__pyx_v_cone_segment_dict);
+  __Pyx_GIVEREF(__pyx_v_cone_segment_dict);
+  PyList_SET_ITEM(__pyx_t_4, 2, __pyx_v_cone_segment_dict);
+  __Pyx_INCREF(__pyx_v_join_groups);
+  __Pyx_GIVEREF(__pyx_v_join_groups);
+  PyList_SET_ITEM(__pyx_t_4, 3, __pyx_v_join_groups);
+  __Pyx_INCREF(__pyx_v_obj_pts_dict);
+  __Pyx_GIVEREF(__pyx_v_obj_pts_dict);
+  PyList_SET_ITEM(__pyx_t_4, 4, __pyx_v_obj_pts_dict);
+  __Pyx_INCREF(__pyx_v_soma_segment_dict);
+  __Pyx_GIVEREF(__pyx_v_soma_segment_dict);
+  PyList_SET_ITEM(__pyx_t_4, 5, __pyx_v_soma_segment_dict);
+  __pyx_r = __pyx_t_4;
+  __pyx_t_4 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_XDECREF(__pyx_t_31);
+  __Pyx_XDECREF(__pyx_t_32);
+  __Pyx_XDECREF(__pyx_t_33);
+  __Pyx_XDECREF(__pyx_t_34);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.ctng.constructive_neuronal_geometry", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_objects);
+  __Pyx_XDECREF(__pyx_v_cone_segment_dict);
+  __Pyx_XDECREF(__pyx_v_soma_segment_dict);
+  __Pyx_XDECREF(__pyx_v_join_groups);
+  __Pyx_XDECREF(__pyx_v_obj_pts_dict);
+  __Pyx_XDECREF(__pyx_v_obj_sections);
+  __Pyx_XDECREF(__pyx_v_cone_sections);
+  __Pyx_XDECREF(__pyx_v_soma_secs);
+  __Pyx_XDECREF(__pyx_v_potential_soma_cones);
+  __Pyx_XDECREF(__pyx_v_pts);
+  __Pyx_XDECREF(__pyx_v_f_pts);
+  __Pyx_XDECREF(__pyx_v_branches);
+  __Pyx_XDECREF(__pyx_v_parent_sec_name);
+  __Pyx_XDECREF(__pyx_v_pt);
+  __Pyx_XDECREF(__pyx_v_num_contours);
+  __Pyx_XDECREF(__pyx_v_sec);
+  __Pyx_XDECREF(__pyx_v_x);
+  __Pyx_XDECREF(__pyx_v_y);
+  __Pyx_XDECREF(__pyx_v_z);
+  __Pyx_XDECREF(__pyx_v_center_vec);
+  __Pyx_XDECREF(__pyx_v_new_objects);
+  __Pyx_XDECREF(__pyx_v_is_stack);
+  __Pyx_XDECREF(__pyx_v_pts3d);
+  __Pyx_XDECREF(__pyx_v_shift);
+  __Pyx_XDECREF(__pyx_v_orig_x);
+  __Pyx_XDECREF(__pyx_v_orig_y);
+  __Pyx_XDECREF(__pyx_v_orig_z);
+  __Pyx_XDECREF(__pyx_v_sx);
+  __Pyx_XDECREF(__pyx_v_sy);
+  __Pyx_XDECREF(__pyx_v_sz);
+  __Pyx_XDECREF(__pyx_v_warnings);
+  __Pyx_XDECREF(__pyx_v_diam_corrections);
+  __Pyx_XDECREF(__pyx_v_clip_copying);
+  __Pyx_XDECREF(__pyx_v_all_cones);
+  __Pyx_XDECREF(__pyx_v_pts_cones_db);
+  __Pyx_XDECREF(__pyx_v_diam_db);
+  __Pyx_XDECREF(__pyx_v_branch);
+  __Pyx_XDECREF(__pyx_v_psec);
+  __Pyx_XDECREF(__pyx_v_d);
+  __Pyx_XDECREF(__pyx_v_rng);
+  __Pyx_XDECREF(__pyx_v_arc3d);
+  __Pyx_XDECREF(__pyx_v_diam3d);
+  __Pyx_XDECREF(__pyx_v_x3d);
+  __Pyx_XDECREF(__pyx_v_y3d);
+  __Pyx_XDECREF(__pyx_v_z3d);
+  __Pyx_XDECREF(__pyx_v_iseg);
+  __Pyx_XDECREF(__pyx_v_seg);
+  __Pyx_XDECREF(__pyx_v_lo);
+  __Pyx_XDECREF(__pyx_v_hi);
+  __Pyx_XDECREF(__pyx_v_diams);
+  __Pyx_XDECREF(__pyx_v_xcoords);
+  __Pyx_XDECREF(__pyx_v_ycoords);
+  __Pyx_XDECREF(__pyx_v_zcoords);
+  __Pyx_XDECREF(__pyx_v_conecoords);
+  __Pyx_XDECREF(__pyx_v_somaz);
+  __Pyx_XDECREF(__pyx_v_cp);
+  __Pyx_XDECREF(__pyx_v_d0);
+  __Pyx_XDECREF(__pyx_v_d1);
+  __Pyx_XDECREF(__pyx_v_axisx);
+  __Pyx_XDECREF(__pyx_v_axisy);
+  __Pyx_XDECREF(__pyx_v_axisz);
+  __Pyx_XDECREF(__pyx_v_deltad);
+  __Pyx_XDECREF(__pyx_v_axislength);
+  __Pyx_XDECREF(__pyx_v_vals);
+  __Pyx_XDECREF(__pyx_v_cone_clip_db);
+  __Pyx_XDECREF(__pyx_v_join_items_needing_clipped);
+  __Pyx_XDECREF(__pyx_v_cone);
+  __Pyx_XDECREF(__pyx_v_joingroup);
+  __Pyx_XDECREF(__pyx_v_pt1);
+  __Pyx_XDECREF(__pyx_v_pt2);
+  __Pyx_XDECREF(__pyx_v_axis);
+  __Pyx_XDECREF(__pyx_v_left_neighbors);
+  __Pyx_XDECREF(__pyx_v_right_neighbors);
+  __Pyx_XDECREF(__pyx_v_neighbor);
+  __Pyx_XDECREF(__pyx_v_neighbor_left);
+  __Pyx_XDECREF(__pyx_v_neighbor_right);
+  __Pyx_XDECREF(__pyx_v_clips);
+  __Pyx_XDECREF(__pyx_v_join_item);
+  __Pyx_XDECREF(__pyx_v_pt0);
+  __Pyx_XDECREF(__pyx_v_naxis);
+  __Pyx_XDECREF(__pyx_v_sp);
+  __Pyx_XDECREF(__pyx_v_c0);
+  __Pyx_XDECREF(__pyx_v_c1);
+  __Pyx_XDECREF(__pyx_v_plane_normal);
+  __Pyx_XDECREF(__pyx_v_radial_vec);
+  __Pyx_XDECREF(__pyx_v_nradial_vec);
+  __Pyx_XDECREF(__pyx_v_corner_pts);
+  __Pyx_XDECREF(__pyx_v_my_corner_count);
+  __Pyx_XDECREF(__pyx_v_corner_count);
+  __Pyx_XDECREF(__pyx_v_neighbor_copy);
+  __Pyx_XDECREF(__pyx_v_z3);
+  __Pyx_XDECREF(__pyx_v_r3);
+  __Pyx_XDECREF(__pyx_v_pt3);
+  __Pyx_XDECREF(__pyx_v_radial_vec_norm);
+  __Pyx_XDECREF(__pyx_v_int_clip);
+  __Pyx_XDECREF(__pyx_v_clip);
+  __Pyx_XDECREF(__pyx_v_cones);
+  __Pyx_XDECREF(__pyx_gb_6neuron_3rxd_10geometry3d_4ctng_30constructive_neuronal_geometry_2generator);
+  __Pyx_XDECREF(__pyx_v_s0);
+  __Pyx_XDECREF(__pyx_v_s1);
+  __Pyx_XDECREF(__pyx_v_arc);
+  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_cone);
+  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":258
+ *         # experimental exception made for __getbuffer__ and __releasebuffer__
+ *         # -- the details of this may change.
+ *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
+ *             # This implementation of getbuffer is geared towards Cython
+ *             # requirements, and does not yet fulfill the PEP.
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_v_i;
+  int __pyx_v_ndim;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  int __pyx_v_t;
+  char *__pyx_v_f;
+  PyArray_Descr *__pyx_v_descr = 0;
+  int __pyx_v_offset;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyArray_Descr *__pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  if (__pyx_v_info == NULL) {
+    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
+    return -1;
+  }
+  __Pyx_RefNannySetupContext("__getbuffer__", 0);
+  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_GIVEREF(__pyx_v_info->obj);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":265
+ * 
+ *             cdef int i, ndim
+ *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":266
+ *             cdef int i, ndim
+ *             cdef int endian_detector = 1
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ * 
+ *             ndim = PyArray_NDIM(self)
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":268
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ */
+  __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
+  if (__pyx_t_2) {
+  } else {
+    __pyx_t_1 = __pyx_t_2;
+    goto __pyx_L4_bool_binop_done;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":271
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ */
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0);
+  __pyx_t_1 = __pyx_t_2;
+  __pyx_L4_bool_binop_done:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  if (unlikely(__pyx_t_1)) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":272
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(1, 272, __pyx_L1_error)
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
+  if (__pyx_t_2) {
+  } else {
+    __pyx_t_1 = __pyx_t_2;
+    goto __pyx_L7_bool_binop_done;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":275
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ */
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0);
+  __pyx_t_1 = __pyx_t_2;
+  __pyx_L7_bool_binop_done:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  if (unlikely(__pyx_t_1)) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":276
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(1, 276, __pyx_L1_error)
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":278
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":279
+ * 
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim             # <<<<<<<<<<<<<<
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 # Allocate new buffer for strides and shape info.
+ */
+  __pyx_v_info->ndim = __pyx_v_ndim;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":280
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ */
+  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":283
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)             # <<<<<<<<<<<<<<
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ */
+    __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim))));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":284
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
+ *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ */
+    __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":285
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):             # <<<<<<<<<<<<<<
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ */
+    __pyx_t_4 = __pyx_v_ndim;
+    __pyx_t_5 = __pyx_t_4;
+    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
+      __pyx_v_i = __pyx_t_6;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":286
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ */
+      (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":287
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ */
+      (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":280
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ */
+    goto __pyx_L9;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":289
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ */
+  /*else*/ {
+    __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":290
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ */
+    __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
+  }
+  __pyx_L9:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":291
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ */
+  __pyx_v_info->suboffsets = NULL;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":292
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ * 
+ */
+  __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":293
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
+ * 
+ *             cdef int t
+ */
+  __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":296
+ * 
+ *             cdef int t
+ *             cdef char* f = NULL             # <<<<<<<<<<<<<<
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)
+ *             cdef int offset
+ */
+  __pyx_v_f = NULL;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":297
+ *             cdef int t
+ *             cdef char* f = NULL
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)             # <<<<<<<<<<<<<<
+ *             cdef int offset
+ * 
+ */
+  __pyx_t_7 = PyArray_DESCR(__pyx_v_self);
+  __pyx_t_3 = ((PyObject *)__pyx_t_7);
+  __Pyx_INCREF(__pyx_t_3);
+  __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":300
+ *             cdef int offset
+ * 
+ *             info.obj = self             # <<<<<<<<<<<<<<
+ * 
+ *             if not PyDataType_HASFIELDS(descr):
+ */
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  __Pyx_GOTREF(__pyx_v_info->obj);
+  __Pyx_DECREF(__pyx_v_info->obj);
+  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":302
+ *             info.obj = self
+ * 
+ *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ */
+  __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":303
+ * 
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num             # <<<<<<<<<<<<<<
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ */
+    __pyx_t_4 = __pyx_v_descr->type_num;
+    __pyx_v_t = __pyx_t_4;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
+    if (!__pyx_t_2) {
+      goto __pyx_L15_next_or;
+    } else {
+    }
+    __pyx_t_2 = (__pyx_v_little_endian != 0);
+    if (!__pyx_t_2) {
+    } else {
+      __pyx_t_1 = __pyx_t_2;
+      goto __pyx_L14_bool_binop_done;
+    }
+    __pyx_L15_next_or:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":305
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ */
+    __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
+    if (__pyx_t_2) {
+    } else {
+      __pyx_t_1 = __pyx_t_2;
+      goto __pyx_L14_bool_binop_done;
+    }
+    __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_L14_bool_binop_done:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    if (unlikely(__pyx_t_1)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":306
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 306, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":307
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ */
+    switch (__pyx_v_t) {
+      case NPY_BYTE:
+      __pyx_v_f = ((char *)"b");
+      break;
+      case NPY_UBYTE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":308
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ */
+      __pyx_v_f = ((char *)"B");
+      break;
+      case NPY_SHORT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":309
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ */
+      __pyx_v_f = ((char *)"h");
+      break;
+      case NPY_USHORT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":310
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ */
+      __pyx_v_f = ((char *)"H");
+      break;
+      case NPY_INT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":311
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ */
+      __pyx_v_f = ((char *)"i");
+      break;
+      case NPY_UINT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":312
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ */
+      __pyx_v_f = ((char *)"I");
+      break;
+      case NPY_LONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":313
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ */
+      __pyx_v_f = ((char *)"l");
+      break;
+      case NPY_ULONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":314
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ */
+      __pyx_v_f = ((char *)"L");
+      break;
+      case NPY_LONGLONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":315
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ */
+      __pyx_v_f = ((char *)"q");
+      break;
+      case NPY_ULONGLONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":316
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ */
+      __pyx_v_f = ((char *)"Q");
+      break;
+      case NPY_FLOAT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":317
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ */
+      __pyx_v_f = ((char *)"f");
+      break;
+      case NPY_DOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":318
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ */
+      __pyx_v_f = ((char *)"d");
+      break;
+      case NPY_LONGDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":319
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ */
+      __pyx_v_f = ((char *)"g");
+      break;
+      case NPY_CFLOAT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":320
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ */
+      __pyx_v_f = ((char *)"Zf");
+      break;
+      case NPY_CDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":321
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"
+ */
+      __pyx_v_f = ((char *)"Zd");
+      break;
+      case NPY_CLONGDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":322
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ */
+      __pyx_v_f = ((char *)"Zg");
+      break;
+      case NPY_OBJECT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":323
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+      __pyx_v_f = ((char *)"O");
+      break;
+      default:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":325
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *                 info.format = f
+ *                 return
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 325, __pyx_L1_error)
+      break;
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":326
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f             # <<<<<<<<<<<<<<
+ *                 return
+ *             else:
+ */
+    __pyx_v_info->format = __pyx_v_f;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":327
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f
+ *                 return             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ */
+    __pyx_r = 0;
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":302
+ *             info.obj = self
+ * 
+ *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":329
+ *                 return
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0
+ */
+  /*else*/ {
+    __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":330
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ *                 info.format[0] = c'^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
+ *                 offset = 0
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ */
+    (__pyx_v_info->format[0]) = '^';
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":331
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0             # <<<<<<<<<<<<<<
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ *                                       info.format + _buffer_format_string_len,
+ */
+    __pyx_v_offset = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":332
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0
+ *                 f = _util_dtypestring(descr, info.format + 1,             # <<<<<<<<<<<<<<
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)
+ */
+    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error)
+    __pyx_v_f = __pyx_t_9;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":335
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)
+ *                 f[0] = c'\0' # Terminate format string             # <<<<<<<<<<<<<<
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ */
+    (__pyx_v_f[0]) = '\x00';
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":258
+ *         # experimental exception made for __getbuffer__ and __releasebuffer__
+ *         # -- the details of this may change.
+ *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
+ *             # This implementation of getbuffer is geared towards Cython
+ *             # requirements, and does not yet fulfill the PEP.
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  if (__pyx_v_info->obj != NULL) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
+  }
+  goto __pyx_L2;
+  __pyx_L0:;
+  if (__pyx_v_info->obj == Py_None) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
+  }
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":337
+ *                 f[0] = c'\0' # Terminate format string
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
+  __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("__releasebuffer__", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":338
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":339
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)             # <<<<<<<<<<<<<<
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 PyObject_Free(info.strides)
+ */
+    PyObject_Free(__pyx_v_info->format);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":338
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":340
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.strides)
+ *                 # info.shape was stored after info.strides in the same block
+ */
+  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":341
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 PyObject_Free(info.strides)             # <<<<<<<<<<<<<<
+ *                 # info.shape was stored after info.strides in the same block
+ * 
+ */
+    PyObject_Free(__pyx_v_info->strides);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":340
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.strides)
+ *                 # info.shape was stored after info.strides in the same block
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":337
+ *                 f[0] = c'\0' # Terminate format string
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ */
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":820
+ * ctypedef npy_cdouble     complex_t
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":821
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":820
+ * ctypedef npy_cdouble     complex_t
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":823
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":824
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":823
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":826
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":827
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":826
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":829
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":830
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":829
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":832
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":833
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":832
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":835
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":836
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
+ *         return <tuple>d.subarray.shape
+ *     else:
+ */
+  __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":837
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
+ *     else:
+ *         return ()
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
+    __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":836
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
+ *         return <tuple>d.subarray.shape
+ *     else:
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":839
+ *         return <tuple>d.subarray.shape
+ *     else:
+ *         return ()             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(__pyx_empty_tuple);
+    __pyx_r = __pyx_empty_tuple;
+    goto __pyx_L0;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":835
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":841
+ *         return ()
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
+ *     # Recursive utility function used in __getbuffer__ to get format
+ *     # string. The new location in the format string is returned.
+ */
+
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
+  PyArray_Descr *__pyx_v_child = 0;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  PyObject *__pyx_v_fields = 0;
+  PyObject *__pyx_v_childname = NULL;
+  PyObject *__pyx_v_new_offset = NULL;
+  PyObject *__pyx_v_t = NULL;
+  char *__pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  long __pyx_t_8;
+  char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":846
+ * 
+ *     cdef dtype child
+ *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *     cdef tuple fields
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":847
+ *     cdef dtype child
+ *     cdef int endian_detector = 1
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ *     cdef tuple fields
+ * 
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":850
+ *     cdef tuple fields
+ * 
+ *     for childname in descr.names:             # <<<<<<<<<<<<<<
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields
+ */
+  if (unlikely(__pyx_v_descr->names == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(1, 850, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+  for (;;) {
+    if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":851
+ * 
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
+ *         child, new_offset = fields
+ * 
+ */
+    if (unlikely(__pyx_v_descr->fields == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 851, __pyx_L1_error)
+    }
+    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
+    __pyx_t_3 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":852
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields             # <<<<<<<<<<<<<<
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ */
+    if (likely(__pyx_v_fields != Py_None)) {
+      PyObject* sequence = __pyx_v_fields;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(1, 852, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_4);
+      #else
+      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      #endif
+    } else {
+      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error)
+    }
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+    __pyx_t_3 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":854
+ *         child, new_offset = fields
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
+    if (unlikely(__pyx_t_6)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":855
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 855, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":854
+ *         child, new_offset = fields
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
+    if (!__pyx_t_7) {
+      goto __pyx_L8_next_or;
+    } else {
+    }
+    __pyx_t_7 = (__pyx_v_little_endian != 0);
+    if (!__pyx_t_7) {
+    } else {
+      __pyx_t_6 = __pyx_t_7;
+      goto __pyx_L7_bool_binop_done;
+    }
+    __pyx_L8_next_or:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":858
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ *             (child.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *             raise ValueError(u"Non-native byte order not supported")
+ *             # One could encode it in the format string and have Cython
+ */
+    __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
+    if (__pyx_t_7) {
+    } else {
+      __pyx_t_6 = __pyx_t_7;
+      goto __pyx_L7_bool_binop_done;
+    }
+    __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
+    __pyx_t_6 = __pyx_t_7;
+    __pyx_L7_bool_binop_done:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    if (unlikely(__pyx_t_6)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":859
+ *         if ((child.byteorder == c'>' and little_endian) or
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *             # One could encode it in the format string and have Cython
+ *             # complain instead, BUT: < and > in format strings also imply
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 859, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":869
+ * 
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ */
+    while (1) {
+      __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (!__pyx_t_6) break;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":870
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
+ *             f += 1
+ *             offset[0] += 1
+ */
+      (__pyx_v_f[0]) = 0x78;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":871
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1             # <<<<<<<<<<<<<<
+ *             offset[0] += 1
+ * 
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":872
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ *             offset[0] += 1             # <<<<<<<<<<<<<<
+ * 
+ *         offset[0] += child.itemsize
+ */
+      __pyx_t_8 = 0;
+      (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":874
+ *             offset[0] += 1
+ * 
+ *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ */
+    __pyx_t_8 = 0;
+    (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":876
+ *         offset[0] += child.itemsize
+ * 
+ *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
+ *             t = child.type_num
+ *             if end - f < 5:
+ */
+    __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
+    if (__pyx_t_6) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":877
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num             # <<<<<<<<<<<<<<
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
+      __pyx_t_4 = 0;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":878
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num
+ *             if end - f < 5:             # <<<<<<<<<<<<<<
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ * 
+ */
+      __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
+      if (unlikely(__pyx_t_6)) {
+
+        /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":879
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __PYX_ERR(1, 879, __pyx_L1_error)
+
+        /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":878
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num
+ *             if end - f < 5:             # <<<<<<<<<<<<<<
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ * 
+ */
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":882
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 98;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":883
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 66;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":884
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x68;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":885
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 72;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":886
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x69;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":887
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 73;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":888
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x6C;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":889
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 76;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":890
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x71;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":891
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 81;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":892
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x66;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":893
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x64;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":894
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x67;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":895
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x66;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":896
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x64;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":897
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x67;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":898
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (likely(__pyx_t_6)) {
+        (__pyx_v_f[0]) = 79;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":900
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *             f += 1
+ *         else:
+ */
+      /*else*/ {
+        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __PYX_ERR(1, 900, __pyx_L1_error)
+      }
+      __pyx_L15:;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":901
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *             f += 1             # <<<<<<<<<<<<<<
+ *         else:
+ *             # Cython ignores struct boundary information ("T{...}"),
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":876
+ *         offset[0] += child.itemsize
+ * 
+ *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
+ *             t = child.type_num
+ *             if end - f < 5:
+ */
+      goto __pyx_L13;
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":905
+ *             # Cython ignores struct boundary information ("T{...}"),
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
+ *     return f
+ * 
+ */
+    /*else*/ {
+      __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error)
+      __pyx_v_f = __pyx_t_9;
+    }
+    __pyx_L13:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":850
+ *     cdef tuple fields
+ * 
+ *     for childname in descr.names:             # <<<<<<<<<<<<<<
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":906
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)
+ *     return f             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_f;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":841
+ *         return ()
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
+ *     # Recursive utility function used in __getbuffer__ to get format
+ *     # string. The new location in the format string is returned.
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_child);
+  __Pyx_XDECREF(__pyx_v_fields);
+  __Pyx_XDECREF(__pyx_v_childname);
+  __Pyx_XDECREF(__pyx_v_new_offset);
+  __Pyx_XDECREF(__pyx_v_t);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1021
+ *     int _import_umath() except -1
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_array_base", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1022
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ */
+  Py_INCREF(__pyx_v_base);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1023
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ */
+  (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1021
+ *     int _import_umath() except -1
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1025
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+  PyObject *__pyx_v_base;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("get_array_base", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1026
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
+ *     if base is NULL:
+ *         return None
+ */
+  __pyx_v_base = PyArray_BASE(__pyx_v_arr);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1027
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+  __pyx_t_1 = ((__pyx_v_base == NULL) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1028
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ *         return None             # <<<<<<<<<<<<<<
+ *     return <object>base
+ * 
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1027
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1029
+ *     if base is NULL:
+ *         return None
+ *     return <object>base             # <<<<<<<<<<<<<<
+ * 
+ * # Versions of the import_* functions which are more suitable for
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(((PyObject *)__pyx_v_base));
+  __pyx_r = ((PyObject *)__pyx_v_base);
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1025
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1033
+ * # Versions of the import_* functions which are more suitable for
+ * # Cython code.
+ * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_array()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_array", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1035
+ * cdef inline int import_array() except -1:
+ *     try:
+ *         _import_array()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ */
+      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1036
+ *     try:
+ *         _import_array()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1037
+ *         _import_array()
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_umath() except -1:
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1037, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1033
+ * # Versions of the import_* functions which are more suitable for
+ * # Cython code.
+ * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_array()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1039
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_umath", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1041
+ * cdef inline int import_umath() except -1:
+ *     try:
+ *         _import_umath()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1042
+ *     try:
+ *         _import_umath()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1043
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_ufunc() except -1:
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1043, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1039
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_ufunc", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1047
+ * cdef inline int import_ufunc() except -1:
+ *     try:
+ *         _import_umath()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1048
+ *     try:
+ *         _import_umath()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1049
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1049, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *__pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry[8];
+static int __pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry = 0;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  PyObject *o;
+  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry)))) {
+    o = (PyObject*)__pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry[--__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry];
+    memset(o, 0, sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry));
+    (void) PyObject_INIT(o, t);
+    PyObject_GC_Track(o);
+  } else {
+    o = (*t->tp_alloc)(t, 0);
+    if (unlikely(!o)) return 0;
+  }
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)o;
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->__pyx_v_cell);
+  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry)))) {
+    __pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry[__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry++] = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)o);
+  } else {
+    (*Py_TYPE(o)->tp_free)(o);
+  }
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)o;
+  if (p->__pyx_v_cell) {
+    e = (*v)(p->__pyx_v_cell, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry *)o;
+  tmp = ((PyObject*)p->__pyx_v_cell);
+  p->__pyx_v_cell = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.ctng.__pyx_scope_struct__constructive_neuronal_geometry", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  0, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  0, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+
+static struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *__pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr[8];
+static int __pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr = 0;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  PyObject *o;
+  if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr)))) {
+    o = (PyObject*)__pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr[--__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr];
+    memset(o, 0, sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr));
+    (void) PyObject_INIT(o, t);
+    PyObject_GC_Track(o);
+  } else {
+    o = (*t->tp_alloc)(t, 0);
+    if (unlikely(!o)) return 0;
+  }
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)o;
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->__pyx_outer_scope);
+  Py_CLEAR(p->__pyx_v_sec);
+  Py_CLEAR(p->__pyx_t_0);
+  if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr)))) {
+    __pyx_freelist_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr[__pyx_freecount_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)o);
+  } else {
+    (*Py_TYPE(o)->tp_free)(o);
+  }
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr *)o;
+  if (p->__pyx_outer_scope) {
+    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
+  }
+  if (p->__pyx_v_sec) {
+    e = (*v)(p->__pyx_v_sec, a); if (e) return e;
+  }
+  if (p->__pyx_t_0) {
+    e = (*v)(p->__pyx_t_0, a); if (e) return e;
+  }
+  return 0;
+}
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.ctng.__pyx_scope_struct_1_genexpr", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  0, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  0, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+
+static PyMethodDef __pyx_methods[] = {
+  {0, 0, 0, 0}
+};
+
+#if PY_MAJOR_VERSION >= 3
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
+static int __pyx_pymod_exec_ctng(PyObject* module); /*proto*/
+static PyModuleDef_Slot __pyx_moduledef_slots[] = {
+  {Py_mod_create, (void*)__pyx_pymod_create},
+  {Py_mod_exec, (void*)__pyx_pymod_exec_ctng},
+  {0, NULL}
+};
+#endif
+
+static struct PyModuleDef __pyx_moduledef = {
+    PyModuleDef_HEAD_INIT,
+    "ctng",
+    0, /* m_doc */
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    0, /* m_size */
+  #else
+    -1, /* m_size */
+  #endif
+    __pyx_methods /* m_methods */,
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    __pyx_moduledef_slots, /* m_slots */
+  #else
+    NULL, /* m_reload */
+  #endif
+    NULL, /* m_traverse */
+    NULL, /* m_clear */
+    NULL /* m_free */
+};
+#endif
+#ifndef CYTHON_SMALL_CODE
+#if defined(__clang__)
+    #define CYTHON_SMALL_CODE
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+    #define CYTHON_SMALL_CODE __attribute__((cold))
+#else
+    #define CYTHON_SMALL_CODE
+#endif
+#endif
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_n_s_Cone, __pyx_k_Cone, sizeof(__pyx_k_Cone), 0, 0, 1, 1},
+  {&__pyx_n_s_Cylinder, __pyx_k_Cylinder, sizeof(__pyx_k_Cylinder), 0, 0, 1, 1},
+  {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
+  {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
+  {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
+  {&__pyx_n_s_Intersection, __pyx_k_Intersection, sizeof(__pyx_k_Intersection), 0, 0, 1, 1},
+  {&__pyx_n_s_L, __pyx_k_L, sizeof(__pyx_k_L), 0, 0, 1, 1},
+  {&__pyx_n_s_Matrix, __pyx_k_Matrix, sizeof(__pyx_k_Matrix), 0, 0, 1, 1},
+  {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
+  {&__pyx_n_s_Plane, __pyx_k_Plane, sizeof(__pyx_k_Plane), 0, 0, 1, 1},
+  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
+  {&__pyx_n_s_RxDException, __pyx_k_RxDException, sizeof(__pyx_k_RxDException), 0, 0, 1, 1},
+  {&__pyx_n_s_SkewCone, __pyx_k_SkewCone, sizeof(__pyx_k_SkewCone), 0, 0, 1, 1},
+  {&__pyx_n_s_Sphere, __pyx_k_Sphere, sizeof(__pyx_k_Sphere), 0, 0, 1, 1},
+  {&__pyx_n_s_SphereCone, __pyx_k_SphereCone, sizeof(__pyx_k_SphereCone), 0, 0, 1, 1},
+  {&__pyx_n_s_Union, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1},
+  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
+  {&__pyx_n_s_abs, __pyx_k_abs, sizeof(__pyx_k_abs), 0, 0, 1, 1},
+  {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1},
+  {&__pyx_n_s_all_cones, __pyx_k_all_cones, sizeof(__pyx_k_all_cones), 0, 0, 1, 1},
+  {&__pyx_n_s_any, __pyx_k_any, sizeof(__pyx_k_any), 0, 0, 1, 1},
+  {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
+  {&__pyx_n_s_arc, __pyx_k_arc, sizeof(__pyx_k_arc), 0, 0, 1, 1},
+  {&__pyx_n_s_arc3d, __pyx_k_arc3d, sizeof(__pyx_k_arc3d), 0, 0, 1, 1},
+  {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
+  {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
+  {&__pyx_n_s_axis, __pyx_k_axis, sizeof(__pyx_k_axis), 0, 0, 1, 1},
+  {&__pyx_n_s_axislength, __pyx_k_axislength, sizeof(__pyx_k_axislength), 0, 0, 1, 1},
+  {&__pyx_n_s_axisx, __pyx_k_axisx, sizeof(__pyx_k_axisx), 0, 0, 1, 1},
+  {&__pyx_n_s_axisy, __pyx_k_axisy, sizeof(__pyx_k_axisy), 0, 0, 1, 1},
+  {&__pyx_n_s_axisz, __pyx_k_axisz, sizeof(__pyx_k_axisz), 0, 0, 1, 1},
+  {&__pyx_n_s_bisect, __pyx_k_bisect, sizeof(__pyx_k_bisect), 0, 0, 1, 1},
+  {&__pyx_n_s_branch, __pyx_k_branch, sizeof(__pyx_k_branch), 0, 0, 1, 1},
+  {&__pyx_n_s_branches, __pyx_k_branches, sizeof(__pyx_k_branches), 0, 0, 1, 1},
+  {&__pyx_n_s_c0, __pyx_k_c0, sizeof(__pyx_k_c0), 0, 0, 1, 1},
+  {&__pyx_n_s_c1, __pyx_k_c1, sizeof(__pyx_k_c1), 0, 0, 1, 1},
+  {&__pyx_n_s_cell, __pyx_k_cell, sizeof(__pyx_k_cell), 0, 0, 1, 1},
+  {&__pyx_n_s_center_vec, __pyx_k_center_vec, sizeof(__pyx_k_center_vec), 0, 0, 1, 1},
+  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
+  {&__pyx_n_s_clip, __pyx_k_clip, sizeof(__pyx_k_clip), 0, 0, 1, 1},
+  {&__pyx_n_s_clip_copying, __pyx_k_clip_copying, sizeof(__pyx_k_clip_copying), 0, 0, 1, 1},
+  {&__pyx_n_s_clips, __pyx_k_clips, sizeof(__pyx_k_clips), 0, 0, 1, 1},
+  {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
+  {&__pyx_n_s_combinations, __pyx_k_combinations, sizeof(__pyx_k_combinations), 0, 0, 1, 1},
+  {&__pyx_n_s_cone, __pyx_k_cone, sizeof(__pyx_k_cone), 0, 0, 1, 1},
+  {&__pyx_n_s_cone_clip_db, __pyx_k_cone_clip_db, sizeof(__pyx_k_cone_clip_db), 0, 0, 1, 1},
+  {&__pyx_n_s_cone_sections, __pyx_k_cone_sections, sizeof(__pyx_k_cone_sections), 0, 0, 1, 1},
+  {&__pyx_n_s_cone_segment_dict, __pyx_k_cone_segment_dict, sizeof(__pyx_k_cone_segment_dict), 0, 0, 1, 1},
+  {&__pyx_n_s_conecoords, __pyx_k_conecoords, sizeof(__pyx_k_conecoords), 0, 0, 1, 1},
+  {&__pyx_n_s_cones, __pyx_k_cones, sizeof(__pyx_k_cones), 0, 0, 1, 1},
+  {&__pyx_n_s_constructive_neuronal_geometry, __pyx_k_constructive_neuronal_geometry, sizeof(__pyx_k_constructive_neuronal_geometry), 0, 0, 1, 1},
+  {&__pyx_n_s_constructive_neuronal_geometry_l, __pyx_k_constructive_neuronal_geometry_l, sizeof(__pyx_k_constructive_neuronal_geometry_l), 0, 0, 1, 1},
+  {&__pyx_n_s_contourcenter, __pyx_k_contourcenter, sizeof(__pyx_k_contourcenter), 0, 0, 1, 1},
+  {&__pyx_n_s_corner_count, __pyx_k_corner_count, sizeof(__pyx_k_corner_count), 0, 0, 1, 1},
+  {&__pyx_n_s_corner_pts, __pyx_k_corner_pts, sizeof(__pyx_k_corner_pts), 0, 0, 1, 1},
+  {&__pyx_n_s_cp, __pyx_k_cp, sizeof(__pyx_k_cp), 0, 0, 1, 1},
+  {&__pyx_n_s_cross, __pyx_k_cross, sizeof(__pyx_k_cross), 0, 0, 1, 1},
+  {&__pyx_kp_s_ctng_pyx, __pyx_k_ctng_pyx, sizeof(__pyx_k_ctng_pyx), 0, 0, 1, 0},
+  {&__pyx_n_s_cx, __pyx_k_cx, sizeof(__pyx_k_cx), 0, 0, 1, 1},
+  {&__pyx_n_s_cy, __pyx_k_cy, sizeof(__pyx_k_cy), 0, 0, 1, 1},
+  {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
+  {&__pyx_n_s_d0, __pyx_k_d0, sizeof(__pyx_k_d0), 0, 0, 1, 1},
+  {&__pyx_n_s_d1, __pyx_k_d1, sizeof(__pyx_k_d1), 0, 0, 1, 1},
+  {&__pyx_n_s_define_shape, __pyx_k_define_shape, sizeof(__pyx_k_define_shape), 0, 0, 1, 1},
+  {&__pyx_n_s_delta_x, __pyx_k_delta_x, sizeof(__pyx_k_delta_x), 0, 0, 1, 1},
+  {&__pyx_n_s_delta_y, __pyx_k_delta_y, sizeof(__pyx_k_delta_y), 0, 0, 1, 1},
+  {&__pyx_n_s_deltad, __pyx_k_deltad, sizeof(__pyx_k_deltad), 0, 0, 1, 1},
+  {&__pyx_n_s_diam1, __pyx_k_diam1, sizeof(__pyx_k_diam1), 0, 0, 1, 1},
+  {&__pyx_n_s_diam2, __pyx_k_diam2, sizeof(__pyx_k_diam2), 0, 0, 1, 1},
+  {&__pyx_n_s_diam3d, __pyx_k_diam3d, sizeof(__pyx_k_diam3d), 0, 0, 1, 1},
+  {&__pyx_n_s_diam_corrections, __pyx_k_diam_corrections, sizeof(__pyx_k_diam_corrections), 0, 0, 1, 1},
+  {&__pyx_n_s_diam_db, __pyx_k_diam_db, sizeof(__pyx_k_diam_db), 0, 0, 1, 1},
+  {&__pyx_n_s_diams, __pyx_k_diams, sizeof(__pyx_k_diams), 0, 0, 1, 1},
+  {&__pyx_n_s_distance, __pyx_k_distance, sizeof(__pyx_k_distance), 0, 0, 1, 1},
+  {&__pyx_n_s_div, __pyx_k_div, sizeof(__pyx_k_div), 0, 0, 1, 1},
+  {&__pyx_n_s_dot, __pyx_k_dot, sizeof(__pyx_k_dot), 0, 0, 1, 1},
+  {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1},
+  {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
+  {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
+  {&__pyx_n_s_extreme1, __pyx_k_extreme1, sizeof(__pyx_k_extreme1), 0, 0, 1, 1},
+  {&__pyx_n_s_extreme2, __pyx_k_extreme2, sizeof(__pyx_k_extreme2), 0, 0, 1, 1},
+  {&__pyx_kp_s_extreme_points_computation_faile, __pyx_k_extreme_points_computation_faile, sizeof(__pyx_k_extreme_points_computation_faile), 0, 0, 1, 0},
+  {&__pyx_n_s_f_diams, __pyx_k_f_diams, sizeof(__pyx_k_f_diams), 0, 0, 1, 1},
+  {&__pyx_n_s_f_pts, __pyx_k_f_pts, sizeof(__pyx_k_f_pts), 0, 0, 1, 1},
+  {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
+  {&__pyx_n_s_getcol, __pyx_k_getcol, sizeof(__pyx_k_getcol), 0, 0, 1, 1},
+  {&__pyx_n_s_getrow, __pyx_k_getrow, sizeof(__pyx_k_getrow), 0, 0, 1, 1},
+  {&__pyx_n_s_graphicsPrimitives, __pyx_k_graphicsPrimitives, sizeof(__pyx_k_graphicsPrimitives), 0, 0, 1, 1},
+  {&__pyx_n_s_h, __pyx_k_h, sizeof(__pyx_k_h), 0, 0, 1, 1},
+  {&__pyx_n_s_hi, __pyx_k_hi, sizeof(__pyx_k_hi), 0, 0, 1, 1},
+  {&__pyx_n_s_hname, __pyx_k_hname, sizeof(__pyx_k_hname), 0, 0, 1, 1},
+  {&__pyx_n_s_hoc_internal_name, __pyx_k_hoc_internal_name, sizeof(__pyx_k_hoc_internal_name), 0, 0, 1, 1},
+  {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
+  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+  {&__pyx_n_s_inf, __pyx_k_inf, sizeof(__pyx_k_inf), 0, 0, 1, 1},
+  {&__pyx_n_s_int_clip, __pyx_k_int_clip, sizeof(__pyx_k_int_clip), 0, 0, 1, 1},
+  {&__pyx_n_s_interp, __pyx_k_interp, sizeof(__pyx_k_interp), 0, 0, 1, 1},
+  {&__pyx_n_s_is_stack, __pyx_k_is_stack, sizeof(__pyx_k_is_stack), 0, 0, 1, 1},
+  {&__pyx_n_s_iscontour, __pyx_k_iscontour, sizeof(__pyx_k_iscontour), 0, 0, 1, 1},
+  {&__pyx_n_s_iseg, __pyx_k_iseg, sizeof(__pyx_k_iseg), 0, 0, 1, 1},
+  {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
+  {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1},
+  {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
+  {&__pyx_n_s_join_groups, __pyx_k_join_groups, sizeof(__pyx_k_join_groups), 0, 0, 1, 1},
+  {&__pyx_n_s_join_item, __pyx_k_join_item, sizeof(__pyx_k_join_item), 0, 0, 1, 1},
+  {&__pyx_n_s_join_items_needing_clipped, __pyx_k_join_items_needing_clipped, sizeof(__pyx_k_join_items_needing_clipped), 0, 0, 1, 1},
+  {&__pyx_n_s_joingroup, __pyx_k_joingroup, sizeof(__pyx_k_joingroup), 0, 0, 1, 1},
+  {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
+  {&__pyx_n_s_left_neighbors, __pyx_k_left_neighbors, sizeof(__pyx_k_left_neighbors), 0, 0, 1, 1},
+  {&__pyx_n_s_linalg, __pyx_k_linalg, sizeof(__pyx_k_linalg), 0, 0, 1, 1},
+  {&__pyx_n_s_lo, __pyx_k_lo, sizeof(__pyx_k_lo), 0, 0, 1, 1},
+  {&__pyx_n_s_loc, __pyx_k_loc, sizeof(__pyx_k_loc), 0, 0, 1, 1},
+  {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1},
+  {&__pyx_n_s_mag, __pyx_k_mag, sizeof(__pyx_k_mag), 0, 0, 1, 1},
+  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
+  {&__pyx_n_s_major, __pyx_k_major, sizeof(__pyx_k_major), 0, 0, 1, 1},
+  {&__pyx_n_s_major_length, __pyx_k_major_length, sizeof(__pyx_k_major_length), 0, 0, 1, 1},
+  {&__pyx_n_s_major_p1, __pyx_k_major_p1, sizeof(__pyx_k_major_p1), 0, 0, 1, 1},
+  {&__pyx_n_s_major_p2, __pyx_k_major_p2, sizeof(__pyx_k_major_p2), 0, 0, 1, 1},
+  {&__pyx_n_s_margin, __pyx_k_margin, sizeof(__pyx_k_margin), 0, 0, 1, 1},
+  {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1},
+  {&__pyx_n_s_max_ind, __pyx_k_max_ind, sizeof(__pyx_k_max_ind), 0, 0, 1, 1},
+  {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
+  {&__pyx_n_s_min_ind, __pyx_k_min_ind, sizeof(__pyx_k_min_ind), 0, 0, 1, 1},
+  {&__pyx_n_s_minor, __pyx_k_minor, sizeof(__pyx_k_minor), 0, 0, 1, 1},
+  {&__pyx_kp_s_more_than_one_contour_is_not_cur, __pyx_k_more_than_one_contour_is_not_cur, sizeof(__pyx_k_more_than_one_contour_is_not_cur), 0, 0, 1, 0},
+  {&__pyx_kp_s_multiple_most_extreme_points, __pyx_k_multiple_most_extreme_points, sizeof(__pyx_k_multiple_most_extreme_points), 0, 0, 1, 0},
+  {&__pyx_n_s_my_corner_count, __pyx_k_my_corner_count, sizeof(__pyx_k_my_corner_count), 0, 0, 1, 1},
+  {&__pyx_n_s_n3d, __pyx_k_n3d, sizeof(__pyx_k_n3d), 0, 0, 1, 1},
+  {&__pyx_n_s_n_soma_step, __pyx_k_n_soma_step, sizeof(__pyx_k_n_soma_step), 0, 0, 1, 1},
+  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
+  {&__pyx_n_s_naxis, __pyx_k_naxis, sizeof(__pyx_k_naxis), 0, 0, 1, 1},
+  {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},
+  {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0},
+  {&__pyx_n_s_neighbor, __pyx_k_neighbor, sizeof(__pyx_k_neighbor), 0, 0, 1, 1},
+  {&__pyx_n_s_neighbor_copy, __pyx_k_neighbor_copy, sizeof(__pyx_k_neighbor_copy), 0, 0, 1, 1},
+  {&__pyx_n_s_neighbor_left, __pyx_k_neighbor_left, sizeof(__pyx_k_neighbor_left), 0, 0, 1, 1},
+  {&__pyx_n_s_neighbor_right, __pyx_k_neighbor_right, sizeof(__pyx_k_neighbor_right), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron, __pyx_k_neuron, sizeof(__pyx_k_neuron), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron_rxd_geometry3d_ctng, __pyx_k_neuron_rxd_geometry3d_ctng, sizeof(__pyx_k_neuron_rxd_geometry3d_ctng), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron_rxd_rxdException, __pyx_k_neuron_rxd_rxdException, sizeof(__pyx_k_neuron_rxd_rxdException), 0, 0, 1, 1},
+  {&__pyx_n_s_new_objects, __pyx_k_new_objects, sizeof(__pyx_k_new_objects), 0, 0, 1, 1},
+  {&__pyx_n_s_no_parent_count, __pyx_k_no_parent_count, sizeof(__pyx_k_no_parent_count), 0, 0, 1, 1},
+  {&__pyx_n_s_norm, __pyx_k_norm, sizeof(__pyx_k_norm), 0, 0, 1, 1},
+  {&__pyx_n_s_nouniform, __pyx_k_nouniform, sizeof(__pyx_k_nouniform), 0, 0, 1, 1},
+  {&__pyx_n_s_nradial_vec, __pyx_k_nradial_vec, sizeof(__pyx_k_nradial_vec), 0, 0, 1, 1},
+  {&__pyx_n_s_nseg, __pyx_k_nseg, sizeof(__pyx_k_nseg), 0, 0, 1, 1},
+  {&__pyx_n_s_num_contours, __pyx_k_num_contours, sizeof(__pyx_k_num_contours), 0, 0, 1, 1},
+  {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
+  {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0},
+  {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0},
+  {&__pyx_n_s_obj_pts_dict, __pyx_k_obj_pts_dict, sizeof(__pyx_k_obj_pts_dict), 0, 0, 1, 1},
+  {&__pyx_n_s_obj_sections, __pyx_k_obj_sections, sizeof(__pyx_k_obj_sections), 0, 0, 1, 1},
+  {&__pyx_n_s_objects, __pyx_k_objects, sizeof(__pyx_k_objects), 0, 0, 1, 1},
+  {&__pyx_n_s_orig_x, __pyx_k_orig_x, sizeof(__pyx_k_orig_x), 0, 0, 1, 1},
+  {&__pyx_n_s_orig_y, __pyx_k_orig_y, sizeof(__pyx_k_orig_y), 0, 0, 1, 1},
+  {&__pyx_n_s_orig_z, __pyx_k_orig_z, sizeof(__pyx_k_orig_z), 0, 0, 1, 1},
+  {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
+  {&__pyx_n_s_p1, __pyx_k_p1, sizeof(__pyx_k_p1), 0, 0, 1, 1},
+  {&__pyx_n_s_p2, __pyx_k_p2, sizeof(__pyx_k_p2), 0, 0, 1, 1},
+  {&__pyx_n_s_parent_sec_name, __pyx_k_parent_sec_name, sizeof(__pyx_k_parent_sec_name), 0, 0, 1, 1},
+  {&__pyx_n_s_parentsec, __pyx_k_parentsec, sizeof(__pyx_k_parentsec), 0, 0, 1, 1},
+  {&__pyx_n_s_path_length, __pyx_k_path_length, sizeof(__pyx_k_path_length), 0, 0, 1, 1},
+  {&__pyx_n_s_plane_normal, __pyx_k_plane_normal, sizeof(__pyx_k_plane_normal), 0, 0, 1, 1},
+  {&__pyx_n_s_potential_soma_cones, __pyx_k_potential_soma_cones, sizeof(__pyx_k_potential_soma_cones), 0, 0, 1, 1},
+  {&__pyx_n_s_product, __pyx_k_product, sizeof(__pyx_k_product), 0, 0, 1, 1},
+  {&__pyx_n_s_psec, __pyx_k_psec, sizeof(__pyx_k_psec), 0, 0, 1, 1},
+  {&__pyx_n_s_pt, __pyx_k_pt, sizeof(__pyx_k_pt), 0, 0, 1, 1},
+  {&__pyx_n_s_pt0, __pyx_k_pt0, sizeof(__pyx_k_pt0), 0, 0, 1, 1},
+  {&__pyx_n_s_pt1, __pyx_k_pt1, sizeof(__pyx_k_pt1), 0, 0, 1, 1},
+  {&__pyx_n_s_pt1x, __pyx_k_pt1x, sizeof(__pyx_k_pt1x), 0, 0, 1, 1},
+  {&__pyx_n_s_pt1y, __pyx_k_pt1y, sizeof(__pyx_k_pt1y), 0, 0, 1, 1},
+  {&__pyx_n_s_pt2, __pyx_k_pt2, sizeof(__pyx_k_pt2), 0, 0, 1, 1},
+  {&__pyx_n_s_pt2x, __pyx_k_pt2x, sizeof(__pyx_k_pt2x), 0, 0, 1, 1},
+  {&__pyx_n_s_pt2y, __pyx_k_pt2y, sizeof(__pyx_k_pt2y), 0, 0, 1, 1},
+  {&__pyx_n_s_pt3, __pyx_k_pt3, sizeof(__pyx_k_pt3), 0, 0, 1, 1},
+  {&__pyx_n_s_pts, __pyx_k_pts, sizeof(__pyx_k_pts), 0, 0, 1, 1},
+  {&__pyx_n_s_pts3d, __pyx_k_pts3d, sizeof(__pyx_k_pts3d), 0, 0, 1, 1},
+  {&__pyx_n_s_pts_cones_db, __pyx_k_pts_cones_db, sizeof(__pyx_k_pts_cones_db), 0, 0, 1, 1},
+  {&__pyx_n_s_pts_sources, __pyx_k_pts_sources, sizeof(__pyx_k_pts_sources), 0, 0, 1, 1},
+  {&__pyx_n_s_q, __pyx_k_q, sizeof(__pyx_k_q), 0, 0, 1, 1},
+  {&__pyx_n_s_r0, __pyx_k_r0, sizeof(__pyx_k_r0), 0, 0, 1, 1},
+  {&__pyx_n_s_r0_2, __pyx_k_r0_2, sizeof(__pyx_k_r0_2), 0, 0, 1, 1},
+  {&__pyx_n_s_r1, __pyx_k_r1, sizeof(__pyx_k_r1), 0, 0, 1, 1},
+  {&__pyx_n_s_r1_2, __pyx_k_r1_2, sizeof(__pyx_k_r1_2), 0, 0, 1, 1},
+  {&__pyx_n_s_r2, __pyx_k_r2, sizeof(__pyx_k_r2), 0, 0, 1, 1},
+  {&__pyx_n_s_r3, __pyx_k_r3, sizeof(__pyx_k_r3), 0, 0, 1, 1},
+  {&__pyx_n_s_radial_vec, __pyx_k_radial_vec, sizeof(__pyx_k_radial_vec), 0, 0, 1, 1},
+  {&__pyx_n_s_radial_vec_norm, __pyx_k_radial_vec_norm, sizeof(__pyx_k_radial_vec_norm), 0, 0, 1, 1},
+  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
+  {&__pyx_n_s_raw, __pyx_k_raw, sizeof(__pyx_k_raw), 0, 0, 1, 1},
+  {&__pyx_n_s_relevant_pts, __pyx_k_relevant_pts, sizeof(__pyx_k_relevant_pts), 0, 0, 1, 1},
+  {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1},
+  {&__pyx_n_s_right_neighbors, __pyx_k_right_neighbors, sizeof(__pyx_k_right_neighbors), 0, 0, 1, 1},
+  {&__pyx_n_s_rng, __pyx_k_rng, sizeof(__pyx_k_rng), 0, 0, 1, 1},
+  {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1},
+  {&__pyx_n_s_s0, __pyx_k_s0, sizeof(__pyx_k_s0), 0, 0, 1, 1},
+  {&__pyx_n_s_s1, __pyx_k_s1, sizeof(__pyx_k_s1), 0, 0, 1, 1},
+  {&__pyx_n_s_sec, __pyx_k_sec, sizeof(__pyx_k_sec), 0, 0, 1, 1},
+  {&__pyx_n_s_sec_db, __pyx_k_sec_db, sizeof(__pyx_k_sec_db), 0, 0, 1, 1},
+  {&__pyx_n_s_sections, __pyx_k_sections, sizeof(__pyx_k_sections), 0, 0, 1, 1},
+  {&__pyx_n_s_seg, __pyx_k_seg, sizeof(__pyx_k_seg), 0, 0, 1, 1},
+  {&__pyx_n_s_seg_dict, __pyx_k_seg_dict, sizeof(__pyx_k_seg_dict), 0, 0, 1, 1},
+  {&__pyx_n_s_segment_locs, __pyx_k_segment_locs, sizeof(__pyx_k_segment_locs), 0, 0, 1, 1},
+  {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
+  {&__pyx_n_s_set_clip, __pyx_k_set_clip, sizeof(__pyx_k_set_clip), 0, 0, 1, 1},
+  {&__pyx_n_s_setval, __pyx_k_setval, sizeof(__pyx_k_setval), 0, 0, 1, 1},
+  {&__pyx_n_s_sharp_turn, __pyx_k_sharp_turn, sizeof(__pyx_k_sharp_turn), 0, 0, 1, 1},
+  {&__pyx_n_s_shift, __pyx_k_shift, sizeof(__pyx_k_shift), 0, 0, 1, 1},
+  {&__pyx_n_s_soma_objects, __pyx_k_soma_objects, sizeof(__pyx_k_soma_objects), 0, 0, 1, 1},
+  {&__pyx_kp_s_soma_rotation_unsupported_for_vo, __pyx_k_soma_rotation_unsupported_for_vo, sizeof(__pyx_k_soma_rotation_unsupported_for_vo), 0, 0, 1, 0},
+  {&__pyx_n_s_soma_secs, __pyx_k_soma_secs, sizeof(__pyx_k_soma_secs), 0, 0, 1, 1},
+  {&__pyx_n_s_soma_segment_dict, __pyx_k_soma_segment_dict, sizeof(__pyx_k_soma_segment_dict), 0, 0, 1, 1},
+  {&__pyx_kp_s_soma_stack_ignored_using_centroi, __pyx_k_soma_stack_ignored_using_centroi, sizeof(__pyx_k_soma_stack_ignored_using_centroi), 0, 0, 1, 0},
+  {&__pyx_n_s_somax, __pyx_k_somax, sizeof(__pyx_k_somax), 0, 0, 1, 1},
+  {&__pyx_n_s_somay, __pyx_k_somay, sizeof(__pyx_k_somay), 0, 0, 1, 1},
+  {&__pyx_n_s_somaz, __pyx_k_somaz, sizeof(__pyx_k_somaz), 0, 0, 1, 1},
+  {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
+  {&__pyx_n_s_source_is_import3d, __pyx_k_source_is_import3d, sizeof(__pyx_k_source_is_import3d), 0, 0, 1, 1},
+  {&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1},
+  {&__pyx_n_s_sqrt, __pyx_k_sqrt, sizeof(__pyx_k_sqrt), 0, 0, 1, 1},
+  {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1},
+  {&__pyx_n_s_sx, __pyx_k_sx, sizeof(__pyx_k_sx), 0, 0, 1, 1},
+  {&__pyx_n_s_sy, __pyx_k_sy, sizeof(__pyx_k_sy), 0, 0, 1, 1},
+  {&__pyx_n_s_symmeig, __pyx_k_symmeig, sizeof(__pyx_k_symmeig), 0, 0, 1, 1},
+  {&__pyx_n_s_sz, __pyx_k_sz, sizeof(__pyx_k_sz), 0, 0, 1, 1},
+  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+  {&__pyx_n_s_thickness, __pyx_k_thickness, sizeof(__pyx_k_thickness), 0, 0, 1, 1},
+  {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
+  {&__pyx_n_s_to_python, __pyx_k_to_python, sizeof(__pyx_k_to_python), 0, 0, 1, 1},
+  {&__pyx_n_s_tobj, __pyx_k_tobj, sizeof(__pyx_k_tobj), 0, 0, 1, 1},
+  {&__pyx_n_s_trueparentseg, __pyx_k_trueparentseg, sizeof(__pyx_k_trueparentseg), 0, 0, 1, 1},
+  {&__pyx_kp_s_unexpected_corner_counts, __pyx_k_unexpected_corner_counts, sizeof(__pyx_k_unexpected_corner_counts), 0, 0, 1, 0},
+  {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0},
+  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
+  {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
+  {&__pyx_n_s_vals, __pyx_k_vals, sizeof(__pyx_k_vals), 0, 0, 1, 1},
+  {&__pyx_n_s_warn, __pyx_k_warn, sizeof(__pyx_k_warn), 0, 0, 1, 1},
+  {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1},
+  {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
+  {&__pyx_n_s_x0, __pyx_k_x0, sizeof(__pyx_k_x0), 0, 0, 1, 1},
+  {&__pyx_n_s_x0_2, __pyx_k_x0_2, sizeof(__pyx_k_x0_2), 0, 0, 1, 1},
+  {&__pyx_n_s_x1, __pyx_k_x1, sizeof(__pyx_k_x1), 0, 0, 1, 1},
+  {&__pyx_n_s_x1_2, __pyx_k_x1_2, sizeof(__pyx_k_x1_2), 0, 0, 1, 1},
+  {&__pyx_n_s_x2, __pyx_k_x2, sizeof(__pyx_k_x2), 0, 0, 1, 1},
+  {&__pyx_n_s_x3, __pyx_k_x3, sizeof(__pyx_k_x3), 0, 0, 1, 1},
+  {&__pyx_n_s_x3d, __pyx_k_x3d, sizeof(__pyx_k_x3d), 0, 0, 1, 1},
+  {&__pyx_n_s_x4, __pyx_k_x4, sizeof(__pyx_k_x4), 0, 0, 1, 1},
+  {&__pyx_n_s_xcoords, __pyx_k_xcoords, sizeof(__pyx_k_xcoords), 0, 0, 1, 1},
+  {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
+  {&__pyx_n_s_xs_loop, __pyx_k_xs_loop, sizeof(__pyx_k_xs_loop), 0, 0, 1, 1},
+  {&__pyx_n_s_xshifted, __pyx_k_xshifted, sizeof(__pyx_k_xshifted), 0, 0, 1, 1},
+  {&__pyx_n_s_xx, __pyx_k_xx, sizeof(__pyx_k_xx), 0, 0, 1, 1},
+  {&__pyx_n_s_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 0, 1, 1},
+  {&__pyx_n_s_y0, __pyx_k_y0, sizeof(__pyx_k_y0), 0, 0, 1, 1},
+  {&__pyx_n_s_y0_2, __pyx_k_y0_2, sizeof(__pyx_k_y0_2), 0, 0, 1, 1},
+  {&__pyx_n_s_y1, __pyx_k_y1, sizeof(__pyx_k_y1), 0, 0, 1, 1},
+  {&__pyx_n_s_y1_2, __pyx_k_y1_2, sizeof(__pyx_k_y1_2), 0, 0, 1, 1},
+  {&__pyx_n_s_y2, __pyx_k_y2, sizeof(__pyx_k_y2), 0, 0, 1, 1},
+  {&__pyx_n_s_y3, __pyx_k_y3, sizeof(__pyx_k_y3), 0, 0, 1, 1},
+  {&__pyx_n_s_y3d, __pyx_k_y3d, sizeof(__pyx_k_y3d), 0, 0, 1, 1},
+  {&__pyx_n_s_y4, __pyx_k_y4, sizeof(__pyx_k_y4), 0, 0, 1, 1},
+  {&__pyx_n_s_ycoords, __pyx_k_ycoords, sizeof(__pyx_k_ycoords), 0, 0, 1, 1},
+  {&__pyx_n_s_ys_loop, __pyx_k_ys_loop, sizeof(__pyx_k_ys_loop), 0, 0, 1, 1},
+  {&__pyx_n_s_yshifted, __pyx_k_yshifted, sizeof(__pyx_k_yshifted), 0, 0, 1, 1},
+  {&__pyx_n_s_yy, __pyx_k_yy, sizeof(__pyx_k_yy), 0, 0, 1, 1},
+  {&__pyx_n_s_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 0, 1, 1},
+  {&__pyx_n_s_z0, __pyx_k_z0, sizeof(__pyx_k_z0), 0, 0, 1, 1},
+  {&__pyx_n_s_z0_2, __pyx_k_z0_2, sizeof(__pyx_k_z0_2), 0, 0, 1, 1},
+  {&__pyx_n_s_z1, __pyx_k_z1, sizeof(__pyx_k_z1), 0, 0, 1, 1},
+  {&__pyx_n_s_z1_2, __pyx_k_z1_2, sizeof(__pyx_k_z1_2), 0, 0, 1, 1},
+  {&__pyx_n_s_z2, __pyx_k_z2, sizeof(__pyx_k_z2), 0, 0, 1, 1},
+  {&__pyx_n_s_z3, __pyx_k_z3, sizeof(__pyx_k_z3), 0, 0, 1, 1},
+  {&__pyx_n_s_z3d, __pyx_k_z3d, sizeof(__pyx_k_z3d), 0, 0, 1, 1},
+  {&__pyx_n_s_zcoords, __pyx_k_zcoords, sizeof(__pyx_k_zcoords), 0, 0, 1, 1},
+  {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
+  {&__pyx_n_s_zshifted, __pyx_k_zshifted, sizeof(__pyx_k_zshifted), 0, 0, 1, 1},
+  {0, 0, 0, 0, 0, 0, 0}
+};
+static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
+  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 184, __pyx_L1_error)
+  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 209, __pyx_L1_error)
+  #if PY_MAJOR_VERSION >= 3
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) __PYX_ERR(0, 239, __pyx_L1_error)
+  #else
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) __PYX_ERR(0, 239, __pyx_L1_error)
+  #endif
+  __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 307, __pyx_L1_error)
+  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 382, __pyx_L1_error)
+  __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_n_s_max); if (!__pyx_builtin_max) __PYX_ERR(0, 497, __pyx_L1_error)
+  __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_n_s_min); if (!__pyx_builtin_min) __PYX_ERR(0, 497, __pyx_L1_error)
+  __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 539, __pyx_L1_error)
+  __pyx_builtin_any = __Pyx_GetBuiltinName(__pyx_n_s_any); if (!__pyx_builtin_any) __PYX_ERR(0, 661, __pyx_L1_error)
+  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error)
+  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error)
+  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":183
+ * 
+ *     # locate the major and minor axis, adapted from import3d_gui.hoc
+ *     m = h.Matrix(3, 3)             # <<<<<<<<<<<<<<
+ *     for i, p in enumerate([xshifted, yshifted, zshifted]):
+ *         for j, q in enumerate([xshifted, yshifted, zshifted]):
+ */
+  __pyx_tuple_ = PyTuple_Pack(2, __pyx_int_3, __pyx_int_3); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 183, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple_);
+  __Pyx_GIVEREF(__pyx_tuple_);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":272
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 272, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__2);
+  __Pyx_GIVEREF(__pyx_tuple__2);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":276
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 276, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__3);
+  __Pyx_GIVEREF(__pyx_tuple__3);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":306
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 306, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__4);
+  __Pyx_GIVEREF(__pyx_tuple__4);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":855
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ */
+  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 855, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__5);
+  __Pyx_GIVEREF(__pyx_tuple__5);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":879
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 879, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__6);
+  __Pyx_GIVEREF(__pyx_tuple__6);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1037
+ *         _import_array()
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_umath() except -1:
+ */
+  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 1037, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__7);
+  __Pyx_GIVEREF(__pyx_tuple__7);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1043
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_ufunc() except -1:
+ */
+  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 1043, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__8);
+  __Pyx_GIVEREF(__pyx_tuple__8);
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":169
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def soma_objects(x, y, z, sec, double x0, double y0, double z0, int n_soma_step):             # <<<<<<<<<<<<<<
+ *     cdef double diam1, diam2, somax, somay, somaz
+ *     cdef list objects = []
+ */
+  __pyx_tuple__9 = PyTuple_Pack(66, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_sec, __pyx_n_s_x0, __pyx_n_s_y0, __pyx_n_s_z0, __pyx_n_s_n_soma_step, __pyx_n_s_diam1, __pyx_n_s_diam2, __pyx_n_s_somax, __pyx_n_s_somay, __pyx_n_s_somaz, __pyx_n_s_objects, __pyx_n_s_f_pts, __pyx_n_s_seg_dict, __pyx_n_s_xshifted, __pyx_n_s_yshifted, __pyx_n_s_zshifted, __pyx_n_s_m, __pyx_n_s_i, __pyx_n_s_p, __pyx_n_s_j, __pyx_n_s_q, __pyx_n_s_v, __pyx_n_s_tobj, __pyx_n_s_major, __pyx_n_s_minor, __pyx_n_s_x1_2, __pyx_n_s_y1_2, __pyx_n_s_x2, __pyx_n_s_y2, __pyx_n_s_xs_loop, __pyx_n_s_ys_loop, __pyx_n_s_pts, __pyx_n_s_pts_sources, __pyx_n_s_x3, __pyx_n_s_y3, __pyx_n_s_x4, __pyx_n_s_y4, __pyx_n_s_pt, __pyx_n_s_major_p1, __pyx_n_s_major_p2, __pyx_n_s_extreme1, __pyx_n_s_extreme2, __pyx_n_s_major_length, __pyx_n_s_delta_x, __pyx_n_s_delta_y, __pyx_n_s_f_diams, __pyx_n_s_p1, __pyx_n_s_p2, __pyx_n_s_cx, __pyx_n_s_cy, __pyx_n_s_segment_locs, __pyx_n_s_path_length, __pyx_n_s_margin, __pyx_n_s_pt1x, __pyx_n_s_pt1y, __pyx_n_s_pt2x, __pyx_n_s_pt2y, __pyx_n_s_thickness, __pyx_n_s_s, __pyx_n_s_loc, __pyx_n_s_seg, __pyx_n_s_xx, __pyx_n_s_yy); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__9);
+  __Pyx_GIVEREF(__pyx_tuple__9);
+  __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(8, 0, 66, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_ctng_pyx, __pyx_n_s_soma_objects, 169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 169, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+  __pyx_tuple__11 = PyTuple_Pack(139, __pyx_n_s_source, __pyx_n_s_n_soma_step, __pyx_n_s_dx, __pyx_n_s_nouniform, __pyx_n_s_relevant_pts, __pyx_n_s_objects, __pyx_n_s_cone_segment_dict, __pyx_n_s_soma_segment_dict, __pyx_n_s_join_groups, __pyx_n_s_obj_pts_dict, __pyx_n_s_obj_sections, __pyx_n_s_cone_sections, __pyx_n_s_soma_secs, __pyx_n_s_potential_soma_cones, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_x0, __pyx_n_s_y0, __pyx_n_s_z0, __pyx_n_s_x1_2, __pyx_n_s_y1_2, __pyx_n_s_z1_2, __pyx_n_s_x2, __pyx_n_s_y2, __pyx_n_s_z2, __pyx_n_s_x3, __pyx_n_s_y3, __pyx_n_s_x4, __pyx_n_s_y4, __pyx_n_s_r0_2, __pyx_n_s_r1_2, __pyx_n_s_r2, __pyx_n_s_delta_x, __pyx_n_s_delta_y, __pyx_n_s_major_length, __pyx_n_s_diam1, __pyx_n_s_diam2, __pyx_n_s_pts, __pyx_n_s_f_pts, __pyx_n_s_f_diams, __pyx_n_s_branches, __pyx_n_s_parent_sec_name, __pyx_n_s_pts_sources, __pyx_n_s_pt, __pyx_n_s_no_parent_count, __pyx_n_s_source_is_import3d, __pyx_n_s_num_contours, __pyx_n_s_cell, __pyx_n_s_sec, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_center_vec, __pyx_n_s_new_objects, __pyx_n_s_is_stack, __pyx_n_s_pts3d, __pyx_n_s_shift, __pyx_n_s_orig_x, __pyx_n_s_orig_y, __pyx_n_s_orig_z, __pyx_n_s_sx, __pyx_n_s_sy, __pyx_n_s_sz, __pyx_n_s_warnings, __pyx_n_s_diam_corrections, __pyx_n_s_clip_copying, __pyx_n_s_all_cones, __pyx_n_s_pts_cones_db, __pyx_n_s_diam_db, __pyx_n_s_branch, __pyx_n_s_psec, __pyx_n_s_d, __pyx_n_s_rng, __pyx_n_s_arc3d, __pyx_n_s_diam3d, __pyx_n_s_x3d, __pyx_n_s_y3d, __pyx_n_s_z3d, __pyx_n_s_iseg, __pyx_n_s_seg, __pyx_n_s_lo, __pyx_n_s_hi, __pyx_n_s_diams, __pyx_n_s_xcoords, __pyx_n_s_ycoords, __pyx_n_s_zcoords, __pyx_n_s_end, __pyx_n_s_conecoords, __pyx_n_s_somaz, __pyx_n_s_cp, __pyx_n_s_d0, __pyx_n_s_d1, __pyx_n_s_axisx, __pyx_n_s_axisy, __pyx_n_s_axisz, __pyx_n_s_deltad, __pyx_n_s_axislength, __pyx_n_s_vals, __pyx_n_s_cone_clip_db, __pyx_n_s_sharp_turn, __pyx_n_s_join_items_needing_clipped, __pyx_n_s_cone, __pyx_n_s_joingroup, __pyx_n_s_pt1, __pyx_n_s_pt2, __pyx_n_s_axis, __pyx_n_s_left_neighbors, __pyx_n_s_right_neighbors, __pyx_n_s_neighbor, __pyx_n_s_neighbor_left, __pyx_n_s_neighbor_right, __pyx_n_s_clips, __pyx_n_s_join_item, __pyx_n_s_pt0, __pyx_n_s_naxis, __pyx_n_s_sp, __pyx_n_s_c0, __pyx_n_s_c1, __pyx_n_s_plane_normal, __pyx_n_s_radial_vec, __pyx_n_s_nradial_vec, __pyx_n_s_corner_pts, __pyx_n_s_my_corner_count, __pyx_n_s_corner_count, __pyx_n_s_neighbor_copy, __pyx_n_s_z3, __pyx_n_s_r3, __pyx_n_s_pt3, __pyx_n_s_radial_vec_norm, __pyx_n_s_int_clip, __pyx_n_s_clip, __pyx_n_s_cones, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_s0, __pyx_n_s_s1, __pyx_n_s_arc, __pyx_n_s_cone); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 278, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__11);
+  __Pyx_GIVEREF(__pyx_tuple__11);
+  __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(5, 0, 139, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_ctng_pyx, __pyx_n_s_constructive_neuronal_geometry, 278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 278, __pyx_L1_error)
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
+  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
+  __pyx_umethod_PyDict_Type_update.type = (PyObject*)&PyDict_Type;
+  __pyx_umethod_PyList_Type_remove.type = (PyObject*)&PyList_Type;
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_float_2_ = PyFloat_FromDouble(2.); if (unlikely(!__pyx_float_2_)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_float_0_5 = PyFloat_FromDouble(0.5); if (unlikely(!__pyx_float_0_5)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
+
+static int __Pyx_modinit_global_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
+  /*--- Global init code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_variable_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
+  /*--- Variable export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
+  /*--- Function export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_type_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
+  /*--- Type init code ---*/
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry) < 0) __PYX_ERR(0, 278, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+  }
+  __pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry = &__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct__constructive_neuronal_geometry;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr) < 0) __PYX_ERR(0, 307, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+  }
+  __pyx_ptype_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr = &__pyx_type_6neuron_3rxd_10geometry3d_4ctng___pyx_scope_struct_1_genexpr;
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_modinit_type_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
+  /*--- Type import code ---*/
+  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_0_29_36(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
+  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
+  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyTypeObject),
+  #else
+  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyHeapTypeObject),
+  #endif
+  __Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_5numpy_dtype = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error)
+  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error)
+  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error)
+  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error)
+  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_modinit_variable_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
+  /*--- Variable import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
+  /*--- Function import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+
+#ifndef CYTHON_NO_PYINIT_EXPORT
+#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
+#elif PY_MAJOR_VERSION < 3
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" void
+#else
+#define __Pyx_PyMODINIT_FUNC void
+#endif
+#else
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
+#else
+#define __Pyx_PyMODINIT_FUNC PyObject *
+#endif
+#endif
+
+
+#if PY_MAJOR_VERSION < 3
+__Pyx_PyMODINIT_FUNC initctng(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC initctng(void)
+#else
+__Pyx_PyMODINIT_FUNC PyInit_ctng(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC PyInit_ctng(void)
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+{
+  return PyModuleDef_Init(&__pyx_moduledef);
+}
+static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
+    #if PY_VERSION_HEX >= 0x030700A1
+    static PY_INT64_T main_interpreter_id = -1;
+    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
+    if (main_interpreter_id == -1) {
+        main_interpreter_id = current_id;
+        return (unlikely(current_id == -1)) ? -1 : 0;
+    } else if (unlikely(main_interpreter_id != current_id))
+    #else
+    static PyInterpreterState *main_interpreter = NULL;
+    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
+    if (!main_interpreter) {
+        main_interpreter = current_interpreter;
+    } else if (unlikely(main_interpreter != current_interpreter))
+    #endif
+    {
+        PyErr_SetString(
+            PyExc_ImportError,
+            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
+        return -1;
+    }
+    return 0;
+}
+static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
+    PyObject *value = PyObject_GetAttrString(spec, from_name);
+    int result = 0;
+    if (likely(value)) {
+        if (allow_none || value != Py_None) {
+            result = PyDict_SetItemString(moddict, to_name, value);
+        }
+        Py_DECREF(value);
+    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Clear();
+    } else {
+        result = -1;
+    }
+    return result;
+}
+static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
+    PyObject *module = NULL, *moddict, *modname;
+    if (__Pyx_check_single_interpreter())
+        return NULL;
+    if (__pyx_m)
+        return __Pyx_NewRef(__pyx_m);
+    modname = PyObject_GetAttrString(spec, "name");
+    if (unlikely(!modname)) goto bad;
+    module = PyModule_NewObject(modname);
+    Py_DECREF(modname);
+    if (unlikely(!module)) goto bad;
+    moddict = PyModule_GetDict(module);
+    if (unlikely(!moddict)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
+    return module;
+bad:
+    Py_XDECREF(module);
+    return NULL;
+}
+
+
+static CYTHON_SMALL_CODE int __pyx_pymod_exec_ctng(PyObject *__pyx_pyinit_module)
+#endif
+#endif
+{
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannyDeclarations
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  if (__pyx_m) {
+    if (__pyx_m == __pyx_pyinit_module) return 0;
+    PyErr_SetString(PyExc_RuntimeError, "Module 'ctng' has already been imported. Re-initialisation is not supported.");
+    return -1;
+  }
+  #elif PY_MAJOR_VERSION >= 3
+  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
+  #endif
+  #if CYTHON_REFNANNY
+__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
+if (!__Pyx_RefNanny) {
+  PyErr_Clear();
+  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
+  if (!__Pyx_RefNanny)
+      Py_FatalError("failed to import 'refnanny' module");
+}
+#endif
+  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_ctng(void)", 0);
+  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pxy_PyFrame_Initialize_Offsets
+  __Pxy_PyFrame_Initialize_Offsets();
+  #endif
+  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pyx_CyFunction_USED
+  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Coroutine_USED
+  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Generator_USED
+  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_AsyncGen_USED
+  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_StopAsyncIteration_USED
+  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  /*--- Library function declarations ---*/
+  /*--- Threads initialization code ---*/
+  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+  PyEval_InitThreads();
+  #endif
+  /*--- Module creation code ---*/
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  __pyx_m = __pyx_pyinit_module;
+  Py_INCREF(__pyx_m);
+  #else
+  #if PY_MAJOR_VERSION < 3
+  __pyx_m = Py_InitModule4("ctng", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+  #else
+  __pyx_m = PyModule_Create(&__pyx_moduledef);
+  #endif
+  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_d);
+  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_b);
+  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_cython_runtime);
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Initialize various global constants etc. ---*/
+  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
+  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  if (__pyx_module_is_main_neuron__rxd__geometry3d__ctng) {
+    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  }
+  #if PY_MAJOR_VERSION >= 3
+  {
+    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
+    if (!PyDict_GetItemString(modules, "neuron.rxd.geometry3d.ctng")) {
+      if (unlikely(PyDict_SetItemString(modules, "neuron.rxd.geometry3d.ctng", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+    }
+  }
+  #endif
+  /*--- Builtin init code ---*/
+  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Constants init code ---*/
+  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Global type/function init code ---*/
+  (void)__Pyx_modinit_global_init_code();
+  (void)__Pyx_modinit_variable_export_code();
+  (void)__Pyx_modinit_function_export_code();
+  if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  (void)__Pyx_modinit_variable_import_code();
+  (void)__Pyx_modinit_function_import_code();
+  /*--- Execution code ---*/
+  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":2
+ * #cython: language_level=2
+ * from neuron import h             # <<<<<<<<<<<<<<
+ * import numpy
+ * import itertools
+ */
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_n_s_h);
+  __Pyx_GIVEREF(__pyx_n_s_h);
+  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_h);
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_neuron, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_h, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":3
+ * #cython: language_level=2
+ * from neuron import h
+ * import numpy             # <<<<<<<<<<<<<<
+ * import itertools
+ * import bisect
+ */
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":4
+ * from neuron import h
+ * import numpy
+ * import itertools             # <<<<<<<<<<<<<<
+ * import bisect
+ * cimport numpy
+ */
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_itertools, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":5
+ * import numpy
+ * import itertools
+ * import bisect             # <<<<<<<<<<<<<<
+ * cimport numpy
+ * from numpy import linalg
+ */
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_bisect, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_bisect, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":7
+ * import bisect
+ * cimport numpy
+ * from numpy import linalg             # <<<<<<<<<<<<<<
+ * cimport cython
+ * from neuron.rxd.rxdException import RxDException
+ */
+  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_INCREF(__pyx_n_s_linalg);
+  __Pyx_GIVEREF(__pyx_n_s_linalg);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_linalg);
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_linalg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_linalg, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":9
+ * from numpy import linalg
+ * cimport cython
+ * from neuron.rxd.rxdException import RxDException             # <<<<<<<<<<<<<<
+ * import neuron
+ * 
+ */
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_n_s_RxDException);
+  __Pyx_GIVEREF(__pyx_n_s_RxDException);
+  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_RxDException);
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_neuron_rxd_rxdException, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_RxDException); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RxDException, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":10
+ * cimport cython
+ * from neuron.rxd.rxdException import RxDException
+ * import neuron             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_2 = __Pyx_Import(__pyx_n_s_neuron, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_neuron, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":21
+ *     double fabs(double)
+ * 
+ * from graphicsPrimitives import Sphere, Cone, Cylinder, SkewCone, Plane, Union, Intersection, SphereCone             # <<<<<<<<<<<<<<
+ * 
+ * cdef tuple seg_line_intersection(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, bint clip):
+ */
+  __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_INCREF(__pyx_n_s_Sphere);
+  __Pyx_GIVEREF(__pyx_n_s_Sphere);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Sphere);
+  __Pyx_INCREF(__pyx_n_s_Cone);
+  __Pyx_GIVEREF(__pyx_n_s_Cone);
+  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Cone);
+  __Pyx_INCREF(__pyx_n_s_Cylinder);
+  __Pyx_GIVEREF(__pyx_n_s_Cylinder);
+  PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_Cylinder);
+  __Pyx_INCREF(__pyx_n_s_SkewCone);
+  __Pyx_GIVEREF(__pyx_n_s_SkewCone);
+  PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_SkewCone);
+  __Pyx_INCREF(__pyx_n_s_Plane);
+  __Pyx_GIVEREF(__pyx_n_s_Plane);
+  PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_Plane);
+  __Pyx_INCREF(__pyx_n_s_Union);
+  __Pyx_GIVEREF(__pyx_n_s_Union);
+  PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_s_Union);
+  __Pyx_INCREF(__pyx_n_s_Intersection);
+  __Pyx_GIVEREF(__pyx_n_s_Intersection);
+  PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_s_Intersection);
+  __Pyx_INCREF(__pyx_n_s_SphereCone);
+  __Pyx_GIVEREF(__pyx_n_s_SphereCone);
+  PyList_SET_ITEM(__pyx_t_2, 7, __pyx_n_s_SphereCone);
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_graphicsPrimitives, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Sphere); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Sphere, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Cone); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Cone, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Cylinder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Cylinder, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_SkewCone); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SkewCone, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Plane); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Plane, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Union); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Union, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Intersection); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Intersection, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_SphereCone); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_SphereCone, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":169
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def soma_objects(x, y, z, sec, double x0, double y0, double z0, int n_soma_step):             # <<<<<<<<<<<<<<
+ *     cdef double diam1, diam2, somax, somay, somaz
+ *     cdef list objects = []
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_4ctng_1soma_objects, NULL, __pyx_n_s_neuron_rxd_geometry3d_ctng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_soma_objects, __pyx_t_1) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":278
+ * @cython.wraparound(False)
+ * @cython.boundscheck(False)
+ * def constructive_neuronal_geometry(source, int n_soma_step, double dx, nouniform=False, relevant_pts=None):             # <<<<<<<<<<<<<<
+ *     cdef list objects = []
+ *     cdef dict cone_segment_dict = {}
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_4ctng_3constructive_neuronal_geometry, NULL, __pyx_n_s_neuron_rxd_geometry3d_ctng); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 278, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_constructive_neuronal_geometry, __pyx_t_1) < 0) __PYX_ERR(0, 278, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/ctng.pyx":1
+ * #cython: language_level=2             # <<<<<<<<<<<<<<
+ * from neuron import h
+ * import numpy
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /*--- Wrapped vars code ---*/
+
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  if (__pyx_m) {
+    if (__pyx_d) {
+      __Pyx_AddTraceback("init neuron.rxd.geometry3d.ctng", __pyx_clineno, __pyx_lineno, __pyx_filename);
+    }
+    Py_CLEAR(__pyx_m);
+  } else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_ImportError, "init neuron.rxd.geometry3d.ctng");
+  }
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  return (__pyx_m != NULL) ? 0 : -1;
+  #elif PY_MAJOR_VERSION >= 3
+  return __pyx_m;
+  #else
+  return;
+  #endif
+}
+
+/* --- Runtime support code --- */
+/* Refnanny */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule(modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, "RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+/* PyObjectGetAttrStr */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_getattro))
+        return tp->tp_getattro(obj, attr_name);
+#if PY_MAJOR_VERSION < 3
+    if (likely(tp->tp_getattr))
+        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
+#endif
+    return PyObject_GetAttr(obj, attr_name);
+}
+#endif
+
+/* GetBuiltinName */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+    if (unlikely(!result)) {
+        PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+            "name '%U' is not defined", name);
+#else
+            "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+    }
+    return result;
+}
+
+/* RaiseTooManyValuesToUnpack */
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
+    PyErr_Format(PyExc_ValueError,
+                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
+}
+
+/* RaiseNeedMoreValuesToUnpack */
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
+    PyErr_Format(PyExc_ValueError,
+                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
+                 index, (index == 1) ? "" : "s");
+}
+
+/* IterFinish */
+static CYTHON_INLINE int __Pyx_IterFinish(void) {
+#if CYTHON_FAST_THREAD_STATE
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject* exc_type = tstate->curexc_type;
+    if (unlikely(exc_type)) {
+        if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
+            PyObject *exc_value, *exc_tb;
+            exc_value = tstate->curexc_value;
+            exc_tb = tstate->curexc_traceback;
+            tstate->curexc_type = 0;
+            tstate->curexc_value = 0;
+            tstate->curexc_traceback = 0;
+            Py_DECREF(exc_type);
+            Py_XDECREF(exc_value);
+            Py_XDECREF(exc_tb);
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#else
+    if (unlikely(PyErr_Occurred())) {
+        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
+            PyErr_Clear();
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#endif
+}
+
+/* UnpackItemEndCheck */
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
+    if (unlikely(retval)) {
+        Py_DECREF(retval);
+        __Pyx_RaiseTooManyValuesError(expected);
+        return -1;
+    }
+    return __Pyx_IterFinish();
+}
+
+/* PyDictVersioning */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
+    PyObject **dictptr = NULL;
+    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
+    if (offset) {
+#if CYTHON_COMPILING_IN_CPYTHON
+        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
+#else
+        dictptr = _PyObject_GetDictPtr(obj);
+#endif
+    }
+    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
+}
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
+        return 0;
+    return obj_dict_version == __Pyx_get_object_dict_version(obj);
+}
+#endif
+
+/* GetModuleGlobalName */
+#if CYTHON_USE_DICT_VERSIONS
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
+#else
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
+#endif
+{
+    PyObject *result;
+#if !CYTHON_AVOID_BORROWED_REFS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    } else if (unlikely(PyErr_Occurred())) {
+        return NULL;
+    }
+#else
+    result = PyDict_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+#endif
+#else
+    result = PyObject_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+    PyErr_Clear();
+#endif
+    return __Pyx_GetBuiltinName(name);
+}
+
+/* PyCFunctionFastCall */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
+    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
+    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
+    PyObject *self = PyCFunction_GET_SELF(func);
+    int flags = PyCFunction_GET_FLAGS(func);
+    assert(PyCFunction_Check(func));
+    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
+    assert(nargs >= 0);
+    assert(nargs == 0 || args != NULL);
+    /* _PyCFunction_FastCallDict() must not be called with an exception set,
+       because it may clear it (directly or indirectly) and so the
+       caller loses its exception */
+    assert(!PyErr_Occurred());
+    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
+        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
+    } else {
+        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
+    }
+}
+#endif
+
+/* PyFunctionFastCall */
+#if CYTHON_FAST_PYCALL
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
+                                               PyObject *globals) {
+    PyFrameObject *f;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject **fastlocals;
+    Py_ssize_t i;
+    PyObject *result;
+    assert(globals != NULL);
+    /* XXX Perhaps we should create a specialized
+       PyFrame_New() that doesn't take locals, but does
+       take builtins without sanity checking them.
+       */
+    assert(tstate != NULL);
+    f = PyFrame_New(tstate, co, globals, NULL);
+    if (f == NULL) {
+        return NULL;
+    }
+    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
+    for (i = 0; i < na; i++) {
+        Py_INCREF(*args);
+        fastlocals[i] = *args++;
+    }
+    result = PyEval_EvalFrameEx(f,0);
+    ++tstate->recursion_depth;
+    Py_DECREF(f);
+    --tstate->recursion_depth;
+    return result;
+}
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
+    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
+    PyObject *globals = PyFunction_GET_GLOBALS(func);
+    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
+    PyObject *closure;
+#if PY_MAJOR_VERSION >= 3
+    PyObject *kwdefs;
+#endif
+    PyObject *kwtuple, **k;
+    PyObject **d;
+    Py_ssize_t nd;
+    Py_ssize_t nk;
+    PyObject *result;
+    assert(kwargs == NULL || PyDict_Check(kwargs));
+    nk = kwargs ? PyDict_Size(kwargs) : 0;
+    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
+        return NULL;
+    }
+    if (
+#if PY_MAJOR_VERSION >= 3
+            co->co_kwonlyargcount == 0 &&
+#endif
+            likely(kwargs == NULL || nk == 0) &&
+            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
+        if (argdefs == NULL && co->co_argcount == nargs) {
+            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
+            goto done;
+        }
+        else if (nargs == 0 && argdefs != NULL
+                 && co->co_argcount == Py_SIZE(argdefs)) {
+            /* function called with no arguments, but all parameters have
+               a default value: use default values as arguments .*/
+            args = &PyTuple_GET_ITEM(argdefs, 0);
+            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
+            goto done;
+        }
+    }
+    if (kwargs != NULL) {
+        Py_ssize_t pos, i;
+        kwtuple = PyTuple_New(2 * nk);
+        if (kwtuple == NULL) {
+            result = NULL;
+            goto done;
+        }
+        k = &PyTuple_GET_ITEM(kwtuple, 0);
+        pos = i = 0;
+        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
+            Py_INCREF(k[i]);
+            Py_INCREF(k[i+1]);
+            i += 2;
+        }
+        nk = i / 2;
+    }
+    else {
+        kwtuple = NULL;
+        k = NULL;
+    }
+    closure = PyFunction_GET_CLOSURE(func);
+#if PY_MAJOR_VERSION >= 3
+    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
+#endif
+    if (argdefs != NULL) {
+        d = &PyTuple_GET_ITEM(argdefs, 0);
+        nd = Py_SIZE(argdefs);
+    }
+    else {
+        d = NULL;
+        nd = 0;
+    }
+#if PY_MAJOR_VERSION >= 3
+    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, kwdefs, closure);
+#else
+    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, closure);
+#endif
+    Py_XDECREF(kwtuple);
+done:
+    Py_LeaveRecursiveCall();
+    return result;
+}
+#endif
+#endif
+
+/* PyObjectCall */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+    PyObject *result;
+    ternaryfunc call = Py_TYPE(func)->tp_call;
+    if (unlikely(!call))
+        return PyObject_Call(func, arg, kw);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = (*call)(func, arg, kw);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCall2Args */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+    PyObject *args, *result = NULL;
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyFunction_FastCall(function, args, 2);
+    }
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyCFunction_FastCall(function, args, 2);
+    }
+    #endif
+    args = PyTuple_New(2);
+    if (unlikely(!args)) goto done;
+    Py_INCREF(arg1);
+    PyTuple_SET_ITEM(args, 0, arg1);
+    Py_INCREF(arg2);
+    PyTuple_SET_ITEM(args, 1, arg2);
+    Py_INCREF(function);
+    result = __Pyx_PyObject_Call(function, args, NULL);
+    Py_DECREF(args);
+    Py_DECREF(function);
+done:
+    return result;
+}
+
+/* PyObjectCallMethO */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+    PyObject *self, *result;
+    PyCFunction cfunc;
+    cfunc = PyCFunction_GET_FUNCTION(func);
+    self = PyCFunction_GET_SELF(func);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = cfunc(self, arg);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCallOneArg */
+#if CYTHON_COMPILING_IN_CPYTHON
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_New(1);
+    if (unlikely(!args)) return NULL;
+    Py_INCREF(arg);
+    PyTuple_SET_ITEM(args, 0, arg);
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(func)) {
+        return __Pyx_PyFunction_FastCall(func, &arg, 1);
+    }
+#endif
+    if (likely(PyCFunction_Check(func))) {
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+            return __Pyx_PyObject_CallMethO(func, arg);
+#if CYTHON_FAST_PYCCALL
+        } else if (__Pyx_PyFastCFunction_Check(func)) {
+            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
+#endif
+        }
+    }
+    return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_Pack(1, arg);
+    if (unlikely(!args)) return NULL;
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+#endif
+
+/* PyErrFetchRestore */
+#if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    tmp_type = tstate->curexc_type;
+    tmp_value = tstate->curexc_value;
+    tmp_tb = tstate->curexc_traceback;
+    tstate->curexc_type = type;
+    tstate->curexc_value = value;
+    tstate->curexc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    *type = tstate->curexc_type;
+    *value = tstate->curexc_value;
+    *tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+}
+#endif
+
+/* RaiseException */
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+                        CYTHON_UNUSED PyObject *cause) {
+    __Pyx_PyThreadState_declare
+    Py_XINCREF(type);
+    if (!value || value == Py_None)
+        value = NULL;
+    else
+        Py_INCREF(value);
+    if (!tb || tb == Py_None)
+        tb = NULL;
+    else {
+        Py_INCREF(tb);
+        if (!PyTraceBack_Check(tb)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: arg 3 must be a traceback or None");
+            goto raise_error;
+        }
+    }
+    if (PyType_Check(type)) {
+#if CYTHON_COMPILING_IN_PYPY
+        if (!value) {
+            Py_INCREF(Py_None);
+            value = Py_None;
+        }
+#endif
+        PyErr_NormalizeException(&type, &value, &tb);
+    } else {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(type);
+        Py_INCREF(type);
+        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: exception class must be a subclass of BaseException");
+            goto raise_error;
+        }
+    }
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrRestore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
+}
+#else
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    PyObject* owned_instance = NULL;
+    if (tb == Py_None) {
+        tb = 0;
+    } else if (tb && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto bad;
+    }
+    if (value == Py_None)
+        value = 0;
+    if (PyExceptionInstance_Check(type)) {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto bad;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(value);
+    } else if (PyExceptionClass_Check(type)) {
+        PyObject *instance_class = NULL;
+        if (value && PyExceptionInstance_Check(value)) {
+            instance_class = (PyObject*) Py_TYPE(value);
+            if (instance_class != type) {
+                int is_subclass = PyObject_IsSubclass(instance_class, type);
+                if (!is_subclass) {
+                    instance_class = NULL;
+                } else if (unlikely(is_subclass == -1)) {
+                    goto bad;
+                } else {
+                    type = instance_class;
+                }
+            }
+        }
+        if (!instance_class) {
+            PyObject *args;
+            if (!value)
+                args = PyTuple_New(0);
+            else if (PyTuple_Check(value)) {
+                Py_INCREF(value);
+                args = value;
+            } else
+                args = PyTuple_Pack(1, value);
+            if (!args)
+                goto bad;
+            owned_instance = PyObject_Call(type, args, NULL);
+            Py_DECREF(args);
+            if (!owned_instance)
+                goto bad;
+            value = owned_instance;
+            if (!PyExceptionInstance_Check(value)) {
+                PyErr_Format(PyExc_TypeError,
+                             "calling %R should have returned an instance of "
+                             "BaseException, not %R",
+                             type, Py_TYPE(value));
+                goto bad;
+            }
+        }
+    } else {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: exception class must be a subclass of BaseException");
+        goto bad;
+    }
+    if (cause) {
+        PyObject *fixed_cause;
+        if (cause == Py_None) {
+            fixed_cause = NULL;
+        } else if (PyExceptionClass_Check(cause)) {
+            fixed_cause = PyObject_CallObject(cause, NULL);
+            if (fixed_cause == NULL)
+                goto bad;
+        } else if (PyExceptionInstance_Check(cause)) {
+            fixed_cause = cause;
+            Py_INCREF(fixed_cause);
+        } else {
+            PyErr_SetString(PyExc_TypeError,
+                            "exception causes must derive from "
+                            "BaseException");
+            goto bad;
+        }
+        PyException_SetCause(value, fixed_cause);
+    }
+    PyErr_SetObject(type, value);
+    if (tb) {
+#if CYTHON_FAST_THREAD_STATE
+        PyThreadState *tstate = __Pyx_PyThreadState_Current;
+        PyObject* tmp_tb = tstate->curexc_traceback;
+        if (tb != tmp_tb) {
+            Py_INCREF(tb);
+            tstate->curexc_traceback = tb;
+            Py_XDECREF(tmp_tb);
+        }
+#else
+        PyObject *tmp_type, *tmp_value, *tmp_tb;
+        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
+        Py_INCREF(tb);
+        PyErr_Restore(tmp_type, tmp_value, tb);
+        Py_XDECREF(tmp_tb);
+#endif
+    }
+bad:
+    Py_XDECREF(owned_instance);
+    return;
+}
+#endif
+
+/* None */
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
+    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
+}
+
+/* PyObjectGetMethod */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
+    PyObject *attr;
+#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
+    PyTypeObject *tp = Py_TYPE(obj);
+    PyObject *descr;
+    descrgetfunc f = NULL;
+    PyObject **dictptr, *dict;
+    int meth_found = 0;
+    assert (*method == NULL);
+    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
+        attr = __Pyx_PyObject_GetAttrStr(obj, name);
+        goto try_unpack;
+    }
+    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
+        return 0;
+    }
+    descr = _PyType_Lookup(tp, name);
+    if (likely(descr != NULL)) {
+        Py_INCREF(descr);
+#if PY_MAJOR_VERSION >= 3
+        #ifdef __Pyx_CyFunction_USED
+        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
+        #else
+        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
+        #endif
+#else
+        #ifdef __Pyx_CyFunction_USED
+        if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
+        #else
+        if (likely(PyFunction_Check(descr)))
+        #endif
+#endif
+        {
+            meth_found = 1;
+        } else {
+            f = Py_TYPE(descr)->tp_descr_get;
+            if (f != NULL && PyDescr_IsData(descr)) {
+                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+                Py_DECREF(descr);
+                goto try_unpack;
+            }
+        }
+    }
+    dictptr = _PyObject_GetDictPtr(obj);
+    if (dictptr != NULL && (dict = *dictptr) != NULL) {
+        Py_INCREF(dict);
+        attr = __Pyx_PyDict_GetItemStr(dict, name);
+        if (attr != NULL) {
+            Py_INCREF(attr);
+            Py_DECREF(dict);
+            Py_XDECREF(descr);
+            goto try_unpack;
+        }
+        Py_DECREF(dict);
+    }
+    if (meth_found) {
+        *method = descr;
+        return 1;
+    }
+    if (f != NULL) {
+        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+        Py_DECREF(descr);
+        goto try_unpack;
+    }
+    if (descr != NULL) {
+        *method = descr;
+        return 0;
+    }
+    PyErr_Format(PyExc_AttributeError,
+#if PY_MAJOR_VERSION >= 3
+                 "'%.50s' object has no attribute '%U'",
+                 tp->tp_name, name);
+#else
+                 "'%.50s' object has no attribute '%.400s'",
+                 tp->tp_name, PyString_AS_STRING(name));
+#endif
+    return 0;
+#else
+    attr = __Pyx_PyObject_GetAttrStr(obj, name);
+    goto try_unpack;
+#endif
+try_unpack:
+#if CYTHON_UNPACK_METHODS
+    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
+        PyObject *function = PyMethod_GET_FUNCTION(attr);
+        Py_INCREF(function);
+        Py_DECREF(attr);
+        *method = function;
+        return 1;
+    }
+#endif
+    *method = attr;
+    return 0;
+}
+
+/* PyObjectCallMethod1 */
+static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
+    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
+    Py_DECREF(method);
+    return result;
+}
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
+    PyObject *method = NULL, *result;
+    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
+    if (likely(is_method)) {
+        result = __Pyx_PyObject_Call2Args(method, obj, arg);
+        Py_DECREF(method);
+        return result;
+    }
+    if (unlikely(!method)) return NULL;
+    return __Pyx__PyObject_CallMethod1(method, arg);
+}
+
+/* append */
+static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
+    if (likely(PyList_CheckExact(L))) {
+        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
+    } else {
+        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
+        if (unlikely(!retval))
+            return -1;
+        Py_DECREF(retval);
+    }
+    return 0;
+}
+
+/* DictGetItem */
+#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
+    PyObject *value;
+    value = PyDict_GetItemWithError(d, key);
+    if (unlikely(!value)) {
+        if (!PyErr_Occurred()) {
+            if (unlikely(PyTuple_Check(key))) {
+                PyObject* args = PyTuple_Pack(1, key);
+                if (likely(args)) {
+                    PyErr_SetObject(PyExc_KeyError, args);
+                    Py_DECREF(args);
+                }
+            } else {
+                PyErr_SetObject(PyExc_KeyError, key);
+            }
+        }
+        return NULL;
+    }
+    Py_INCREF(value);
+    return value;
+}
+#endif
+
+/* ExtTypeTest */
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+    if (unlikely(!type)) {
+        PyErr_SetString(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    if (likely(__Pyx_TypeCheck(obj, type)))
+        return 1;
+    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
+                 Py_TYPE(obj)->tp_name, type->tp_name);
+    return 0;
+}
+
+/* IsLittleEndian */
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
+{
+  union {
+    uint32_t u32;
+    uint8_t u8[4];
+  } S;
+  S.u32 = 0x01020304;
+  return S.u8[0] == 4;
+}
+
+/* BufferFormatCheck */
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+                              __Pyx_BufFmt_StackElem* stack,
+                              __Pyx_TypeInfo* type) {
+  stack[0].field = &ctx->root;
+  stack[0].parent_offset = 0;
+  ctx->root.type = type;
+  ctx->root.name = "buffer dtype";
+  ctx->root.offset = 0;
+  ctx->head = stack;
+  ctx->head->field = &ctx->root;
+  ctx->fmt_offset = 0;
+  ctx->head->parent_offset = 0;
+  ctx->new_packmode = '@';
+  ctx->enc_packmode = '@';
+  ctx->new_count = 1;
+  ctx->enc_count = 0;
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  ctx->is_valid_array = 0;
+  ctx->struct_alignment = 0;
+  while (type->typegroup == 'S') {
+    ++ctx->head;
+    ctx->head->field = type->fields;
+    ctx->head->parent_offset = 0;
+    type = type->fields->type;
+  }
+}
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {
+    int count;
+    const char* t = *ts;
+    if (*t < '0' || *t > '9') {
+      return -1;
+    } else {
+        count = *t++ - '0';
+        while (*t >= '0' && *t <= '9') {
+            count *= 10;
+            count += *t++ - '0';
+        }
+    }
+    *ts = t;
+    return count;
+}
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {
+    int number = __Pyx_BufFmt_ParseNumber(ts);
+    if (number == -1)
+        PyErr_Format(PyExc_ValueError,\
+                     "Does not understand character buffer dtype format string ('%c')", **ts);
+    return number;
+}
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
+  PyErr_Format(PyExc_ValueError,
+               "Unexpected format string character: '%c'", ch);
+}
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
+  switch (ch) {
+    case '?': return "'bool'";
+    case 'c': return "'char'";
+    case 'b': return "'signed char'";
+    case 'B': return "'unsigned char'";
+    case 'h': return "'short'";
+    case 'H': return "'unsigned short'";
+    case 'i': return "'int'";
+    case 'I': return "'unsigned int'";
+    case 'l': return "'long'";
+    case 'L': return "'unsigned long'";
+    case 'q': return "'long long'";
+    case 'Q': return "'unsigned long long'";
+    case 'f': return (is_complex ? "'complex float'" : "'float'");
+    case 'd': return (is_complex ? "'complex double'" : "'double'");
+    case 'g': return (is_complex ? "'complex long double'" : "'long double'");
+    case 'T': return "a struct";
+    case 'O': return "Python object";
+    case 'P': return "a pointer";
+    case 's': case 'p': return "a string";
+    case 0: return "end";
+    default: return "unparseable format string";
+  }
+}
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return 2;
+    case 'i': case 'I': case 'l': case 'L': return 4;
+    case 'q': case 'Q': return 8;
+    case 'f': return (is_complex ? 8 : 4);
+    case 'd': return (is_complex ? 16 : 8);
+    case 'g': {
+      PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");
+      return 0;
+    }
+    case 'O': case 'P': return sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(short);
+    case 'i': case 'I': return sizeof(int);
+    case 'l': case 'L': return sizeof(long);
+    #ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(PY_LONG_LONG);
+    #endif
+    case 'f': return sizeof(float) * (is_complex ? 2 : 1);
+    case 'd': return sizeof(double) * (is_complex ? 2 : 1);
+    case 'g': return sizeof(long double) * (is_complex ? 2 : 1);
+    case 'O': case 'P': return sizeof(void*);
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+typedef struct { char c; short x; } __Pyx_st_short;
+typedef struct { char c; int x; } __Pyx_st_int;
+typedef struct { char c; long x; } __Pyx_st_long;
+typedef struct { char c; float x; } __Pyx_st_float;
+typedef struct { char c; double x; } __Pyx_st_double;
+typedef struct { char c; long double x; } __Pyx_st_longdouble;
+typedef struct { char c; void *x; } __Pyx_st_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+/* These are for computing the padding at the end of the struct to align
+   on the first member of the struct. This will probably the same as above,
+   but we don't have any guarantees.
+ */
+typedef struct { short x; char c; } __Pyx_pad_short;
+typedef struct { int x; char c; } __Pyx_pad_int;
+typedef struct { long x; char c; } __Pyx_pad_long;
+typedef struct { float x; char c; } __Pyx_pad_float;
+typedef struct { double x; char c; } __Pyx_pad_double;
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;
+typedef struct { void *x; char c; } __Pyx_pad_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
+  switch (ch) {
+    case 'c':
+        return 'H';
+    case 'b': case 'h': case 'i':
+    case 'l': case 'q': case 's': case 'p':
+        return 'I';
+    case '?': case 'B': case 'H': case 'I': case 'L': case 'Q':
+        return 'U';
+    case 'f': case 'd': case 'g':
+        return (is_complex ? 'C' : 'R');
+    case 'O':
+        return 'O';
+    case 'P':
+        return 'P';
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
+  if (ctx->head == NULL || ctx->head->field == &ctx->root) {
+    const char* expected;
+    const char* quote;
+    if (ctx->head == NULL) {
+      expected = "end";
+      quote = "";
+    } else {
+      expected = ctx->head->field->type->name;
+      quote = "'";
+    }
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected %s%s%s but got %s",
+                 quote, expected, quote,
+                 __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));
+  } else {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_StructField* parent = (ctx->head - 1)->field;
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",
+                 field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),
+                 parent->type->name, field->name);
+  }
+}
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
+  char group;
+  size_t size, offset, arraysize = 1;
+  if (ctx->enc_type == 0) return 0;
+  if (ctx->head->field->type->arraysize[0]) {
+    int i, ndim = 0;
+    if (ctx->enc_type == 's' || ctx->enc_type == 'p') {
+        ctx->is_valid_array = ctx->head->field->type->ndim == 1;
+        ndim = 1;
+        if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {
+            PyErr_Format(PyExc_ValueError,
+                         "Expected a dimension of size %zu, got %zu",
+                         ctx->head->field->type->arraysize[0], ctx->enc_count);
+            return -1;
+        }
+    }
+    if (!ctx->is_valid_array) {
+      PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",
+                   ctx->head->field->type->ndim, ndim);
+      return -1;
+    }
+    for (i = 0; i < ctx->head->field->type->ndim; i++) {
+      arraysize *= ctx->head->field->type->arraysize[i];
+    }
+    ctx->is_valid_array = 0;
+    ctx->enc_count = 1;
+  }
+  group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);
+  do {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_TypeInfo* type = field->type;
+    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
+      size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
+    } else {
+      size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
+    }
+    if (ctx->enc_packmode == '@') {
+      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
+      size_t align_mod_offset;
+      if (align_at == 0) return -1;
+      align_mod_offset = ctx->fmt_offset % align_at;
+      if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
+      if (ctx->struct_alignment == 0)
+          ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,
+                                                                 ctx->is_complex);
+    }
+    if (type->size != size || type->typegroup != group) {
+      if (type->typegroup == 'C' && type->fields != NULL) {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        ++ctx->head;
+        ctx->head->field = type->fields;
+        ctx->head->parent_offset = parent_offset;
+        continue;
+      }
+      if ((type->typegroup == 'H' || group == 'H') && type->size == size) {
+      } else {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return -1;
+      }
+    }
+    offset = ctx->head->parent_offset + field->offset;
+    if (ctx->fmt_offset != offset) {
+      PyErr_Format(PyExc_ValueError,
+                   "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected",
+                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
+      return -1;
+    }
+    ctx->fmt_offset += size;
+    if (arraysize)
+      ctx->fmt_offset += (arraysize - 1) * size;
+    --ctx->enc_count;
+    while (1) {
+      if (field == &ctx->root) {
+        ctx->head = NULL;
+        if (ctx->enc_count != 0) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return -1;
+        }
+        break;
+      }
+      ctx->head->field = ++field;
+      if (field->type == NULL) {
+        --ctx->head;
+        field = ctx->head->field;
+        continue;
+      } else if (field->type->typegroup == 'S') {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        if (field->type->fields->type == NULL) continue;
+        field = field->type->fields;
+        ++ctx->head;
+        ctx->head->field = field;
+        ctx->head->parent_offset = parent_offset;
+        break;
+      } else {
+        break;
+      }
+    }
+  } while (ctx->enc_count);
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  return 0;
+}
+static PyObject *
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
+{
+    const char *ts = *tsp;
+    int i = 0, number, ndim;
+    ++ts;
+    if (ctx->new_count != 1) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Cannot handle repeated arrays in format string");
+        return NULL;
+    }
+    if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+    ndim = ctx->head->field->type->ndim;
+    while (*ts && *ts != ')') {
+        switch (*ts) {
+            case ' ': case '\f': case '\r': case '\n': case '\t': case '\v':  continue;
+            default:  break;
+        }
+        number = __Pyx_BufFmt_ExpectNumber(&ts);
+        if (number == -1) return NULL;
+        if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])
+            return PyErr_Format(PyExc_ValueError,
+                        "Expected a dimension of size %zu, got %d",
+                        ctx->head->field->type->arraysize[i], number);
+        if (*ts != ',' && *ts != ')')
+            return PyErr_Format(PyExc_ValueError,
+                                "Expected a comma in format string, got '%c'", *ts);
+        if (*ts == ',') ts++;
+        i++;
+    }
+    if (i != ndim)
+        return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
+                            ctx->head->field->type->ndim, i);
+    if (!*ts) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Unexpected end of format string, expected ')'");
+        return NULL;
+    }
+    ctx->is_valid_array = 1;
+    ctx->new_count = 1;
+    *tsp = ++ts;
+    return Py_None;
+}
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
+  int got_Z = 0;
+  while (1) {
+    switch(*ts) {
+      case 0:
+        if (ctx->enc_type != 0 && ctx->head == NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        if (ctx->head != NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+        return ts;
+      case ' ':
+      case '\r':
+      case '\n':
+        ++ts;
+        break;
+      case '<':
+        if (!__Pyx_Is_Little_Endian()) {
+          PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '>':
+      case '!':
+        if (__Pyx_Is_Little_Endian()) {
+          PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '=':
+      case '@':
+      case '^':
+        ctx->new_packmode = *ts++;
+        break;
+      case 'T':
+        {
+          const char* ts_after_sub;
+          size_t i, struct_count = ctx->new_count;
+          size_t struct_alignment = ctx->struct_alignment;
+          ctx->new_count = 1;
+          ++ts;
+          if (*ts != '{') {
+            PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");
+            return NULL;
+          }
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0;
+          ctx->enc_count = 0;
+          ctx->struct_alignment = 0;
+          ++ts;
+          ts_after_sub = ts;
+          for (i = 0; i != struct_count; ++i) {
+            ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);
+            if (!ts_after_sub) return NULL;
+          }
+          ts = ts_after_sub;
+          if (struct_alignment) ctx->struct_alignment = struct_alignment;
+        }
+        break;
+      case '}':
+        {
+          size_t alignment = ctx->struct_alignment;
+          ++ts;
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0;
+          if (alignment && ctx->fmt_offset % alignment) {
+            ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);
+          }
+        }
+        return ts;
+      case 'x':
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        ctx->fmt_offset += ctx->new_count;
+        ctx->new_count = 1;
+        ctx->enc_count = 0;
+        ctx->enc_type = 0;
+        ctx->enc_packmode = ctx->new_packmode;
+        ++ts;
+        break;
+      case 'Z':
+        got_Z = 1;
+        ++ts;
+        if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
+          __Pyx_BufFmt_RaiseUnexpectedChar('Z');
+          return NULL;
+        }
+        CYTHON_FALLTHROUGH;
+      case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
+      case 'l': case 'L': case 'q': case 'Q':
+      case 'f': case 'd': case 'g':
+      case 'O': case 'p':
+        if ((ctx->enc_type == *ts) && (got_Z == ctx->is_complex) &&
+            (ctx->enc_packmode == ctx->new_packmode) && (!ctx->is_valid_array)) {
+          ctx->enc_count += ctx->new_count;
+          ctx->new_count = 1;
+          got_Z = 0;
+          ++ts;
+          break;
+        }
+        CYTHON_FALLTHROUGH;
+      case 's':
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        ctx->enc_count = ctx->new_count;
+        ctx->enc_packmode = ctx->new_packmode;
+        ctx->enc_type = *ts;
+        ctx->is_complex = got_Z;
+        ++ts;
+        ctx->new_count = 1;
+        got_Z = 0;
+        break;
+      case ':':
+        ++ts;
+        while(*ts != ':') ++ts;
+        ++ts;
+        break;
+      case '(':
+        if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;
+        break;
+      default:
+        {
+          int number = __Pyx_BufFmt_ExpectNumber(&ts);
+          if (number == -1) return NULL;
+          ctx->new_count = (size_t)number;
+        }
+    }
+  }
+}
+
+/* BufferGetAndValidate */
+  static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
+  if (unlikely(info->buf == NULL)) return;
+  if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;
+  __Pyx_ReleaseBuffer(info);
+}
+static void __Pyx_ZeroBuffer(Py_buffer* buf) {
+  buf->buf = NULL;
+  buf->obj = NULL;
+  buf->strides = __Pyx_zeros;
+  buf->shape = __Pyx_zeros;
+  buf->suboffsets = __Pyx_minusones;
+}
+static int __Pyx__GetBufferAndValidate(
+        Py_buffer* buf, PyObject* obj,  __Pyx_TypeInfo* dtype, int flags,
+        int nd, int cast, __Pyx_BufFmt_StackElem* stack)
+{
+  buf->buf = NULL;
+  if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) {
+    __Pyx_ZeroBuffer(buf);
+    return -1;
+  }
+  if (unlikely(buf->ndim != nd)) {
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer has wrong number of dimensions (expected %d, got %d)",
+                 nd, buf->ndim);
+    goto fail;
+  }
+  if (!cast) {
+    __Pyx_BufFmt_Context ctx;
+    __Pyx_BufFmt_Init(&ctx, stack, dtype);
+    if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail;
+  }
+  if (unlikely((size_t)buf->itemsize != dtype->size)) {
+    PyErr_Format(PyExc_ValueError,
+      "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)",
+      buf->itemsize, (buf->itemsize > 1) ? "s" : "",
+      dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
+    goto fail;
+  }
+  if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;
+  return 0;
+fail:;
+  __Pyx_SafeReleaseBuffer(buf);
+  return -1;
+}
+
+/* BufferFallbackError */
+  static void __Pyx_RaiseBufferFallbackError(void) {
+  PyErr_SetString(PyExc_ValueError,
+     "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!");
+}
+
+/* WriteUnraisableException */
+  static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+                                  int full_traceback, CYTHON_UNUSED int nogil) {
+    PyObject *old_exc, *old_val, *old_tb;
+    PyObject *ctx;
+    __Pyx_PyThreadState_declare
+#ifdef WITH_THREAD
+    PyGILState_STATE state;
+    if (nogil)
+        state = PyGILState_Ensure();
+    else state = (PyGILState_STATE)0;
+#endif
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+    if (full_traceback) {
+        Py_XINCREF(old_exc);
+        Py_XINCREF(old_val);
+        Py_XINCREF(old_tb);
+        __Pyx_ErrRestore(old_exc, old_val, old_tb);
+        PyErr_PrintEx(1);
+    }
+    #if PY_MAJOR_VERSION < 3
+    ctx = PyString_FromString(name);
+    #else
+    ctx = PyUnicode_FromString(name);
+    #endif
+    __Pyx_ErrRestore(old_exc, old_val, old_tb);
+    if (!ctx) {
+        PyErr_WriteUnraisable(Py_None);
+    } else {
+        PyErr_WriteUnraisable(ctx);
+        Py_DECREF(ctx);
+    }
+#ifdef WITH_THREAD
+    if (nogil)
+        PyGILState_Release(state);
+#endif
+}
+
+/* RaiseNoneIterError */
+  static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+}
+
+/* RaiseArgTupleInvalid */
+  static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+/* RaiseDoubleKeywords */
+  static void __Pyx_RaiseDoubleKeywordsError(
+    const char* func_name,
+    PyObject* kw_name)
+{
+    PyErr_Format(PyExc_TypeError,
+        #if PY_MAJOR_VERSION >= 3
+        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+        #else
+        "%s() got multiple values for keyword argument '%s'", func_name,
+        PyString_AsString(kw_name));
+        #endif
+}
+
+/* ParseKeywords */
+  static int __Pyx_ParseOptionalKeywords(
+    PyObject *kwds,
+    PyObject **argnames[],
+    PyObject *kwds2,
+    PyObject *values[],
+    Py_ssize_t num_pos_args,
+    const char* function_name)
+{
+    PyObject *key = 0, *value = 0;
+    Py_ssize_t pos = 0;
+    PyObject*** name;
+    PyObject*** first_kw_arg = argnames + num_pos_args;
+    while (PyDict_Next(kwds, &pos, &key, &value)) {
+        name = first_kw_arg;
+        while (*name && (**name != key)) name++;
+        if (*name) {
+            values[name-argnames] = value;
+            continue;
+        }
+        name = first_kw_arg;
+        #if PY_MAJOR_VERSION < 3
+        if (likely(PyString_Check(key))) {
+            while (*name) {
+                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
+                        && _PyString_Eq(**name, key)) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    if ((**argname == key) || (
+                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
+                             && _PyString_Eq(**argname, key))) {
+                        goto arg_passed_twice;
+                    }
+                    argname++;
+                }
+            }
+        } else
+        #endif
+        if (likely(PyUnicode_Check(key))) {
+            while (*name) {
+                int cmp = (**name == key) ? 0 :
+                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                #endif
+                    PyUnicode_Compare(**name, key);
+                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                if (cmp == 0) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    int cmp = (**argname == key) ? 0 :
+                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                    #endif
+                        PyUnicode_Compare(**argname, key);
+                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                    if (cmp == 0) goto arg_passed_twice;
+                    argname++;
+                }
+            }
+        } else
+            goto invalid_keyword_type;
+        if (kwds2) {
+            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+        } else {
+            goto invalid_keyword;
+        }
+    }
+    return 0;
+arg_passed_twice:
+    __Pyx_RaiseDoubleKeywordsError(function_name, key);
+    goto bad;
+invalid_keyword_type:
+    PyErr_Format(PyExc_TypeError,
+        "%.200s() keywords must be strings", function_name);
+    goto bad;
+invalid_keyword:
+    PyErr_Format(PyExc_TypeError,
+    #if PY_MAJOR_VERSION < 3
+        "%.200s() got an unexpected keyword argument '%.200s'",
+        function_name, PyString_AsString(key));
+    #else
+        "%s() got an unexpected keyword argument '%U'",
+        function_name, key);
+    #endif
+bad:
+    return -1;
+}
+
+/* PyIntBinop */
+  #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        const long b = intval;
+        long x;
+        long a = PyInt_AS_LONG(op1);
+            x = (long)((unsigned long)a + b);
+            if (likely((x^a) >= 0 || (x^b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_add(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op1))) {
+        const long b = intval;
+        long a, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG llb = intval;
+        PY_LONG_LONG lla, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            a = likely(size) ? digits[0] : 0;
+            if (size == -1) a = -a;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
+            }
+        }
+                x = a + b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla + llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op1)) {
+        const long b = intval;
+        double a = PyFloat_AS_DOUBLE(op1);
+            double result;
+            PyFPE_START_PROTECT("add", return NULL)
+            result = ((double)a) + (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
+}
+#endif
+
+/* PyObjectCallNoArg */
+  #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
+#if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(func)) {
+        return __Pyx_PyFunction_FastCall(func, NULL, 0);
+    }
+#endif
+#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
+    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
+#else
+    if (likely(PyCFunction_Check(func)))
+#endif
+    {
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
+            return __Pyx_PyObject_CallMethO(func, NULL);
+        }
+    }
+    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
+}
+#endif
+
+/* PyIntBinop */
+  #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op2))) {
+        const long a = intval;
+        long x;
+        long b = PyInt_AS_LONG(op2);
+            x = (long)((unsigned long)a - b);
+            if (likely((x^a) >= 0 || (x^~b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op2))) {
+        const long a = intval;
+        long b, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG lla = intval;
+        PY_LONG_LONG llb, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op2)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op2);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            b = likely(size) ? digits[0] : 0;
+            if (size == -1) b = -b;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+            }
+        }
+                x = a - b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla - llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op2)) {
+        const long a = intval;
+        double b = PyFloat_AS_DOUBLE(op2);
+            double result;
+            PyFPE_START_PROTECT("subtract", return NULL)
+            result = ((double)a) - (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
+}
+#endif
+
+/* GetItemInt */
+  static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+    PyObject *r;
+    if (!j) return NULL;
+    r = PyObject_GetItem(o, j);
+    Py_DECREF(j);
+    return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyList_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
+        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyTuple_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
+        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
+                                                     CYTHON_NCP_UNUSED int wraparound,
+                                                     CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
+    if (is_list || PyList_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
+            PyObject *r = PyList_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (PyTuple_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    } else {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_item)) {
+            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+                Py_ssize_t l = m->sq_length(o);
+                if (likely(l >= 0)) {
+                    i += l;
+                } else {
+                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                        return NULL;
+                    PyErr_Clear();
+                }
+            }
+            return m->sq_item(o, i);
+        }
+    }
+#else
+    if (is_list || PySequence_Check(o)) {
+        return PySequence_GetItem(o, i);
+    }
+#endif
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+/* ObjectGetItem */
+  #if CYTHON_USE_TYPE_SLOTS
+static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
+    PyObject *runerr = NULL;
+    Py_ssize_t key_value;
+    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
+    if (unlikely(!(m && m->sq_item))) {
+        PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
+        return NULL;
+    }
+    key_value = __Pyx_PyIndex_AsSsize_t(index);
+    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
+        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
+    }
+    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
+        PyErr_Clear();
+        PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
+    }
+    return NULL;
+}
+static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
+    PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
+    if (likely(m && m->mp_subscript)) {
+        return m->mp_subscript(obj, key);
+    }
+    return __Pyx_PyObject_GetIndex(obj, key);
+}
+#endif
+
+/* PyFloatBinop */
+  #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
+    const double b = floatval;
+    double a, result;
+    (void)inplace;
+    (void)zerodivision_check;
+    if (likely(PyFloat_CheckExact(op1))) {
+        a = PyFloat_AS_DOUBLE(op1);
+        
+    } else
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        a = (double) PyInt_AS_LONG(op1);
+        
+    } else
+    #endif
+    if (likely(PyLong_CheckExact(op1))) {
+        #if CYTHON_USE_PYLONG_INTERNALS
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        switch (size) {
+            case  0: a = 0.0; break;
+            case -1: a = -(double) digits[0]; break;
+            case  1: a = (double) digits[0]; break;
+            case -2:
+            case 2:
+                if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -2)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            case -3:
+            case 3:
+                if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -3)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            case -4:
+            case 4:
+                if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -4)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            default:
+        #else
+        {
+        #endif
+            a = PyLong_AsDouble(op1);
+            if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL;
+            
+        }
+    } else {
+        return (inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2));
+    }
+        
+        PyFPE_START_PROTECT("divide", return NULL)
+        result = a / b;
+        PyFPE_END_PROTECT(result)
+        return PyFloat_FromDouble(result);
+}
+#endif
+
+/* None */
+    static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
+    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
+}
+
+/* GetAttr */
+    static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
+#if CYTHON_USE_TYPE_SLOTS
+#if PY_MAJOR_VERSION >= 3
+    if (likely(PyUnicode_Check(n)))
+#else
+    if (likely(PyString_Check(n)))
+#endif
+        return __Pyx_PyObject_GetAttrStr(o, n);
+#endif
+    return PyObject_GetAttr(o, n);
+}
+
+/* HasAttr */
+    static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
+    PyObject *r;
+    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
+        PyErr_SetString(PyExc_TypeError,
+                        "hasattr(): attribute name must be string");
+        return -1;
+    }
+    r = __Pyx_GetAttr(o, n);
+    if (unlikely(!r)) {
+        PyErr_Clear();
+        return 0;
+    } else {
+        Py_DECREF(r);
+        return 1;
+    }
+}
+
+/* UnpackUnboundCMethod */
+    static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
+    PyObject *method;
+    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
+    if (unlikely(!method))
+        return -1;
+    target->method = method;
+#if CYTHON_COMPILING_IN_CPYTHON
+    #if PY_MAJOR_VERSION >= 3
+    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
+    #endif
+    {
+        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
+        target->func = descr->d_method->ml_meth;
+        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
+    }
+#endif
+    return 0;
+}
+
+/* CallUnboundCMethod1 */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) {
+    if (likely(cfunc->func)) {
+        int flag = cfunc->flag;
+        if (flag == METH_O) {
+            return (*(cfunc->func))(self, arg);
+        } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) {
+            #if PY_VERSION_HEX >= 0x030700A0
+                return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1);
+            #else
+                return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
+            #endif
+        } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) {
+            return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
+        }
+    }
+    return __Pyx__CallUnboundCMethod1(cfunc, self, arg);
+}
+#endif
+static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){
+    PyObject *args, *result = NULL;
+    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
+#if CYTHON_COMPILING_IN_CPYTHON
+    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
+        args = PyTuple_New(1);
+        if (unlikely(!args)) goto bad;
+        Py_INCREF(arg);
+        PyTuple_SET_ITEM(args, 0, arg);
+        if (cfunc->flag & METH_KEYWORDS)
+            result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL);
+        else
+            result = (*cfunc->func)(self, args);
+    } else {
+        args = PyTuple_New(2);
+        if (unlikely(!args)) goto bad;
+        Py_INCREF(self);
+        PyTuple_SET_ITEM(args, 0, self);
+        Py_INCREF(arg);
+        PyTuple_SET_ITEM(args, 1, arg);
+        result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+    }
+#else
+    args = PyTuple_Pack(2, self, arg);
+    if (unlikely(!args)) goto bad;
+    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+#endif
+bad:
+    Py_XDECREF(args);
+    return result;
+}
+
+/* PyIntBinop */
+    #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        const long b = intval;
+        long x;
+        long a = PyInt_AS_LONG(op1);
+            x = (long)((unsigned long)a - b);
+            if (likely((x^a) >= 0 || (x^~b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op1))) {
+        const long b = intval;
+        long a, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG llb = intval;
+        PY_LONG_LONG lla, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            a = likely(size) ? digits[0] : 0;
+            if (size == -1) a = -a;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+            }
+        }
+                x = a - b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla - llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op1)) {
+        const long b = intval;
+        double a = PyFloat_AS_DOUBLE(op1);
+            double result;
+            PyFPE_START_PROTECT("subtract", return NULL)
+            result = ((double)a) - (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
+}
+#endif
+
+/* py_abs */
+    #if CYTHON_USE_PYLONG_INTERNALS
+static PyObject *__Pyx_PyLong_AbsNeg(PyObject *n) {
+    if (likely(Py_SIZE(n) == -1)) {
+        return PyLong_FromLong(((PyLongObject*)n)->ob_digit[0]);
+    }
+#if CYTHON_COMPILING_IN_CPYTHON
+    {
+        PyObject *copy = _PyLong_Copy((PyLongObject*)n);
+        if (likely(copy)) {
+            __Pyx_SET_SIZE(copy, -Py_SIZE(copy));
+        }
+        return copy;
+    }
+#else
+    return PyNumber_Negative(n);
+#endif
+}
+#endif
+
+/* Import */
+    static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_import;
+    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
+    if (!py_import)
+        goto bad;
+    #endif
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    {
+        #if PY_MAJOR_VERSION >= 3
+        if (level == -1) {
+            if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
+                module = PyImport_ImportModuleLevelObject(
+                    name, global_dict, empty_dict, list, 1);
+                if (!module) {
+                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
+                        goto bad;
+                    PyErr_Clear();
+                }
+            }
+            level = 0;
+        }
+        #endif
+        if (!module) {
+            #if PY_MAJOR_VERSION < 3
+            PyObject *py_level = PyInt_FromLong(level);
+            if (!py_level)
+                goto bad;
+            module = PyObject_CallFunctionObjArgs(py_import,
+                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
+            Py_DECREF(py_level);
+            #else
+            module = PyImport_ImportModuleLevelObject(
+                name, global_dict, empty_dict, list, level);
+            #endif
+        }
+    }
+bad:
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_import);
+    #endif
+    Py_XDECREF(empty_list);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+/* SliceObject */
+    static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
+        Py_ssize_t cstart, Py_ssize_t cstop,
+        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
+#if CYTHON_USE_TYPE_SLOTS
+    PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+    if (likely(ms && ms->sq_slice)) {
+        if (!has_cstart) {
+            if (_py_start && (*_py_start != Py_None)) {
+                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+            } else
+                cstart = 0;
+        }
+        if (!has_cstop) {
+            if (_py_stop && (*_py_stop != Py_None)) {
+                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+            } else
+                cstop = PY_SSIZE_T_MAX;
+        }
+        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+            Py_ssize_t l = ms->sq_length(obj);
+            if (likely(l >= 0)) {
+                if (cstop < 0) {
+                    cstop += l;
+                    if (cstop < 0) cstop = 0;
+                }
+                if (cstart < 0) {
+                    cstart += l;
+                    if (cstart < 0) cstart = 0;
+                }
+            } else {
+                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                    goto bad;
+                PyErr_Clear();
+            }
+        }
+        return ms->sq_slice(obj, cstart, cstop);
+    }
+#endif
+    mp = Py_TYPE(obj)->tp_as_mapping;
+    if (likely(mp && mp->mp_subscript))
+#endif
+    {
+        PyObject* result;
+        PyObject *py_slice, *py_start, *py_stop;
+        if (_py_slice) {
+            py_slice = *_py_slice;
+        } else {
+            PyObject* owned_start = NULL;
+            PyObject* owned_stop = NULL;
+            if (_py_start) {
+                py_start = *_py_start;
+            } else {
+                if (has_cstart) {
+                    owned_start = py_start = PyInt_FromSsize_t(cstart);
+                    if (unlikely(!py_start)) goto bad;
+                } else
+                    py_start = Py_None;
+            }
+            if (_py_stop) {
+                py_stop = *_py_stop;
+            } else {
+                if (has_cstop) {
+                    owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+                    if (unlikely(!py_stop)) {
+                        Py_XDECREF(owned_start);
+                        goto bad;
+                    }
+                } else
+                    py_stop = Py_None;
+            }
+            py_slice = PySlice_New(py_start, py_stop, Py_None);
+            Py_XDECREF(owned_start);
+            Py_XDECREF(owned_stop);
+            if (unlikely(!py_slice)) goto bad;
+        }
+#if CYTHON_USE_TYPE_SLOTS
+        result = mp->mp_subscript(obj, py_slice);
+#else
+        result = PyObject_GetItem(obj, py_slice);
+#endif
+        if (!_py_slice) {
+            Py_DECREF(py_slice);
+        }
+        return result;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
+bad:
+    return NULL;
+}
+
+/* SetItemInt */
+    static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
+    int r;
+    if (!j) return -1;
+    r = PyObject_SetItem(o, j, v);
+    Py_DECREF(j);
+    return r;
+}
+static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list,
+                                               CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
+    if (is_list || PyList_CheckExact(o)) {
+        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
+            PyObject* old = PyList_GET_ITEM(o, n);
+            Py_INCREF(v);
+            PyList_SET_ITEM(o, n, v);
+            Py_DECREF(old);
+            return 1;
+        }
+    } else {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_ass_item)) {
+            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+                Py_ssize_t l = m->sq_length(o);
+                if (likely(l >= 0)) {
+                    i += l;
+                } else {
+                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                        return -1;
+                    PyErr_Clear();
+                }
+            }
+            return m->sq_ass_item(o, i, v);
+        }
+    }
+#else
+#if CYTHON_COMPILING_IN_PYPY
+    if (is_list || (PySequence_Check(o) && !PyDict_Check(o)))
+#else
+    if (is_list || PySequence_Check(o))
+#endif
+    {
+        return PySequence_SetItem(o, i, v);
+    }
+#endif
+    return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v);
+}
+
+/* PyObjectCallMethod0 */
+    static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
+    PyObject *method = NULL, *result = NULL;
+    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
+    if (likely(is_method)) {
+        result = __Pyx_PyObject_CallOneArg(method, obj);
+        Py_DECREF(method);
+        return result;
+    }
+    if (unlikely(!method)) goto bad;
+    result = __Pyx_PyObject_CallNoArg(method);
+    Py_DECREF(method);
+bad:
+    return result;
+}
+
+/* UnpackTupleError */
+    static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
+    if (t == Py_None) {
+      __Pyx_RaiseNoneNotIterableError();
+    } else if (PyTuple_GET_SIZE(t) < index) {
+      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
+    } else {
+      __Pyx_RaiseTooManyValuesError(index);
+    }
+}
+
+/* UnpackTuple2 */
+    static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
+        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
+    PyObject *value1 = NULL, *value2 = NULL;
+#if CYTHON_COMPILING_IN_PYPY
+    value1 = PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
+    value2 = PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
+#else
+    value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
+    value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
+#endif
+    if (decref_tuple) {
+        Py_DECREF(tuple);
+    }
+    *pvalue1 = value1;
+    *pvalue2 = value2;
+    return 0;
+#if CYTHON_COMPILING_IN_PYPY
+bad:
+    Py_XDECREF(value1);
+    Py_XDECREF(value2);
+    if (decref_tuple) { Py_XDECREF(tuple); }
+    return -1;
+#endif
+}
+static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
+                                       int has_known_size, int decref_tuple) {
+    Py_ssize_t index;
+    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
+    iternextfunc iternext;
+    iter = PyObject_GetIter(tuple);
+    if (unlikely(!iter)) goto bad;
+    if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
+    iternext = Py_TYPE(iter)->tp_iternext;
+    value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
+    value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
+    if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
+    Py_DECREF(iter);
+    *pvalue1 = value1;
+    *pvalue2 = value2;
+    return 0;
+unpacking_failed:
+    if (!has_known_size && __Pyx_IterFinish() == 0)
+        __Pyx_RaiseNeedMoreValuesError(index);
+bad:
+    Py_XDECREF(iter);
+    Py_XDECREF(value1);
+    Py_XDECREF(value2);
+    if (decref_tuple) { Py_XDECREF(tuple); }
+    return -1;
+}
+
+/* dict_iter */
+    static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
+                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
+    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
+    *p_source_is_dict = is_dict;
+    if (is_dict) {
+#if !CYTHON_COMPILING_IN_PYPY
+        *p_orig_length = PyDict_Size(iterable);
+        Py_INCREF(iterable);
+        return iterable;
+#elif PY_MAJOR_VERSION >= 3
+        static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
+        PyObject **pp = NULL;
+        if (method_name) {
+            const char *name = PyUnicode_AsUTF8(method_name);
+            if (strcmp(name, "iteritems") == 0) pp = &py_items;
+            else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
+            else if (strcmp(name, "itervalues") == 0) pp = &py_values;
+            if (pp) {
+                if (!*pp) {
+                    *pp = PyUnicode_FromString(name + 4);
+                    if (!*pp)
+                        return NULL;
+                }
+                method_name = *pp;
+            }
+        }
+#endif
+    }
+    *p_orig_length = 0;
+    if (method_name) {
+        PyObject* iter;
+        iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
+        if (!iterable)
+            return NULL;
+#if !CYTHON_COMPILING_IN_PYPY
+        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
+            return iterable;
+#endif
+        iter = PyObject_GetIter(iterable);
+        Py_DECREF(iterable);
+        return iter;
+    }
+    return PyObject_GetIter(iterable);
+}
+static CYTHON_INLINE int __Pyx_dict_iter_next(
+        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
+        PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
+    PyObject* next_item;
+#if !CYTHON_COMPILING_IN_PYPY
+    if (source_is_dict) {
+        PyObject *key, *value;
+        if (unlikely(orig_length != PyDict_Size(iter_obj))) {
+            PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
+            return -1;
+        }
+        if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
+            return 0;
+        }
+        if (pitem) {
+            PyObject* tuple = PyTuple_New(2);
+            if (unlikely(!tuple)) {
+                return -1;
+            }
+            Py_INCREF(key);
+            Py_INCREF(value);
+            PyTuple_SET_ITEM(tuple, 0, key);
+            PyTuple_SET_ITEM(tuple, 1, value);
+            *pitem = tuple;
+        } else {
+            if (pkey) {
+                Py_INCREF(key);
+                *pkey = key;
+            }
+            if (pvalue) {
+                Py_INCREF(value);
+                *pvalue = value;
+            }
+        }
+        return 1;
+    } else if (PyTuple_CheckExact(iter_obj)) {
+        Py_ssize_t pos = *ppos;
+        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
+        *ppos = pos + 1;
+        next_item = PyTuple_GET_ITEM(iter_obj, pos);
+        Py_INCREF(next_item);
+    } else if (PyList_CheckExact(iter_obj)) {
+        Py_ssize_t pos = *ppos;
+        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
+        *ppos = pos + 1;
+        next_item = PyList_GET_ITEM(iter_obj, pos);
+        Py_INCREF(next_item);
+    } else
+#endif
+    {
+        next_item = PyIter_Next(iter_obj);
+        if (unlikely(!next_item)) {
+            return __Pyx_IterFinish();
+        }
+    }
+    if (pitem) {
+        *pitem = next_item;
+    } else if (pkey && pvalue) {
+        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
+            return -1;
+    } else if (pkey) {
+        *pkey = next_item;
+    } else {
+        *pvalue = next_item;
+    }
+    return 1;
+}
+
+/* PyIntCompare */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) {
+    if (op1 == op2) {
+        Py_RETURN_TRUE;
+    }
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        const long b = intval;
+        long a = PyInt_AS_LONG(op1);
+        if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op1))) {
+        int unequal;
+        unsigned long uintval;
+        Py_ssize_t size = Py_SIZE(op1);
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        if (intval == 0) {
+            if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+        } else if (intval < 0) {
+            if (size >= 0)
+                Py_RETURN_FALSE;
+            intval = -intval;
+            size = -size;
+        } else {
+            if (size <= 0)
+                Py_RETURN_FALSE;
+        }
+        uintval = (unsigned long) intval;
+#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
+        if (uintval >> (PyLong_SHIFT * 4)) {
+            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
+                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
+        } else
+#endif
+#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
+        if (uintval >> (PyLong_SHIFT * 3)) {
+            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
+                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
+        } else
+#endif
+#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
+        if (uintval >> (PyLong_SHIFT * 2)) {
+            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
+                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
+        } else
+#endif
+#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
+        if (uintval >> (PyLong_SHIFT * 1)) {
+            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
+                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
+        } else
+#endif
+            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
+        if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    }
+    #endif
+    if (PyFloat_CheckExact(op1)) {
+        const long b = intval;
+        double a = PyFloat_AS_DOUBLE(op1);
+        if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    }
+    return (
+        PyObject_RichCompare(op1, op2, Py_EQ));
+}
+
+/* CallUnboundCMethod0 */
+    static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
+    PyObject *args, *result = NULL;
+    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
+#if CYTHON_ASSUME_SAFE_MACROS
+    args = PyTuple_New(1);
+    if (unlikely(!args)) goto bad;
+    Py_INCREF(self);
+    PyTuple_SET_ITEM(args, 0, self);
+#else
+    args = PyTuple_Pack(1, self);
+    if (unlikely(!args)) goto bad;
+#endif
+    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+    Py_DECREF(args);
+bad:
+    return result;
+}
+
+/* py_dict_items */
+    static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
+    if (PY_MAJOR_VERSION >= 3)
+        return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
+    else
+        return PyDict_Items(d);
+}
+
+/* GetTopmostException */
+    #if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem *
+__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
+{
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
+           exc_info->previous_item != NULL)
+    {
+        exc_info = exc_info->previous_item;
+    }
+    return exc_info;
+}
+#endif
+
+/* SaveResetException */
+    #if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
+    *type = exc_info->exc_type;
+    *value = exc_info->exc_value;
+    *tb = exc_info->exc_traceback;
+    #else
+    *type = tstate->exc_type;
+    *value = tstate->exc_value;
+    *tb = tstate->exc_traceback;
+    #endif
+    Py_XINCREF(*type);
+    Py_XINCREF(*value);
+    Py_XINCREF(*tb);
+}
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    tmp_type = exc_info->exc_type;
+    tmp_value = exc_info->exc_value;
+    tmp_tb = exc_info->exc_traceback;
+    exc_info->exc_type = type;
+    exc_info->exc_value = value;
+    exc_info->exc_traceback = tb;
+    #else
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = type;
+    tstate->exc_value = value;
+    tstate->exc_traceback = tb;
+    #endif
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+#endif
+
+/* PyErrExceptionMatches */
+    #if CYTHON_FAST_THREAD_STATE
+static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
+    PyObject *exc_type = tstate->curexc_type;
+    if (exc_type == err) return 1;
+    if (unlikely(!exc_type)) return 0;
+    if (unlikely(PyTuple_Check(err)))
+        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
+    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
+}
+#endif
+
+/* GetException */
+    #if CYTHON_FAST_THREAD_STATE
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
+#endif
+{
+    PyObject *local_type, *local_value, *local_tb;
+#if CYTHON_FAST_THREAD_STATE
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    local_type = tstate->curexc_type;
+    local_value = tstate->curexc_value;
+    local_tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+#else
+    PyErr_Fetch(&local_type, &local_value, &local_tb);
+#endif
+    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
+#if CYTHON_FAST_THREAD_STATE
+    if (unlikely(tstate->curexc_type))
+#else
+    if (unlikely(PyErr_Occurred()))
+#endif
+        goto bad;
+    #if PY_MAJOR_VERSION >= 3
+    if (local_tb) {
+        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
+            goto bad;
+    }
+    #endif
+    Py_XINCREF(local_tb);
+    Py_XINCREF(local_type);
+    Py_XINCREF(local_value);
+    *type = local_type;
+    *value = local_value;
+    *tb = local_tb;
+#if CYTHON_FAST_THREAD_STATE
+    #if CYTHON_USE_EXC_INFO_STACK
+    {
+        _PyErr_StackItem *exc_info = tstate->exc_info;
+        tmp_type = exc_info->exc_type;
+        tmp_value = exc_info->exc_value;
+        tmp_tb = exc_info->exc_traceback;
+        exc_info->exc_type = local_type;
+        exc_info->exc_value = local_value;
+        exc_info->exc_traceback = local_tb;
+    }
+    #else
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = local_type;
+    tstate->exc_value = local_value;
+    tstate->exc_traceback = local_tb;
+    #endif
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+#else
+    PyErr_SetExcInfo(local_type, local_value, local_tb);
+#endif
+    return 0;
+bad:
+    *type = 0;
+    *value = 0;
+    *tb = 0;
+    Py_XDECREF(local_type);
+    Py_XDECREF(local_value);
+    Py_XDECREF(local_tb);
+    return -1;
+}
+
+/* PyObject_GenericGetAttrNoDict */
+    #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
+    PyErr_Format(PyExc_AttributeError,
+#if PY_MAJOR_VERSION >= 3
+                 "'%.50s' object has no attribute '%U'",
+                 tp->tp_name, attr_name);
+#else
+                 "'%.50s' object has no attribute '%.400s'",
+                 tp->tp_name, PyString_AS_STRING(attr_name));
+#endif
+    return NULL;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
+    PyObject *descr;
+    PyTypeObject *tp = Py_TYPE(obj);
+    if (unlikely(!PyString_Check(attr_name))) {
+        return PyObject_GenericGetAttr(obj, attr_name);
+    }
+    assert(!tp->tp_dictoffset);
+    descr = _PyType_Lookup(tp, attr_name);
+    if (unlikely(!descr)) {
+        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
+    }
+    Py_INCREF(descr);
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
+    #endif
+    {
+        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
+        if (unlikely(f)) {
+            PyObject *res = f(descr, obj, (PyObject *)tp);
+            Py_DECREF(descr);
+            return res;
+        }
+    }
+    return descr;
+}
+#endif
+
+/* TypeImport */
+    #ifndef __PYX_HAVE_RT_ImportType_0_29_36
+#define __PYX_HAVE_RT_ImportType_0_29_36
+static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject *module, const char *module_name, const char *class_name,
+    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size)
+{
+    PyObject *result = 0;
+    char warning[200];
+    Py_ssize_t basicsize;
+    Py_ssize_t itemsize;
+#ifdef Py_LIMITED_API
+    PyObject *py_basicsize;
+    PyObject *py_itemsize;
+#endif
+    result = PyObject_GetAttrString(module, class_name);
+    if (!result)
+        goto bad;
+    if (!PyType_Check(result)) {
+        PyErr_Format(PyExc_TypeError,
+            "%.200s.%.200s is not a type object",
+            module_name, class_name);
+        goto bad;
+    }
+#ifndef Py_LIMITED_API
+    basicsize = ((PyTypeObject *)result)->tp_basicsize;
+    itemsize = ((PyTypeObject *)result)->tp_itemsize;
+#else
+    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
+    if (!py_basicsize)
+        goto bad;
+    basicsize = PyLong_AsSsize_t(py_basicsize);
+    Py_DECREF(py_basicsize);
+    py_basicsize = 0;
+    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
+        goto bad;
+    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
+    if (!py_itemsize)
+        goto bad;
+    itemsize = PyLong_AsSsize_t(py_itemsize);
+    Py_DECREF(py_itemsize);
+    py_itemsize = 0;
+    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
+        goto bad;
+#endif
+    if (itemsize) {
+        if (size % alignment) {
+            alignment = size % alignment;
+        }
+        if (itemsize < (Py_ssize_t)alignment)
+            itemsize = (Py_ssize_t)alignment;
+    }
+    if ((size_t)(basicsize + itemsize) < size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_36 && (size_t)basicsize != size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_36 && (size_t)basicsize > size) {
+        PyOS_snprintf(warning, sizeof(warning),
+            "%s.%s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
+    }
+    return (PyTypeObject *)result;
+bad:
+    Py_XDECREF(result);
+    return NULL;
+}
+#endif
+
+/* ImportFrom */
+    static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
+    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
+    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Format(PyExc_ImportError,
+        #if PY_MAJOR_VERSION < 3
+            "cannot import name %.230s", PyString_AS_STRING(name));
+        #else
+            "cannot import name %S", name);
+        #endif
+    }
+    return value;
+}
+
+/* CLineInTraceback */
+    #ifndef CYTHON_CLINE_IN_TRACEBACK
+static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
+    PyObject *use_cline;
+    PyObject *ptype, *pvalue, *ptraceback;
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyObject **cython_runtime_dict;
+#endif
+    if (unlikely(!__pyx_cython_runtime)) {
+        return c_line;
+    }
+    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+#if CYTHON_COMPILING_IN_CPYTHON
+    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
+    if (likely(cython_runtime_dict)) {
+        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
+            use_cline, *cython_runtime_dict,
+            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
+    } else
+#endif
+    {
+      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
+      if (use_cline_obj) {
+        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
+        Py_DECREF(use_cline_obj);
+      } else {
+        PyErr_Clear();
+        use_cline = NULL;
+      }
+    }
+    if (!use_cline) {
+        c_line = 0;
+        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
+    }
+    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
+        c_line = 0;
+    }
+    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+    return c_line;
+}
+#endif
+
+/* CodeObjectCache */
+    static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+    int start = 0, mid = 0, end = count - 1;
+    if (end >= 0 && code_line > entries[end].code_line) {
+        return count;
+    }
+    while (start < end) {
+        mid = start + (end - start) / 2;
+        if (code_line < entries[mid].code_line) {
+            end = mid;
+        } else if (code_line > entries[mid].code_line) {
+             start = mid + 1;
+        } else {
+            return mid;
+        }
+    }
+    if (code_line <= entries[mid].code_line) {
+        return mid;
+    } else {
+        return mid + 1;
+    }
+}
+static PyCodeObject *__pyx_find_code_object(int code_line) {
+    PyCodeObject* code_object;
+    int pos;
+    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
+        return NULL;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
+        return NULL;
+    }
+    code_object = __pyx_code_cache.entries[pos].code_object;
+    Py_INCREF(code_object);
+    return code_object;
+}
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
+    int pos, i;
+    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
+    if (unlikely(!code_line)) {
+        return;
+    }
+    if (unlikely(!entries)) {
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (likely(entries)) {
+            __pyx_code_cache.entries = entries;
+            __pyx_code_cache.max_count = 64;
+            __pyx_code_cache.count = 1;
+            entries[0].code_line = code_line;
+            entries[0].code_object = code_object;
+            Py_INCREF(code_object);
+        }
+        return;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
+        PyCodeObject* tmp = entries[pos].code_object;
+        entries[pos].code_object = code_object;
+        Py_DECREF(tmp);
+        return;
+    }
+    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
+        int new_max = __pyx_code_cache.max_count + 64;
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
+            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
+        if (unlikely(!entries)) {
+            return;
+        }
+        __pyx_code_cache.entries = entries;
+        __pyx_code_cache.max_count = new_max;
+    }
+    for (i=__pyx_code_cache.count; i>pos; i--) {
+        entries[i] = entries[i-1];
+    }
+    entries[pos].code_line = code_line;
+    entries[pos].code_object = code_object;
+    __pyx_code_cache.count++;
+    Py_INCREF(code_object);
+}
+
+/* AddTraceback */
+    #include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
+            const char *funcname, int c_line,
+            int py_line, const char *filename) {
+    PyCodeObject *py_code = NULL;
+    PyObject *py_funcname = NULL;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_srcfile = NULL;
+    py_srcfile = PyString_FromString(filename);
+    if (!py_srcfile) goto bad;
+    #endif
+    if (c_line) {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        #else
+        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        funcname = PyUnicode_AsUTF8(py_funcname);
+        if (!funcname) goto bad;
+        #endif
+    }
+    else {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromString(funcname);
+        if (!py_funcname) goto bad;
+        #endif
+    }
+    #if PY_MAJOR_VERSION < 3
+    py_code = __Pyx_PyCode_New(
+        0,
+        0,
+        0,
+        0,
+        0,
+        __pyx_empty_bytes, /*PyObject *code,*/
+        __pyx_empty_tuple, /*PyObject *consts,*/
+        __pyx_empty_tuple, /*PyObject *names,*/
+        __pyx_empty_tuple, /*PyObject *varnames,*/
+        __pyx_empty_tuple, /*PyObject *freevars,*/
+        __pyx_empty_tuple, /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        py_line,
+        __pyx_empty_bytes  /*PyObject *lnotab*/
+    );
+    Py_DECREF(py_srcfile);
+    #else
+    py_code = PyCode_NewEmpty(filename, funcname, py_line);
+    #endif
+    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
+    return py_code;
+bad:
+    Py_XDECREF(py_funcname);
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_srcfile);
+    #endif
+    return NULL;
+}
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyFrameObject *py_frame = 0;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject *ptype, *pvalue, *ptraceback;
+    if (c_line) {
+        c_line = __Pyx_CLineForTraceback(tstate, c_line);
+    }
+    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
+    if (!py_code) {
+        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+        py_code = __Pyx_CreateCodeObjectForTraceback(
+            funcname, c_line, py_line, filename);
+        if (!py_code) {
+            /* If the code object creation fails, then we should clear the
+               fetched exception references and propagate the new exception */
+            Py_XDECREF(ptype);
+            Py_XDECREF(pvalue);
+            Py_XDECREF(ptraceback);
+            goto bad;
+        }
+        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
+    }
+    py_frame = PyFrame_New(
+        tstate,            /*PyThreadState *tstate,*/
+        py_code,           /*PyCodeObject *code,*/
+        __pyx_d,    /*PyObject *globals,*/
+        0                  /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
+
+#if PY_MAJOR_VERSION < 3
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
+    if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
+        if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags);
+    PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name);
+    return -1;
+}
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {
+    PyObject *obj = view->obj;
+    if (!obj) return;
+    if (PyObject_CheckBuffer(obj)) {
+        PyBuffer_Release(view);
+        return;
+    }
+    if ((0)) {}
+        else if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view);
+    view->obj = NULL;
+    Py_DECREF(obj);
+}
+#endif
+
+
+    /* CIntFromPyVerify */
+    #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
+#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
+#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
+    {\
+        func_type value = func_value;\
+        if (sizeof(target_type) < sizeof(func_type)) {\
+            if (unlikely(value != (func_type) (target_type) value)) {\
+                func_type zero = 0;\
+                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
+                    return (target_type) -1;\
+                if (is_unsigned && unlikely(value < zero))\
+                    goto raise_neg_overflow;\
+                else\
+                    goto raise_overflow;\
+            }\
+        }\
+        return (target_type) value;\
+    }
+
+/* Declarations */
+    #if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return ::std::complex< float >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return x + y*(__pyx_t_float_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      __pyx_t_float_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+/* Arithmetic */
+    #if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    #if 1
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else if (fabsf(b.real) >= fabsf(b.imag)) {
+            if (b.real == 0 && b.imag == 0) {
+                return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
+            } else {
+                float r = b.imag / b.real;
+                float s = (float)(1.0) / (b.real + b.imag * r);
+                return __pyx_t_float_complex_from_parts(
+                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
+            }
+        } else {
+            float r = b.real / b.imag;
+            float s = (float)(1.0) / (b.imag + b.real * r);
+            return __pyx_t_float_complex_from_parts(
+                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
+        }
+    }
+    #else
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else {
+            float denom = b.real * b.real + b.imag * b.imag;
+            return __pyx_t_float_complex_from_parts(
+                (a.real * b.real + a.imag * b.imag) / denom,
+                (a.imag * b.real - a.real * b.imag) / denom);
+        }
+    }
+    #endif
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrtf(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypotf(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+            __pyx_t_float_complex z;
+            float r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    float denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        return __Pyx_c_prod_float(a, a);
+                    case 3:
+                        z = __Pyx_c_prod_float(a, a);
+                        return __Pyx_c_prod_float(z, a);
+                    case 4:
+                        z = __Pyx_c_prod_float(a, a);
+                        return __Pyx_c_prod_float(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                } else if ((b.imag == 0) && (a.real >= 0)) {
+                    z.real = powf(a.real, b.real);
+                    z.imag = 0;
+                    return z;
+                } else if (a.real > 0) {
+                    r = a.real;
+                    theta = 0;
+                } else {
+                    r = -a.real;
+                    theta = atan2f(0.0, -1.0);
+                }
+            } else {
+                r = __Pyx_c_abs_float(a);
+                theta = atan2f(a.imag, a.real);
+            }
+            lnr = logf(r);
+            z_r = expf(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cosf(z_theta);
+            z.imag = z_r * sinf(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+/* Declarations */
+    #if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return ::std::complex< double >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return x + y*(__pyx_t_double_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      __pyx_t_double_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+/* Arithmetic */
+    #if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    #if 1
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else if (fabs(b.real) >= fabs(b.imag)) {
+            if (b.real == 0 && b.imag == 0) {
+                return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
+            } else {
+                double r = b.imag / b.real;
+                double s = (double)(1.0) / (b.real + b.imag * r);
+                return __pyx_t_double_complex_from_parts(
+                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
+            }
+        } else {
+            double r = b.real / b.imag;
+            double s = (double)(1.0) / (b.imag + b.real * r);
+            return __pyx_t_double_complex_from_parts(
+                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
+        }
+    }
+    #else
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else {
+            double denom = b.real * b.real + b.imag * b.imag;
+            return __pyx_t_double_complex_from_parts(
+                (a.real * b.real + a.imag * b.imag) / denom,
+                (a.imag * b.real - a.real * b.imag) / denom);
+        }
+    }
+    #endif
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrt(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypot(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+            __pyx_t_double_complex z;
+            double r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    double denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        return __Pyx_c_prod_double(a, a);
+                    case 3:
+                        z = __Pyx_c_prod_double(a, a);
+                        return __Pyx_c_prod_double(z, a);
+                    case 4:
+                        z = __Pyx_c_prod_double(a, a);
+                        return __Pyx_c_prod_double(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                } else if ((b.imag == 0) && (a.real >= 0)) {
+                    z.real = pow(a.real, b.real);
+                    z.imag = 0;
+                    return z;
+                } else if (a.real > 0) {
+                    r = a.real;
+                    theta = 0;
+                } else {
+                    r = -a.real;
+                    theta = atan2(0.0, -1.0);
+                }
+            } else {
+                r = __Pyx_c_abs_double(a);
+                theta = atan2(a.imag, a.real);
+            }
+            lnr = log(r);
+            z_r = exp(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cos(z_theta);
+            z.imag = z_r * sin(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+/* CIntFromPy */
+    static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const int neg_one = (int) -1, const_zero = (int) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(int) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (int) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
+                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
+                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
+                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (int) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(int) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(int) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            int val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (int) -1;
+        }
+    } else {
+        int val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (int) -1;
+        val = __Pyx_PyInt_As_int(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to int");
+    return (int) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to int");
+    return (int) -1;
+}
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(long) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(long) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(long) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(long),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const int neg_one = (int) -1, const_zero = (int) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(int) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(int) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(int) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(int),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const enum NPY_TYPES neg_one = (enum NPY_TYPES) -1, const_zero = (enum NPY_TYPES) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(enum NPY_TYPES) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(enum NPY_TYPES) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntFromPy */
+    static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(long) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (long) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
+                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
+                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
+                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (long) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(long) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(long) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            long val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (long) -1;
+        }
+    } else {
+        long val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (long) -1;
+        val = __Pyx_PyInt_As_long(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to long");
+    return (long) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to long");
+    return (long) -1;
+}
+
+/* FastTypeChecks */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
+    while (a) {
+        a = a->tp_base;
+        if (a == b)
+            return 1;
+    }
+    return b == &PyBaseObject_Type;
+}
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
+    PyObject *mro;
+    if (a == b) return 1;
+    mro = a->tp_mro;
+    if (likely(mro)) {
+        Py_ssize_t i, n;
+        n = PyTuple_GET_SIZE(mro);
+        for (i = 0; i < n; i++) {
+            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
+                return 1;
+        }
+        return 0;
+    }
+    return __Pyx_InBases(a, b);
+}
+#if PY_MAJOR_VERSION == 2
+static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
+    PyObject *exception, *value, *tb;
+    int res;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&exception, &value, &tb);
+    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
+    if (unlikely(res == -1)) {
+        PyErr_WriteUnraisable(err);
+        res = 0;
+    }
+    if (!res) {
+        res = PyObject_IsSubclass(err, exc_type2);
+        if (unlikely(res == -1)) {
+            PyErr_WriteUnraisable(err);
+            res = 0;
+        }
+    }
+    __Pyx_ErrRestore(exception, value, tb);
+    return res;
+}
+#else
+static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
+    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
+    if (!res) {
+        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
+    }
+    return res;
+}
+#endif
+static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    assert(PyExceptionClass_Check(exc_type));
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        PyObject *t = PyTuple_GET_ITEM(tuple, i);
+        #if PY_MAJOR_VERSION < 3
+        if (likely(exc_type == t)) return 1;
+        #endif
+        if (likely(PyExceptionClass_Check(t))) {
+            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
+        } else {
+        }
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
+    if (likely(err == exc_type)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        if (likely(PyExceptionClass_Check(exc_type))) {
+            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
+        } else if (likely(PyTuple_Check(exc_type))) {
+            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
+        } else {
+        }
+    }
+    return PyErr_GivenExceptionMatches(err, exc_type);
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
+    assert(PyExceptionClass_Check(exc_type1));
+    assert(PyExceptionClass_Check(exc_type2));
+    if (likely(err == exc_type1 || err == exc_type2)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
+    }
+    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
+}
+#endif
+
+/* FetchCommonType */
+    static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
+    PyObject* fake_module;
+    PyTypeObject* cached_type = NULL;
+    fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
+    if (!fake_module) return NULL;
+    Py_INCREF(fake_module);
+    cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
+    if (cached_type) {
+        if (!PyType_Check((PyObject*)cached_type)) {
+            PyErr_Format(PyExc_TypeError,
+                "Shared Cython type %.200s is not a type object",
+                type->tp_name);
+            goto bad;
+        }
+        if (cached_type->tp_basicsize != type->tp_basicsize) {
+            PyErr_Format(PyExc_TypeError,
+                "Shared Cython type %.200s has the wrong size, try recompiling",
+                type->tp_name);
+            goto bad;
+        }
+    } else {
+        if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
+        PyErr_Clear();
+        if (PyType_Ready(type) < 0) goto bad;
+        if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
+            goto bad;
+        Py_INCREF(type);
+        cached_type = type;
+    }
+done:
+    Py_DECREF(fake_module);
+    return cached_type;
+bad:
+    Py_XDECREF(cached_type);
+    cached_type = NULL;
+    goto done;
+}
+
+/* SwapException */
+    #if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    tmp_type = exc_info->exc_type;
+    tmp_value = exc_info->exc_value;
+    tmp_tb = exc_info->exc_traceback;
+    exc_info->exc_type = *type;
+    exc_info->exc_value = *value;
+    exc_info->exc_traceback = *tb;
+    #else
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = *type;
+    tstate->exc_value = *value;
+    tstate->exc_traceback = *tb;
+    #endif
+    *type = tmp_type;
+    *value = tmp_value;
+    *tb = tmp_tb;
+}
+#else
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
+    PyErr_SetExcInfo(*type, *value, *tb);
+    *type = tmp_type;
+    *value = tmp_value;
+    *tb = tmp_tb;
+}
+#endif
+
+/* CoroutineBase */
+    #include <structmember.h>
+#include <frameobject.h>
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
+static int __Pyx_PyGen__FetchStopIterationValue(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) {
+    PyObject *et, *ev, *tb;
+    PyObject *value = NULL;
+    __Pyx_ErrFetch(&et, &ev, &tb);
+    if (!et) {
+        Py_XDECREF(tb);
+        Py_XDECREF(ev);
+        Py_INCREF(Py_None);
+        *pvalue = Py_None;
+        return 0;
+    }
+    if (likely(et == PyExc_StopIteration)) {
+        if (!ev) {
+            Py_INCREF(Py_None);
+            value = Py_None;
+        }
+#if PY_VERSION_HEX >= 0x030300A0
+        else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) {
+            value = ((PyStopIterationObject *)ev)->value;
+            Py_INCREF(value);
+            Py_DECREF(ev);
+        }
+#endif
+        else if (unlikely(PyTuple_Check(ev))) {
+            if (PyTuple_GET_SIZE(ev) >= 1) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+                value = PyTuple_GET_ITEM(ev, 0);
+                Py_INCREF(value);
+#else
+                value = PySequence_ITEM(ev, 0);
+#endif
+            } else {
+                Py_INCREF(Py_None);
+                value = Py_None;
+            }
+            Py_DECREF(ev);
+        }
+        else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
+            value = ev;
+        }
+        if (likely(value)) {
+            Py_XDECREF(tb);
+            Py_DECREF(et);
+            *pvalue = value;
+            return 0;
+        }
+    } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
+        __Pyx_ErrRestore(et, ev, tb);
+        return -1;
+    }
+    PyErr_NormalizeException(&et, &ev, &tb);
+    if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
+        __Pyx_ErrRestore(et, ev, tb);
+        return -1;
+    }
+    Py_XDECREF(tb);
+    Py_DECREF(et);
+#if PY_VERSION_HEX >= 0x030300A0
+    value = ((PyStopIterationObject *)ev)->value;
+    Py_INCREF(value);
+    Py_DECREF(ev);
+#else
+    {
+        PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
+        Py_DECREF(ev);
+        if (likely(args)) {
+            value = PySequence_GetItem(args, 0);
+            Py_DECREF(args);
+        }
+        if (unlikely(!value)) {
+            __Pyx_ErrRestore(NULL, NULL, NULL);
+            Py_INCREF(Py_None);
+            value = Py_None;
+        }
+    }
+#endif
+    *pvalue = value;
+    return 0;
+}
+static CYTHON_INLINE
+void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
+    PyObject *t, *v, *tb;
+    t = exc_state->exc_type;
+    v = exc_state->exc_value;
+    tb = exc_state->exc_traceback;
+    exc_state->exc_type = NULL;
+    exc_state->exc_value = NULL;
+    exc_state->exc_traceback = NULL;
+    Py_XDECREF(t);
+    Py_XDECREF(v);
+    Py_XDECREF(tb);
+}
+#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
+static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) {
+    const char *msg;
+    if ((0)) {
+    #ifdef __Pyx_Coroutine_USED
+    } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
+        msg = "coroutine already executing";
+    #endif
+    #ifdef __Pyx_AsyncGen_USED
+    } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
+        msg = "async generator already executing";
+    #endif
+    } else {
+        msg = "generator already executing";
+    }
+    PyErr_SetString(PyExc_ValueError, msg);
+}
+#define __Pyx_Coroutine_NotStartedError(gen)  (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL)
+static void __Pyx__Coroutine_NotStartedError(CYTHON_UNUSED PyObject *gen) {
+    const char *msg;
+    if ((0)) {
+    #ifdef __Pyx_Coroutine_USED
+    } else if (__Pyx_Coroutine_Check(gen)) {
+        msg = "can't send non-None value to a just-started coroutine";
+    #endif
+    #ifdef __Pyx_AsyncGen_USED
+    } else if (__Pyx_AsyncGen_CheckExact(gen)) {
+        msg = "can't send non-None value to a just-started async generator";
+    #endif
+    } else {
+        msg = "can't send non-None value to a just-started generator";
+    }
+    PyErr_SetString(PyExc_TypeError, msg);
+}
+#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing)  (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL)
+static void __Pyx__Coroutine_AlreadyTerminatedError(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int closing) {
+    #ifdef __Pyx_Coroutine_USED
+    if (!closing && __Pyx_Coroutine_Check(gen)) {
+        PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
+    } else
+    #endif
+    if (value) {
+        #ifdef __Pyx_AsyncGen_USED
+        if (__Pyx_AsyncGen_CheckExact(gen))
+            PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration);
+        else
+        #endif
+        PyErr_SetNone(PyExc_StopIteration);
+    }
+}
+static
+PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) {
+    __Pyx_PyThreadState_declare
+    PyThreadState *tstate;
+    __Pyx_ExcInfoStruct *exc_state;
+    PyObject *retval;
+    assert(!self->is_running);
+    if (unlikely(self->resume_label == 0)) {
+        if (unlikely(value && value != Py_None)) {
+            return __Pyx_Coroutine_NotStartedError((PyObject*)self);
+        }
+    }
+    if (unlikely(self->resume_label == -1)) {
+        return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
+    }
+#if CYTHON_FAST_THREAD_STATE
+    __Pyx_PyThreadState_assign
+    tstate = __pyx_tstate;
+#else
+    tstate = __Pyx_PyThreadState_Current;
+#endif
+    exc_state = &self->gi_exc_state;
+    if (exc_state->exc_type) {
+        #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
+        #else
+        if (exc_state->exc_traceback) {
+            PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback;
+            PyFrameObject *f = tb->tb_frame;
+            assert(f->f_back == NULL);
+            #if PY_VERSION_HEX >= 0x030B00A1
+            f->f_back = PyThreadState_GetFrame(tstate);
+            #else
+            Py_XINCREF(tstate->frame);
+            f->f_back = tstate->frame;
+            #endif
+        }
+        #endif
+    }
+#if CYTHON_USE_EXC_INFO_STACK
+    exc_state->previous_item = tstate->exc_info;
+    tstate->exc_info = exc_state;
+#else
+    if (exc_state->exc_type) {
+        __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
+    } else {
+        __Pyx_Coroutine_ExceptionClear(exc_state);
+        __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
+    }
+#endif
+    self->is_running = 1;
+    retval = self->body((PyObject *) self, tstate, value);
+    self->is_running = 0;
+#if CYTHON_USE_EXC_INFO_STACK
+    exc_state = &self->gi_exc_state;
+    tstate->exc_info = exc_state->previous_item;
+    exc_state->previous_item = NULL;
+    __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
+#endif
+    return retval;
+}
+static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
+    PyObject *exc_tb = exc_state->exc_traceback;
+    if (likely(exc_tb)) {
+#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
+#else
+        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
+        PyFrameObject *f = tb->tb_frame;
+        Py_CLEAR(f->f_back);
+#endif
+    }
+}
+static CYTHON_INLINE
+PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) {
+    if (unlikely(!retval)) {
+        __Pyx_PyThreadState_declare
+        __Pyx_PyThreadState_assign
+        if (!__Pyx_PyErr_Occurred()) {
+            PyObject *exc = PyExc_StopIteration;
+            #ifdef __Pyx_AsyncGen_USED
+            if (__Pyx_AsyncGen_CheckExact(gen))
+                exc = __Pyx_PyExc_StopAsyncIteration;
+            #endif
+            __Pyx_PyErr_SetNone(exc);
+        }
+    }
+    return retval;
+}
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+static CYTHON_INLINE
+PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
+#if PY_VERSION_HEX <= 0x030A00A1
+    return _PyGen_Send(gen, arg);
+#else
+    PyObject *result;
+    if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
+        if (PyAsyncGen_CheckExact(gen)) {
+            assert(result == Py_None);
+            PyErr_SetNone(PyExc_StopAsyncIteration);
+        }
+        else if (result == Py_None) {
+            PyErr_SetNone(PyExc_StopIteration);
+        }
+        else {
+            _PyGen_SetStopIterationValue(result);
+        }
+        Py_CLEAR(result);
+    }
+    return result;
+#endif
+}
+#endif
+static CYTHON_INLINE
+PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
+    PyObject *ret;
+    PyObject *val = NULL;
+    __Pyx_Coroutine_Undelegate(gen);
+    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
+    ret = __Pyx_Coroutine_SendEx(gen, val, 0);
+    Py_XDECREF(val);
+    return ret;
+}
+static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
+    PyObject *retval;
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
+    PyObject *yf = gen->yieldfrom;
+    if (unlikely(gen->is_running))
+        return __Pyx_Coroutine_AlreadyRunningError(gen);
+    if (yf) {
+        PyObject *ret;
+        gen->is_running = 1;
+        #ifdef __Pyx_Generator_USED
+        if (__Pyx_Generator_CheckExact(yf)) {
+            ret = __Pyx_Coroutine_Send(yf, value);
+        } else
+        #endif
+        #ifdef __Pyx_Coroutine_USED
+        if (__Pyx_Coroutine_Check(yf)) {
+            ret = __Pyx_Coroutine_Send(yf, value);
+        } else
+        #endif
+        #ifdef __Pyx_AsyncGen_USED
+        if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
+            ret = __Pyx_async_gen_asend_send(yf, value);
+        } else
+        #endif
+        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+        if (PyGen_CheckExact(yf)) {
+            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
+        } else
+        #endif
+        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+        if (PyCoro_CheckExact(yf)) {
+            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
+        } else
+        #endif
+        {
+            if (value == Py_None)
+                ret = Py_TYPE(yf)->tp_iternext(yf);
+            else
+                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
+        }
+        gen->is_running = 0;
+        if (likely(ret)) {
+            return ret;
+        }
+        retval = __Pyx_Coroutine_FinishDelegation(gen);
+    } else {
+        retval = __Pyx_Coroutine_SendEx(gen, value, 0);
+    }
+    return __Pyx_Coroutine_MethodReturn(self, retval);
+}
+static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
+    PyObject *retval = NULL;
+    int err = 0;
+    #ifdef __Pyx_Generator_USED
+    if (__Pyx_Generator_CheckExact(yf)) {
+        retval = __Pyx_Coroutine_Close(yf);
+        if (!retval)
+            return -1;
+    } else
+    #endif
+    #ifdef __Pyx_Coroutine_USED
+    if (__Pyx_Coroutine_Check(yf)) {
+        retval = __Pyx_Coroutine_Close(yf);
+        if (!retval)
+            return -1;
+    } else
+    if (__Pyx_CoroutineAwait_CheckExact(yf)) {
+        retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL);
+        if (!retval)
+            return -1;
+    } else
+    #endif
+    #ifdef __Pyx_AsyncGen_USED
+    if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
+        retval = __Pyx_async_gen_asend_close(yf, NULL);
+    } else
+    if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
+        retval = __Pyx_async_gen_athrow_close(yf, NULL);
+    } else
+    #endif
+    {
+        PyObject *meth;
+        gen->is_running = 1;
+        meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close);
+        if (unlikely(!meth)) {
+            if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+                PyErr_WriteUnraisable(yf);
+            }
+            PyErr_Clear();
+        } else {
+            retval = PyObject_CallFunction(meth, NULL);
+            Py_DECREF(meth);
+            if (!retval)
+                err = -1;
+        }
+        gen->is_running = 0;
+    }
+    Py_XDECREF(retval);
+    return err;
+}
+static PyObject *__Pyx_Generator_Next(PyObject *self) {
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
+    PyObject *yf = gen->yieldfrom;
+    if (unlikely(gen->is_running))
+        return __Pyx_Coroutine_AlreadyRunningError(gen);
+    if (yf) {
+        PyObject *ret;
+        gen->is_running = 1;
+        #ifdef __Pyx_Generator_USED
+        if (__Pyx_Generator_CheckExact(yf)) {
+            ret = __Pyx_Generator_Next(yf);
+        } else
+        #endif
+        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+        if (PyGen_CheckExact(yf)) {
+            ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
+        } else
+        #endif
+        #ifdef __Pyx_Coroutine_USED
+        if (__Pyx_Coroutine_Check(yf)) {
+            ret = __Pyx_Coroutine_Send(yf, Py_None);
+        } else
+        #endif
+            ret = Py_TYPE(yf)->tp_iternext(yf);
+        gen->is_running = 0;
+        if (likely(ret)) {
+            return ret;
+        }
+        return __Pyx_Coroutine_FinishDelegation(gen);
+    }
+    return __Pyx_Coroutine_SendEx(gen, Py_None, 0);
+}
+static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, CYTHON_UNUSED PyObject *arg) {
+    return __Pyx_Coroutine_Close(self);
+}
+static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
+    PyObject *retval, *raised_exception;
+    PyObject *yf = gen->yieldfrom;
+    int err = 0;
+    if (unlikely(gen->is_running))
+        return __Pyx_Coroutine_AlreadyRunningError(gen);
+    if (yf) {
+        Py_INCREF(yf);
+        err = __Pyx_Coroutine_CloseIter(gen, yf);
+        __Pyx_Coroutine_Undelegate(gen);
+        Py_DECREF(yf);
+    }
+    if (err == 0)
+        PyErr_SetNone(PyExc_GeneratorExit);
+    retval = __Pyx_Coroutine_SendEx(gen, NULL, 1);
+    if (unlikely(retval)) {
+        const char *msg;
+        Py_DECREF(retval);
+        if ((0)) {
+        #ifdef __Pyx_Coroutine_USED
+        } else if (__Pyx_Coroutine_Check(self)) {
+            msg = "coroutine ignored GeneratorExit";
+        #endif
+        #ifdef __Pyx_AsyncGen_USED
+        } else if (__Pyx_AsyncGen_CheckExact(self)) {
+#if PY_VERSION_HEX < 0x03060000
+            msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)";
+#else
+            msg = "async generator ignored GeneratorExit";
+#endif
+        #endif
+        } else {
+            msg = "generator ignored GeneratorExit";
+        }
+        PyErr_SetString(PyExc_RuntimeError, msg);
+        return NULL;
+    }
+    raised_exception = PyErr_Occurred();
+    if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) {
+        if (raised_exception) PyErr_Clear();
+        Py_INCREF(Py_None);
+        return Py_None;
+    }
+    return NULL;
+}
+static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
+                                        PyObject *args, int close_on_genexit) {
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
+    PyObject *yf = gen->yieldfrom;
+    if (unlikely(gen->is_running))
+        return __Pyx_Coroutine_AlreadyRunningError(gen);
+    if (yf) {
+        PyObject *ret;
+        Py_INCREF(yf);
+        if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
+            int err = __Pyx_Coroutine_CloseIter(gen, yf);
+            Py_DECREF(yf);
+            __Pyx_Coroutine_Undelegate(gen);
+            if (err < 0)
+                return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
+            goto throw_here;
+        }
+        gen->is_running = 1;
+        if (0
+        #ifdef __Pyx_Generator_USED
+            || __Pyx_Generator_CheckExact(yf)
+        #endif
+        #ifdef __Pyx_Coroutine_USED
+            || __Pyx_Coroutine_Check(yf)
+        #endif
+            ) {
+            ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
+        #ifdef __Pyx_Coroutine_USED
+        } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
+            ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
+        #endif
+        } else {
+            PyObject *meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_throw);
+            if (unlikely(!meth)) {
+                Py_DECREF(yf);
+                if (!PyErr_ExceptionMatches(PyExc_AttributeError)) {
+                    gen->is_running = 0;
+                    return NULL;
+                }
+                PyErr_Clear();
+                __Pyx_Coroutine_Undelegate(gen);
+                gen->is_running = 0;
+                goto throw_here;
+            }
+            if (likely(args)) {
+                ret = PyObject_CallObject(meth, args);
+            } else {
+                ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL);
+            }
+            Py_DECREF(meth);
+        }
+        gen->is_running = 0;
+        Py_DECREF(yf);
+        if (!ret) {
+            ret = __Pyx_Coroutine_FinishDelegation(gen);
+        }
+        return __Pyx_Coroutine_MethodReturn(self, ret);
+    }
+throw_here:
+    __Pyx_Raise(typ, val, tb, NULL);
+    return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
+}
+static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
+    PyObject *typ;
+    PyObject *val = NULL;
+    PyObject *tb = NULL;
+    if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))
+        return NULL;
+    return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
+}
+static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
+    Py_VISIT(exc_state->exc_type);
+    Py_VISIT(exc_state->exc_value);
+    Py_VISIT(exc_state->exc_traceback);
+    return 0;
+}
+static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
+    Py_VISIT(gen->closure);
+    Py_VISIT(gen->classobj);
+    Py_VISIT(gen->yieldfrom);
+    return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
+}
+static int __Pyx_Coroutine_clear(PyObject *self) {
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
+    Py_CLEAR(gen->closure);
+    Py_CLEAR(gen->classobj);
+    Py_CLEAR(gen->yieldfrom);
+    __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
+#ifdef __Pyx_AsyncGen_USED
+    if (__Pyx_AsyncGen_CheckExact(self)) {
+        Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
+    }
+#endif
+    Py_CLEAR(gen->gi_code);
+    Py_CLEAR(gen->gi_frame);
+    Py_CLEAR(gen->gi_name);
+    Py_CLEAR(gen->gi_qualname);
+    Py_CLEAR(gen->gi_modulename);
+    return 0;
+}
+static void __Pyx_Coroutine_dealloc(PyObject *self) {
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
+    PyObject_GC_UnTrack(gen);
+    if (gen->gi_weakreflist != NULL)
+        PyObject_ClearWeakRefs(self);
+    if (gen->resume_label >= 0) {
+        PyObject_GC_Track(self);
+#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE
+        if (PyObject_CallFinalizerFromDealloc(self))
+#else
+        Py_TYPE(gen)->tp_del(self);
+        if (Py_REFCNT(self) > 0)
+#endif
+        {
+            return;
+        }
+        PyObject_GC_UnTrack(self);
+    }
+#ifdef __Pyx_AsyncGen_USED
+    if (__Pyx_AsyncGen_CheckExact(self)) {
+        /* We have to handle this case for asynchronous generators
+           right here, because this code has to be between UNTRACK
+           and GC_Del. */
+        Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
+    }
+#endif
+    __Pyx_Coroutine_clear(self);
+    PyObject_GC_Del(gen);
+}
+static void __Pyx_Coroutine_del(PyObject *self) {
+    PyObject *error_type, *error_value, *error_traceback;
+    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
+    __Pyx_PyThreadState_declare
+    if (gen->resume_label < 0) {
+        return;
+    }
+#if !CYTHON_USE_TP_FINALIZE
+    assert(self->ob_refcnt == 0);
+    __Pyx_SET_REFCNT(self, 1);
+#endif
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
+#ifdef __Pyx_AsyncGen_USED
+    if (__Pyx_AsyncGen_CheckExact(self)) {
+        __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
+        PyObject *finalizer = agen->ag_finalizer;
+        if (finalizer && !agen->ag_closed) {
+            PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
+            if (unlikely(!res)) {
+                PyErr_WriteUnraisable(self);
+            } else {
+                Py_DECREF(res);
+            }
+            __Pyx_ErrRestore(error_type, error_value, error_traceback);
+            return;
+        }
+    }
+#endif
+    if (unlikely(gen->resume_label == 0 && !error_value)) {
+#ifdef __Pyx_Coroutine_USED
+#ifdef __Pyx_Generator_USED
+    if (!__Pyx_Generator_CheckExact(self))
+#endif
+        {
+        PyObject_GC_UnTrack(self);
+#if PY_MAJOR_VERSION >= 3  || defined(PyErr_WarnFormat)
+        if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
+            PyErr_WriteUnraisable(self);
+#else
+        {PyObject *msg;
+        char *cmsg;
+        #if CYTHON_COMPILING_IN_PYPY
+        msg = NULL;
+        cmsg = (char*) "coroutine was never awaited";
+        #else
+        char *cname;
+        PyObject *qualname;
+        qualname = gen->gi_qualname;
+        cname = PyString_AS_STRING(qualname);
+        msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname);
+        if (unlikely(!msg)) {
+            PyErr_Clear();
+            cmsg = (char*) "coroutine was never awaited";
+        } else {
+            cmsg = PyString_AS_STRING(msg);
+        }
+        #endif
+        if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0))
+            PyErr_WriteUnraisable(self);
+        Py_XDECREF(msg);}
+#endif
+        PyObject_GC_Track(self);
+        }
+#endif
+    } else {
+        PyObject *res = __Pyx_Coroutine_Close(self);
+        if (unlikely(!res)) {
+            if (PyErr_Occurred())
+                PyErr_WriteUnraisable(self);
+        } else {
+            Py_DECREF(res);
+        }
+    }
+    __Pyx_ErrRestore(error_type, error_value, error_traceback);
+#if !CYTHON_USE_TP_FINALIZE
+    assert(Py_REFCNT(self) > 0);
+    if (--self->ob_refcnt == 0) {
+        return;
+    }
+    {
+        Py_ssize_t refcnt = Py_REFCNT(self);
+        _Py_NewReference(self);
+        __Pyx_SET_REFCNT(self, refcnt);
+    }
+#if CYTHON_COMPILING_IN_CPYTHON
+    assert(PyType_IS_GC(Py_TYPE(self)) &&
+           _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
+    _Py_DEC_REFTOTAL;
+#endif
+#ifdef COUNT_ALLOCS
+    --Py_TYPE(self)->tp_frees;
+    --Py_TYPE(self)->tp_allocs;
+#endif
+#endif
+}
+static PyObject *
+__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
+{
+    PyObject *name = self->gi_name;
+    if (unlikely(!name)) name = Py_None;
+    Py_INCREF(name);
+    return name;
+}
+static int
+__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
+{
+    PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+    if (unlikely(value == NULL || !PyUnicode_Check(value)))
+#else
+    if (unlikely(value == NULL || !PyString_Check(value)))
+#endif
+    {
+        PyErr_SetString(PyExc_TypeError,
+                        "__name__ must be set to a string object");
+        return -1;
+    }
+    tmp = self->gi_name;
+    Py_INCREF(value);
+    self->gi_name = value;
+    Py_XDECREF(tmp);
+    return 0;
+}
+static PyObject *
+__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
+{
+    PyObject *name = self->gi_qualname;
+    if (unlikely(!name)) name = Py_None;
+    Py_INCREF(name);
+    return name;
+}
+static int
+__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context)
+{
+    PyObject *tmp;
+#if PY_MAJOR_VERSION >= 3
+    if (unlikely(value == NULL || !PyUnicode_Check(value)))
+#else
+    if (unlikely(value == NULL || !PyString_Check(value)))
+#endif
+    {
+        PyErr_SetString(PyExc_TypeError,
+                        "__qualname__ must be set to a string object");
+        return -1;
+    }
+    tmp = self->gi_qualname;
+    Py_INCREF(value);
+    self->gi_qualname = value;
+    Py_XDECREF(tmp);
+    return 0;
+}
+static PyObject *
+__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
+{
+    PyObject *frame = self->gi_frame;
+    if (!frame) {
+        if (unlikely(!self->gi_code)) {
+            Py_RETURN_NONE;
+        }
+        frame = (PyObject *) PyFrame_New(
+            PyThreadState_Get(),            /*PyThreadState *tstate,*/
+            (PyCodeObject*) self->gi_code,  /*PyCodeObject *code,*/
+            __pyx_d,                 /*PyObject *globals,*/
+            0                               /*PyObject *locals*/
+        );
+        if (unlikely(!frame))
+            return NULL;
+        self->gi_frame = frame;
+    }
+    Py_INCREF(frame);
+    return frame;
+}
+static __pyx_CoroutineObject *__Pyx__Coroutine_New(
+            PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
+            PyObject *name, PyObject *qualname, PyObject *module_name) {
+    __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
+    if (unlikely(!gen))
+        return NULL;
+    return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
+}
+static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
+            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
+            PyObject *name, PyObject *qualname, PyObject *module_name) {
+    gen->body = body;
+    gen->closure = closure;
+    Py_XINCREF(closure);
+    gen->is_running = 0;
+    gen->resume_label = 0;
+    gen->classobj = NULL;
+    gen->yieldfrom = NULL;
+    gen->gi_exc_state.exc_type = NULL;
+    gen->gi_exc_state.exc_value = NULL;
+    gen->gi_exc_state.exc_traceback = NULL;
+#if CYTHON_USE_EXC_INFO_STACK
+    gen->gi_exc_state.previous_item = NULL;
+#endif
+    gen->gi_weakreflist = NULL;
+    Py_XINCREF(qualname);
+    gen->gi_qualname = qualname;
+    Py_XINCREF(name);
+    gen->gi_name = name;
+    Py_XINCREF(module_name);
+    gen->gi_modulename = module_name;
+    Py_XINCREF(code);
+    gen->gi_code = code;
+    gen->gi_frame = NULL;
+    PyObject_GC_Track(gen);
+    return gen;
+}
+
+/* PatchModuleWithCoroutine */
+    static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
+#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+    int result;
+    PyObject *globals, *result_obj;
+    globals = PyDict_New();  if (unlikely(!globals)) goto ignore;
+    result = PyDict_SetItemString(globals, "_cython_coroutine_type",
+    #ifdef __Pyx_Coroutine_USED
+        (PyObject*)__pyx_CoroutineType);
+    #else
+        Py_None);
+    #endif
+    if (unlikely(result < 0)) goto ignore;
+    result = PyDict_SetItemString(globals, "_cython_generator_type",
+    #ifdef __Pyx_Generator_USED
+        (PyObject*)__pyx_GeneratorType);
+    #else
+        Py_None);
+    #endif
+    if (unlikely(result < 0)) goto ignore;
+    if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
+    if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
+    result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
+    if (unlikely(!result_obj)) goto ignore;
+    Py_DECREF(result_obj);
+    Py_DECREF(globals);
+    return module;
+ignore:
+    Py_XDECREF(globals);
+    PyErr_WriteUnraisable(module);
+    if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
+        Py_DECREF(module);
+        module = NULL;
+    }
+#else
+    py_code++;
+#endif
+    return module;
+}
+
+/* PatchGeneratorABC */
+    #ifndef CYTHON_REGISTER_ABCS
+#define CYTHON_REGISTER_ABCS 1
+#endif
+#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+static PyObject* __Pyx_patch_abc_module(PyObject *module);
+static PyObject* __Pyx_patch_abc_module(PyObject *module) {
+    module = __Pyx_Coroutine_patch_module(
+        module, ""
+"if _cython_generator_type is not None:\n"
+"    try: Generator = _module.Generator\n"
+"    except AttributeError: pass\n"
+"    else: Generator.register(_cython_generator_type)\n"
+"if _cython_coroutine_type is not None:\n"
+"    try: Coroutine = _module.Coroutine\n"
+"    except AttributeError: pass\n"
+"    else: Coroutine.register(_cython_coroutine_type)\n"
+    );
+    return module;
+}
+#endif
+static int __Pyx_patch_abc(void) {
+#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+    static int abc_patched = 0;
+    if (CYTHON_REGISTER_ABCS && !abc_patched) {
+        PyObject *module;
+        module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections");
+        if (!module) {
+            PyErr_WriteUnraisable(NULL);
+            if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
+                    ((PY_MAJOR_VERSION >= 3) ?
+                        "Cython module failed to register with collections.abc module" :
+                        "Cython module failed to register with collections module"), 1) < 0)) {
+                return -1;
+            }
+        } else {
+            module = __Pyx_patch_abc_module(module);
+            abc_patched = 1;
+            if (unlikely(!module))
+                return -1;
+            Py_DECREF(module);
+        }
+        module = PyImport_ImportModule("backports_abc");
+        if (module) {
+            module = __Pyx_patch_abc_module(module);
+            Py_XDECREF(module);
+        }
+        if (!module) {
+            PyErr_Clear();
+        }
+    }
+#else
+    if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL);
+#endif
+    return 0;
+}
+
+/* Generator */
+    static PyMethodDef __pyx_Generator_methods[] = {
+    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
+     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
+    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
+     (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
+    {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
+     (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
+    {0, 0, 0, 0}
+};
+static PyMemberDef __pyx_Generator_memberlist[] = {
+    {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
+    {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
+     (char*) PyDoc_STR("object being iterated by 'yield from', or None")},
+    {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
+    {0, 0, 0, 0, 0}
+};
+static PyGetSetDef __pyx_Generator_getsets[] = {
+    {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
+     (char*) PyDoc_STR("name of the generator"), 0},
+    {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
+     (char*) PyDoc_STR("qualified name of the generator"), 0},
+    {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
+     (char*) PyDoc_STR("Frame of the generator"), 0},
+    {0, 0, 0, 0, 0}
+};
+static PyTypeObject __pyx_GeneratorType_type = {
+    PyVarObject_HEAD_INIT(0, 0)
+    "generator",
+    sizeof(__pyx_CoroutineObject),
+    0,
+    (destructor) __Pyx_Coroutine_dealloc,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
+    0,
+    (traverseproc) __Pyx_Coroutine_traverse,
+    0,
+    0,
+    offsetof(__pyx_CoroutineObject, gi_weakreflist),
+    0,
+    (iternextfunc) __Pyx_Generator_Next,
+    __pyx_Generator_methods,
+    __pyx_Generator_memberlist,
+    __pyx_Generator_getsets,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+#if CYTHON_USE_TP_FINALIZE
+    0,
+#else
+    __Pyx_Coroutine_del,
+#endif
+    0,
+#if CYTHON_USE_TP_FINALIZE
+    __Pyx_Coroutine_del,
+#elif PY_VERSION_HEX >= 0x030400a1
+    0,
+#endif
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+    0,
+#endif
+#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+    0,
+#endif
+#if PY_VERSION_HEX >= 0x030C0000
+    0,
+#endif
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+    0,
+#endif
+};
+static int __pyx_Generator_init(void) {
+    __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
+    __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
+    __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
+    if (unlikely(!__pyx_GeneratorType)) {
+        return -1;
+    }
+    return 0;
+}
+
+/* CheckBinaryVersion */
+    static int __Pyx_check_binary_version(void) {
+    char ctversion[5];
+    int same=1, i, found_dot;
+    const char* rt_from_call = Py_GetVersion();
+    PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    found_dot = 0;
+    for (i = 0; i < 4; i++) {
+        if (!ctversion[i]) {
+            same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
+            break;
+        }
+        if (rt_from_call[i] != ctversion[i]) {
+            same = 0;
+            break;
+        }
+    }
+    if (!same) {
+        char rtversion[5] = {'\0'};
+        char message[200];
+        for (i=0; i<4; ++i) {
+            if (rt_from_call[i] == '.') {
+                if (found_dot) break;
+                found_dot = 1;
+            } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
+                break;
+            }
+            rtversion[i] = rt_from_call[i];
+        }
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        return PyErr_WarnEx(NULL, message, 1);
+    }
+    return 0;
+}
+
+/* InitStrings */
+    static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        #if PY_MAJOR_VERSION < 3
+        if (t->is_unicode) {
+            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
+        } else if (t->intern) {
+            *t->p = PyString_InternFromString(t->s);
+        } else {
+            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        }
+        #else
+        if (t->is_unicode | t->is_str) {
+            if (t->intern) {
+                *t->p = PyUnicode_InternFromString(t->s);
+            } else if (t->encoding) {
+                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
+            } else {
+                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
+            }
+        } else {
+            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
+        }
+        #endif
+        if (!*t->p)
+            return -1;
+        if (PyObject_Hash(*t->p) == -1)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
+    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+}
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
+    Py_ssize_t ignore;
+    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
+}
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#if !CYTHON_PEP393_ENABLED
+static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    char* defenc_c;
+    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
+    if (!defenc) return NULL;
+    defenc_c = PyBytes_AS_STRING(defenc);
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    {
+        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
+        char* c;
+        for (c = defenc_c; c < end; c++) {
+            if ((unsigned char) (*c) >= 128) {
+                PyUnicode_AsASCIIString(o);
+                return NULL;
+            }
+        }
+    }
+#endif
+    *length = PyBytes_GET_SIZE(defenc);
+    return defenc_c;
+}
+#else
+static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    if (likely(PyUnicode_IS_ASCII(o))) {
+        *length = PyUnicode_GET_LENGTH(o);
+        return PyUnicode_AsUTF8(o);
+    } else {
+        PyUnicode_AsASCIIString(o);
+        return NULL;
+    }
+#else
+    return PyUnicode_AsUTF8AndSize(o, length);
+#endif
+}
+#endif
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+    if (
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+            __Pyx_sys_getdefaultencoding_not_ascii &&
+#endif
+            PyUnicode_Check(o)) {
+        return __Pyx_PyUnicode_AsStringAndSize(o, length);
+    } else
+#endif
+#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
+    if (PyByteArray_Check(o)) {
+        *length = PyByteArray_GET_SIZE(o);
+        return PyByteArray_AS_STRING(o);
+    } else
+#endif
+    {
+        char* result;
+        int r = PyBytes_AsStringAndSize(o, &result, length);
+        if (unlikely(r < 0)) {
+            return NULL;
+        } else {
+            return result;
+        }
+    }
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
+   int is_true = x == Py_True;
+   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
+   else return PyObject_IsTrue(x);
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
+    int retval;
+    if (unlikely(!x)) return -1;
+    retval = __Pyx_PyObject_IsTrue(x);
+    Py_DECREF(x);
+    return retval;
+}
+static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
+#if PY_MAJOR_VERSION >= 3
+    if (PyLong_Check(result)) {
+        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
+                "__int__ returned non-int (type %.200s).  "
+                "The ability to return an instance of a strict subclass of int "
+                "is deprecated, and may be removed in a future version of Python.",
+                Py_TYPE(result)->tp_name)) {
+            Py_DECREF(result);
+            return NULL;
+        }
+        return result;
+    }
+#endif
+    PyErr_Format(PyExc_TypeError,
+                 "__%.4s__ returned non-%.4s (type %.200s)",
+                 type_name, type_name, Py_TYPE(result)->tp_name);
+    Py_DECREF(result);
+    return NULL;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
+#if CYTHON_USE_TYPE_SLOTS
+  PyNumberMethods *m;
+#endif
+  const char *name = NULL;
+  PyObject *res = NULL;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_Check(x) || PyLong_Check(x)))
+#else
+  if (likely(PyLong_Check(x)))
+#endif
+    return __Pyx_NewRef(x);
+#if CYTHON_USE_TYPE_SLOTS
+  m = Py_TYPE(x)->tp_as_number;
+  #if PY_MAJOR_VERSION < 3
+  if (m && m->nb_int) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  else if (m && m->nb_long) {
+    name = "long";
+    res = m->nb_long(x);
+  }
+  #else
+  if (likely(m && m->nb_int)) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  #endif
+#else
+  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
+    res = PyNumber_Int(x);
+  }
+#endif
+  if (likely(res)) {
+#if PY_MAJOR_VERSION < 3
+    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
+#else
+    if (unlikely(!PyLong_CheckExact(res))) {
+#endif
+        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
+    }
+  }
+  else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_TypeError,
+                    "an integer is required");
+  }
+  return res;
+}
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
+  Py_ssize_t ival;
+  PyObject *x;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_CheckExact(b))) {
+    if (sizeof(Py_ssize_t) >= sizeof(long))
+        return PyInt_AS_LONG(b);
+    else
+        return PyInt_AsSsize_t(b);
+  }
+#endif
+  if (likely(PyLong_CheckExact(b))) {
+    #if CYTHON_USE_PYLONG_INTERNALS
+    const digit* digits = ((PyLongObject*)b)->ob_digit;
+    const Py_ssize_t size = Py_SIZE(b);
+    if (likely(__Pyx_sst_abs(size) <= 1)) {
+        ival = likely(size) ? digits[0] : 0;
+        if (size == -1) ival = -ival;
+        return ival;
+    } else {
+      switch (size) {
+         case 2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+      }
+    }
+    #endif
+    return PyLong_AsSsize_t(b);
+  }
+  x = PyNumber_Index(b);
+  if (!x) return -1;
+  ival = PyInt_AsSsize_t(x);
+  Py_DECREF(x);
+  return ival;
+}
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
+  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
+    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
+#if PY_MAJOR_VERSION < 3
+  } else if (likely(PyInt_CheckExact(o))) {
+    return PyInt_AS_LONG(o);
+#endif
+  } else {
+    Py_ssize_t ival;
+    PyObject *x;
+    x = PyNumber_Index(o);
+    if (!x) return -1;
+    ival = PyInt_AsLong(x);
+    Py_DECREF(x);
+    return ival;
+  }
+}
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
+  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
+}
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
+    return PyInt_FromSize_t(ival);
+}
+
+
+#endif /* Py_PYTHON_H */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/cy_cpp_filt.sh
@@ -0,0 +1,12 @@
+#!bash
+set -ex
+file=$1
+mingw=
+if test x$mingw = x1 ; then #only MINGW, linux/mac does nothing 
+  if ! grep -q '_hypot' $file ; then #only transform once
+    echo '#define _hypot hypot' > $file.tmp
+    cat $file >> $file.tmp
+    sed 's/EXTERN_C DL_IMPORT(\([^)]*\))/EXTERN_C \1/' $file.tmp > $file
+    rm $file.tmp
+  fi
+fi
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/graphicsPrimitives.cpp
@@ -0,0 +1,35077 @@
+/* Generated by Cython 0.29.36 */
+
+#ifndef PY_SSIZE_T_CLEAN
+#define PY_SSIZE_T_CLEAN
+#endif /* PY_SSIZE_T_CLEAN */
+#include "Python.h"
+#ifndef Py_PYTHON_H
+    #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
+    #error Cython requires Python 2.6+ or Python 3.3+.
+#else
+#define CYTHON_ABI "0_29_36"
+#define CYTHON_HEX_VERSION 0x001D24F0
+#define CYTHON_FUTURE_DIVISION 0
+#include <stddef.h>
+#ifndef offsetof
+  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
+#endif
+#if !defined(WIN32) && !defined(MS_WINDOWS)
+  #ifndef __stdcall
+    #define __stdcall
+  #endif
+  #ifndef __cdecl
+    #define __cdecl
+  #endif
+  #ifndef __fastcall
+    #define __fastcall
+  #endif
+#endif
+#ifndef DL_IMPORT
+  #define DL_IMPORT(t) t
+#endif
+#ifndef DL_EXPORT
+  #define DL_EXPORT(t) t
+#endif
+#define __PYX_COMMA ,
+#ifndef HAVE_LONG_LONG
+  #if PY_VERSION_HEX >= 0x02070000
+    #define HAVE_LONG_LONG
+  #endif
+#endif
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+#ifndef Py_HUGE_VAL
+  #define Py_HUGE_VAL HUGE_VAL
+#endif
+#ifdef PYPY_VERSION
+  #define CYTHON_COMPILING_IN_PYPY 1
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #undef CYTHON_USE_TYPE_SLOTS
+  #define CYTHON_USE_TYPE_SLOTS 0
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #if PY_VERSION_HEX < 0x03050000
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_INTERNALS
+  #define CYTHON_USE_UNICODE_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #undef CYTHON_AVOID_BORROWED_REFS
+  #define CYTHON_AVOID_BORROWED_REFS 1
+  #undef CYTHON_ASSUME_SAFE_MACROS
+  #define CYTHON_ASSUME_SAFE_MACROS 0
+  #undef CYTHON_UNPACK_METHODS
+  #define CYTHON_UNPACK_METHODS 0
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #if PY_VERSION_HEX < 0x03090000
+    #undef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PYSTON_VERSION)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 1
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #undef CYTHON_USE_ASYNC_SLOTS
+  #define CYTHON_USE_ASYNC_SLOTS 0
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #undef CYTHON_PEP489_MULTI_PHASE_INIT
+  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE 0
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PY_NOGIL)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 1
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #ifndef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE 1
+  #endif
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+#else
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 1
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYTYPE_LOOKUP
+    #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
+    #define CYTHON_USE_PYTYPE_LOOKUP 1
+  #endif
+  #if PY_MAJOR_VERSION < 3
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYLONG_INTERNALS
+    #define CYTHON_USE_PYLONG_INTERNALS 0
+  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
+    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
+  #endif
+  #ifndef CYTHON_USE_PYLIST_INTERNALS
+    #define CYTHON_USE_PYLIST_INTERNALS 1
+  #endif
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
+    #undef CYTHON_USE_UNICODE_WRITER
+    #define CYTHON_USE_UNICODE_WRITER 0
+  #elif !defined(CYTHON_USE_UNICODE_WRITER)
+    #define CYTHON_USE_UNICODE_WRITER 1
+  #endif
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_FAST_THREAD_STATE
+    #define CYTHON_FAST_THREAD_STATE 0
+  #elif !defined(CYTHON_FAST_THREAD_STATE)
+    #define CYTHON_FAST_THREAD_STATE 1
+  #endif
+  #ifndef CYTHON_FAST_PYCALL
+    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
+  #endif
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
+  #endif
+  #ifndef CYTHON_USE_DICT_VERSIONS
+    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_USE_EXC_INFO_STACK
+    #define CYTHON_USE_EXC_INFO_STACK 0
+  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
+    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
+  #endif
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
+  #endif
+#endif
+#if !defined(CYTHON_FAST_PYCCALL)
+#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
+#endif
+#if CYTHON_USE_PYLONG_INTERNALS
+  #if PY_MAJOR_VERSION < 3
+    #include "longintrepr.h"
+  #endif
+  #undef SHIFT
+  #undef BASE
+  #undef MASK
+  #ifdef SIZEOF_VOID_P
+    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
+  #endif
+#endif
+#ifndef __has_attribute
+  #define __has_attribute(x) 0
+#endif
+#ifndef __has_cpp_attribute
+  #define __has_cpp_attribute(x) 0
+#endif
+#ifndef CYTHON_RESTRICT
+  #if defined(__GNUC__)
+    #define CYTHON_RESTRICT __restrict__
+  #elif defined(_MSC_VER) && _MSC_VER >= 1400
+    #define CYTHON_RESTRICT __restrict
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_RESTRICT restrict
+  #else
+    #define CYTHON_RESTRICT
+  #endif
+#endif
+#ifndef CYTHON_UNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define CYTHON_UNUSED __attribute__ ((__unused__))
+#   else
+#     define CYTHON_UNUSED
+#   endif
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
+#   define CYTHON_UNUSED __attribute__ ((__unused__))
+# else
+#   define CYTHON_UNUSED
+# endif
+#endif
+#ifndef CYTHON_MAYBE_UNUSED_VAR
+#  if defined(__cplusplus)
+     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
+#  else
+#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
+#  endif
+#endif
+#ifndef CYTHON_NCP_UNUSED
+# if CYTHON_COMPILING_IN_CPYTHON
+#  define CYTHON_NCP_UNUSED
+# else
+#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
+# endif
+#endif
+#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
+#ifdef _MSC_VER
+    #ifndef _MSC_STDINT_H_
+        #if _MSC_VER < 1300
+           typedef unsigned char     uint8_t;
+           typedef unsigned int      uint32_t;
+        #else
+           typedef unsigned __int8   uint8_t;
+           typedef unsigned __int32  uint32_t;
+        #endif
+    #endif
+#else
+   #include <stdint.h>
+#endif
+#ifndef CYTHON_FALLTHROUGH
+  #if defined(__cplusplus) && __cplusplus >= 201103L
+    #if __has_cpp_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH [[fallthrough]]
+    #elif __has_cpp_attribute(clang::fallthrough)
+      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
+    #elif __has_cpp_attribute(gnu::fallthrough)
+      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
+    #endif
+  #endif
+  #ifndef CYTHON_FALLTHROUGH
+    #if __has_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
+    #else
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+  #if defined(__clang__ ) && defined(__apple_build_version__)
+    #if __apple_build_version__ < 7000000
+      #undef  CYTHON_FALLTHROUGH
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+#endif
+
+#ifndef CYTHON_INLINE
+  #if defined(__clang__)
+    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
+  #elif defined(__GNUC__)
+    #define CYTHON_INLINE __inline__
+  #elif defined(_MSC_VER)
+    #define CYTHON_INLINE __inline
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_INLINE inline
+  #else
+    #define CYTHON_INLINE
+  #endif
+#endif
+
+#define __PYX_BUILD_PY_SSIZE_T "n"
+#define CYTHON_FORMAT_SSIZE_T "z"
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+  #define __Pyx_DefaultClassType PyClass_Type
+#else
+  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_DefaultClassType PyType_Type
+#if PY_VERSION_HEX >= 0x030B00A1
+    static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
+                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+                                                    PyObject *fv, PyObject *cell, PyObject* fn,
+                                                    PyObject *name, int fline, PyObject *lnos) {
+        PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
+        PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
+        const char *fn_cstr=NULL;
+        const char *name_cstr=NULL;
+        PyCodeObject* co=NULL;
+        PyObject *type, *value, *traceback;
+        PyErr_Fetch(&type, &value, &traceback);
+        if (!(kwds=PyDict_New())) goto end;
+        if (!(argcount=PyLong_FromLong(a))) goto end;
+        if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
+        if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
+        if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
+        if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
+        if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
+        if (!(nlocals=PyLong_FromLong(l))) goto end;
+        if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
+        if (!(stacksize=PyLong_FromLong(s))) goto end;
+        if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
+        if (!(flags=PyLong_FromLong(f))) goto end;
+        if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
+        if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
+        if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
+        if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
+        if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
+        if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
+        if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
+        Py_XDECREF((PyObject*)co);
+        co = (PyCodeObject*)call_result;
+        call_result = NULL;
+        if (0) {
+            cleanup_code_too:
+            Py_XDECREF((PyObject*)co);
+            co = NULL;
+        }
+        end:
+        Py_XDECREF(kwds);
+        Py_XDECREF(argcount);
+        Py_XDECREF(posonlyargcount);
+        Py_XDECREF(kwonlyargcount);
+        Py_XDECREF(nlocals);
+        Py_XDECREF(stacksize);
+        Py_XDECREF(replace);
+        Py_XDECREF(call_result);
+        Py_XDECREF(empty);
+        if (type) {
+            PyErr_Restore(type, value, traceback);
+        }
+        return co;
+    }
+#else
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#endif
+  #define __Pyx_DefaultClassType PyType_Type
+#endif
+#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
+#else
+  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
+#endif
+#ifndef Py_TPFLAGS_CHECKTYPES
+  #define Py_TPFLAGS_CHECKTYPES 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_INDEX
+  #define Py_TPFLAGS_HAVE_INDEX 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
+  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_FINALIZE
+  #define Py_TPFLAGS_HAVE_FINALIZE 0
+#endif
+#ifndef METH_STACKLESS
+  #define METH_STACKLESS 0
+#endif
+#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
+  #ifndef METH_FASTCALL
+     #define METH_FASTCALL 0x80
+  #endif
+  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
+  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
+                                                          Py_ssize_t nargs, PyObject *kwnames);
+#else
+  #define __Pyx_PyCFunctionFast _PyCFunctionFast
+  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
+#endif
+#if CYTHON_FAST_PYCCALL
+#define __Pyx_PyFastCFunction_Check(func)\
+    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
+#else
+#define __Pyx_PyFastCFunction_Check(func) 0
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
+  #define PyObject_Malloc(s)   PyMem_Malloc(s)
+  #define PyObject_Free(p)     PyMem_Free(p)
+  #define PyObject_Realloc(p)  PyMem_Realloc(p)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
+  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
+  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
+  #define PyMem_RawFree(p)             PyMem_Free(p)
+#endif
+#if CYTHON_COMPILING_IN_PYSTON
+  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
+#else
+  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
+#endif
+#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x03060000
+  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
+#elif PY_VERSION_HEX >= 0x03000000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#else
+  #define __Pyx_PyThreadState_Current _PyThreadState_Current
+#endif
+#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
+#include "pythread.h"
+#define Py_tss_NEEDS_INIT 0
+typedef int Py_tss_t;
+static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
+  *key = PyThread_create_key();
+  return 0;
+}
+static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
+  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
+  *key = Py_tss_NEEDS_INIT;
+  return key;
+}
+static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
+  PyObject_Free(key);
+}
+static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
+  return *key != Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
+  PyThread_delete_key(*key);
+  *key = Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
+  return PyThread_set_key_value(*key, value);
+}
+static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
+  return PyThread_get_key_value(*key);
+}
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
+#else
+#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
+#endif
+#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
+#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
+#else
+#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
+#endif
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
+  #define CYTHON_PEP393_ENABLED 1
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_READY(op)       (0)
+  #else
+    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
+                                                0 : _PyUnicode_Ready((PyObject *)(op)))
+  #endif
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
+  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
+  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
+  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
+  #else
+    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
+    #else
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+    #endif
+  #endif
+#else
+  #define CYTHON_PEP393_ENABLED 0
+  #define PyUnicode_1BYTE_KIND  1
+  #define PyUnicode_2BYTE_KIND  2
+  #define PyUnicode_4BYTE_KIND  4
+  #define __Pyx_PyUnicode_READY(op)       (0)
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
+  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
+  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
+  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
+  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
+#endif
+#if CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+#else
+  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
+      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
+  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
+  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
+  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
+#endif
+#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
+#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
+#else
+  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
+#endif
+#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
+  #define PyObject_ASCII(o)            PyObject_Repr(o)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBaseString_Type            PyUnicode_Type
+  #define PyStringObject               PyUnicodeObject
+  #define PyString_Type                PyUnicode_Type
+  #define PyString_Check               PyUnicode_Check
+  #define PyString_CheckExact          PyUnicode_CheckExact
+#ifndef PyObject_Unicode
+  #define PyObject_Unicode             PyObject_Str
+#endif
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
+  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
+#else
+  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
+  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
+#endif
+#ifndef PySet_CheckExact
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
+#endif
+#if PY_VERSION_HEX >= 0x030900A4
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
+#else
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
+#endif
+#if CYTHON_ASSUME_SAFE_MACROS
+  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
+#else
+  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyIntObject                  PyLongObject
+  #define PyInt_Type                   PyLong_Type
+  #define PyInt_Check(op)              PyLong_Check(op)
+  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
+  #define PyInt_FromString             PyLong_FromString
+  #define PyInt_FromUnicode            PyLong_FromUnicode
+  #define PyInt_FromLong               PyLong_FromLong
+  #define PyInt_FromSize_t             PyLong_FromSize_t
+  #define PyInt_FromSsize_t            PyLong_FromSsize_t
+  #define PyInt_AsLong                 PyLong_AsLong
+  #define PyInt_AS_LONG                PyLong_AS_LONG
+  #define PyInt_AsSsize_t              PyLong_AsSsize_t
+  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
+  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+  #define PyNumber_Int                 PyNumber_Long
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBoolObject                 PyLongObject
+#endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
+#if PY_VERSION_HEX < 0x030200A4
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
+#endif
+#if CYTHON_USE_ASYNC_SLOTS
+  #if PY_VERSION_HEX >= 0x030500B1
+    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
+    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
+  #else
+    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
+  #endif
+#else
+  #define __Pyx_PyType_AsAsync(obj) NULL
+#endif
+#ifndef __Pyx_PyAsyncMethodsStruct
+    typedef struct {
+        unaryfunc am_await;
+        unaryfunc am_aiter;
+        unaryfunc am_anext;
+    } __Pyx_PyAsyncMethodsStruct;
+#endif
+
+#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
+  #if !defined(_USE_MATH_DEFINES)
+    #define _USE_MATH_DEFINES
+  #endif
+#endif
+#include <math.h>
+#ifdef NAN
+#define __PYX_NAN() ((float) NAN)
+#else
+static CYTHON_INLINE float __PYX_NAN() {
+  float value;
+  memset(&value, 0xFF, sizeof(value));
+  return value;
+}
+#endif
+#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
+#define __Pyx_truncl trunc
+#else
+#define __Pyx_truncl truncl
+#endif
+
+#define __PYX_MARK_ERR_POS(f_index, lineno) \
+    { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
+#define __PYX_ERR(f_index, lineno, Ln_error) \
+    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
+
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
+#endif
+
+#define __PYX_HAVE__neuron__rxd__geometry3d__graphicsPrimitives
+#define __PYX_HAVE_API__neuron__rxd__geometry3d__graphicsPrimitives
+/* Early includes */
+#include "math.h"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
+
+#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
+#define CYTHON_WITHOUT_ASSERTIONS
+#endif
+
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
+                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
+
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
+#define __PYX_DEFAULT_STRING_ENCODING ""
+#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#define __Pyx_uchar_cast(c) ((unsigned char)c)
+#define __Pyx_long_cast(x) ((long)x)
+#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
+    (sizeof(type) < sizeof(Py_ssize_t))  ||\
+    (sizeof(type) > sizeof(Py_ssize_t) &&\
+          likely(v < (type)PY_SSIZE_T_MAX ||\
+                 v == (type)PY_SSIZE_T_MAX)  &&\
+          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
+                                v == (type)PY_SSIZE_T_MIN)))  ||\
+    (sizeof(type) == sizeof(Py_ssize_t) &&\
+          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
+                               v == (type)PY_SSIZE_T_MAX)))  )
+static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
+    return (size_t) i < (size_t) limit;
+}
+#if defined (__cplusplus) && __cplusplus >= 201103L
+    #include <cstdlib>
+    #define __Pyx_sst_abs(value) std::abs(value)
+#elif SIZEOF_INT >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) abs(value)
+#elif SIZEOF_LONG >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) labs(value)
+#elif defined (_MSC_VER)
+    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
+#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define __Pyx_sst_abs(value) llabs(value)
+#elif defined (__GNUC__)
+    #define __Pyx_sst_abs(value) __builtin_llabs(value)
+#else
+    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
+#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
+#define __Pyx_PyBytes_FromString        PyBytes_FromString
+#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
+#if PY_MAJOR_VERSION < 3
+    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#else
+    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
+#endif
+#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
+    const Py_UNICODE *u_end = u;
+    while (*u_end++) ;
+    return (size_t)(u_end - u - 1);
+}
+#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
+#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
+#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
+#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
+#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
+#define __Pyx_PySequence_Tuple(obj)\
+    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
+#if CYTHON_ASSUME_SAFE_MACROS
+#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
+#else
+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
+#endif
+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
+#else
+#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
+#endif
+#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+static int __Pyx_sys_getdefaultencoding_not_ascii;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    PyObject* ascii_chars_u = NULL;
+    PyObject* ascii_chars_b = NULL;
+    const char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    if (strcmp(default_encoding_c, "ascii") == 0) {
+        __Pyx_sys_getdefaultencoding_not_ascii = 0;
+    } else {
+        char ascii_chars[128];
+        int c;
+        for (c = 0; c < 128; c++) {
+            ascii_chars[c] = c;
+        }
+        __Pyx_sys_getdefaultencoding_not_ascii = 1;
+        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
+        if (!ascii_chars_u) goto bad;
+        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
+        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
+            PyErr_Format(
+                PyExc_ValueError,
+                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
+                default_encoding_c);
+            goto bad;
+        }
+        Py_DECREF(ascii_chars_u);
+        Py_DECREF(ascii_chars_b);
+    }
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    Py_XDECREF(ascii_chars_u);
+    Py_XDECREF(ascii_chars_b);
+    return -1;
+}
+#endif
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
+#else
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+static char* __PYX_DEFAULT_STRING_ENCODING;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
+    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
+    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    return -1;
+}
+#endif
+#endif
+
+
+/* Test for GCC > 2.95 */
+#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
+  #define likely(x)   __builtin_expect(!!(x), 1)
+  #define unlikely(x) __builtin_expect(!!(x), 0)
+#else /* !__GNUC__ or GCC < 2.95 */
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
+#endif /* __GNUC__ */
+static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
+
+static PyObject *__pyx_m = NULL;
+static PyObject *__pyx_d;
+static PyObject *__pyx_b;
+static PyObject *__pyx_cython_runtime = NULL;
+static PyObject *__pyx_empty_tuple;
+static PyObject *__pyx_empty_bytes;
+static PyObject *__pyx_empty_unicode;
+static int __pyx_lineno;
+static int __pyx_clineno = 0;
+static const char * __pyx_cfilenm= __FILE__;
+static const char *__pyx_filename;
+
+
+static const char *__pyx_f[] = {
+  "graphicsPrimitives.pyx",
+  "stringsource",
+};
+
+/*--- Type declarations ---*/
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":28
+ * #    return a if a < b else b
+ * 
+ * cdef class Complement:             # <<<<<<<<<<<<<<
+ *     def __init__(self, obj):
+ *         self.obj = obj
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement {
+  PyObject_HEAD
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":41
+ * 
+ * 
+ * cdef class Union:             # <<<<<<<<<<<<<<
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_vtab;
+  PyObject *objects;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":63
+ * 
+ * 
+ * cdef class Intersection:             # <<<<<<<<<<<<<<
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_vtab;
+  PyObject *objects;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":86
+ * 
+ * 
+ * cdef class Plane:             # <<<<<<<<<<<<<<
+ *     cdef double d, mul, nx, ny, nz, px, py, pz
+ *     def __init__(self, double px, double py, double pz, double nx, double ny, double nz):
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_vtab;
+  double d;
+  double mul;
+  double nx;
+  double ny;
+  double nz;
+  double px;
+  double py;
+  double pz;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":108
+ * 
+ * 
+ * cdef class Sphere:             # <<<<<<<<<<<<<<
+ *     cdef double _x, _y, _z, _r
+ *     cdef _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_vtab;
+  double _x;
+  double _y;
+  double _z;
+  double _r;
+  PyObject *_xlo;
+  PyObject *_xhi;
+  PyObject *_ylo;
+  PyObject *_yhi;
+  PyObject *_zlo;
+  PyObject *_zhi;
+  PyObject *clips;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":168
+ * 
+ * 
+ * cdef class Cylinder:             # <<<<<<<<<<<<<<
+ *     cdef double cx, cy, cz, r, rr, axisx, axisy, axisz, x0, y0, z0, x1, y1, z1, h
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_vtab;
+  double cx;
+  double cy;
+  double cz;
+  double r;
+  double rr;
+  double axisx;
+  double axisy;
+  double axisz;
+  double x0;
+  double y0;
+  double z0;
+  double x1;
+  double y1;
+  double z1;
+  double h;
+  double length;
+  double _xlo;
+  double _xhi;
+  double _ylo;
+  double _yhi;
+  double _zlo;
+  double _zhi;
+  PyObject *neighbors;
+  PyObject *clips;
+  PyObject *neighbor_regions;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":314
+ * 
+ * 
+ * cdef class SphereCone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, ha, hb, hra, hrb
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_vtab;
+  double x0;
+  double y0;
+  double z0;
+  double r0;
+  double x1;
+  double y1;
+  double z1;
+  double r1;
+  double rra;
+  double rrb;
+  double axisx;
+  double axisy;
+  double axisz;
+  double conelength;
+  double side1;
+  double side2;
+  double length;
+  double _xlo;
+  double _xhi;
+  double _ylo;
+  double _yhi;
+  double _zlo;
+  double _zhi;
+  double ha;
+  double hb;
+  double hra;
+  double hrb;
+  PyObject *clips;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":419
+ * 
+ * 
+ * cdef class Cone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, cx, cy, cz, h
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_vtab;
+  double x0;
+  double y0;
+  double z0;
+  double r0;
+  double x1;
+  double y1;
+  double z1;
+  double r1;
+  double rra;
+  double rrb;
+  double axisx;
+  double axisy;
+  double axisz;
+  double conelength;
+  double side1;
+  double side2;
+  double length;
+  double _xlo;
+  double _xhi;
+  double _ylo;
+  double _yhi;
+  double _zlo;
+  double _zhi;
+  double cx;
+  double cy;
+  double cz;
+  double h;
+  PyObject *neighbors;
+  PyObject *clips;
+  PyObject *neighbor_regions;
+  int reversed;
+};
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":604
+ * 
+ * 
+ * cdef class SkewCone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, sx, sy, sz, planed
+ */
+struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone {
+  PyObject_HEAD
+  struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_vtab;
+  double x0;
+  double y0;
+  double z0;
+  double r0;
+  double x1;
+  double y1;
+  double z1;
+  double r1;
+  double rra;
+  double rrb;
+  double axisx;
+  double axisy;
+  double axisz;
+  double conelength;
+  double side1;
+  double side2;
+  double length;
+  double _xlo;
+  double _xhi;
+  double _ylo;
+  double _yhi;
+  double _zlo;
+  double _zhi;
+  double sx;
+  double sy;
+  double sz;
+  double planed;
+};
+
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":41
+ * 
+ * 
+ * cdef class Union:             # <<<<<<<<<<<<<<
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
+  PyObject *(*starting_points)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":63
+ * 
+ * 
+ * cdef class Intersection:             # <<<<<<<<<<<<<<
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
+  PyObject *(*starting_points)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":86
+ * 
+ * 
+ * cdef class Plane:             # <<<<<<<<<<<<<<
+ *     cdef double d, mul, nx, ny, nz, px, py, pz
+ *     def __init__(self, double px, double py, double pz, double nx, double ny, double nz):
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *, double, double, double, int __pyx_skip_dispatch);
+  PyObject *(*starting_points)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":108
+ * 
+ * 
+ * cdef class Sphere:             # <<<<<<<<<<<<<<
+ *     cdef double _x, _y, _z, _r
+ *     cdef _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_x)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_y)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_z)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":168
+ * 
+ * 
+ * cdef class Cylinder:             # <<<<<<<<<<<<<<
+ *     cdef double cx, cy, cz, r, rr, axisx, axisy, axisz, x0, y0, z0, x1, y1, z1, h
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder {
+  PyObject *(*within_core)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, double, int __pyx_skip_dispatch);
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_x)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_y)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_z)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":314
+ * 
+ * 
+ * cdef class SphereCone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, ha, hb, hra, hrb
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_x)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_y)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_z)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":419
+ * 
+ * 
+ * cdef class Cone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, cx, cy, cz, h
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone {
+  PyObject *(*within_core)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, double, int __pyx_skip_dispatch);
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_x)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_y)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_z)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":604
+ * 
+ * 
+ * cdef class SkewCone:             # <<<<<<<<<<<<<<
+ *     cdef double x0, y0, z0, r0, x1, y1, z1, r1, rra, rrb, axisx, axisy, axisz, conelength, side1, side2
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, sx, sy, sz, planed
+ */
+
+struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone {
+  double (*distance)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_x)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_y)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch);
+  int (*overlaps_z)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch);
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+
+/* --- Runtime support code (head) --- */
+/* Refnanny.proto */
+#ifndef CYTHON_REFNANNY
+  #define CYTHON_REFNANNY 0
+#endif
+#if CYTHON_REFNANNY
+  typedef struct {
+    void (*INCREF)(void*, PyObject*, int);
+    void (*DECREF)(void*, PyObject*, int);
+    void (*GOTREF)(void*, PyObject*, int);
+    void (*GIVEREF)(void*, PyObject*, int);
+    void* (*SetupContext)(const char*, int, const char*);
+    void (*FinishContext)(void**);
+  } __Pyx_RefNannyAPIStruct;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+#ifdef WITH_THREAD
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          if (acquire_gil) {\
+              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+              PyGILState_Release(__pyx_gilstate_save);\
+          } else {\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+          }
+#else
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+#endif
+  #define __Pyx_RefNannyFinishContext()\
+          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
+#else
+  #define __Pyx_RefNannyDeclarations
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)
+  #define __Pyx_RefNannyFinishContext()
+  #define __Pyx_INCREF(r) Py_INCREF(r)
+  #define __Pyx_DECREF(r) Py_DECREF(r)
+  #define __Pyx_GOTREF(r)
+  #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
+  #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
+#endif
+#define __Pyx_XDECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_XDECREF(tmp);\
+    } while (0)
+#define __Pyx_DECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_DECREF(tmp);\
+    } while (0)
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
+
+/* PyObjectGetAttrStr.proto */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
+#endif
+
+/* GetBuiltinName.proto */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+
+/* RaiseDoubleKeywords.proto */
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
+
+/* ParseKeywords.proto */
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
+    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
+    const char* function_name);
+
+/* RaiseArgTupleInvalid.proto */
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
+/* PyObjectSetAttrStr.proto */
+#if CYTHON_USE_TYPE_SLOTS
+#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
+#else
+#define __Pyx_PyObject_DelAttrStr(o,n)   PyObject_DelAttr(o,n)
+#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
+#endif
+
+/* PyFunctionFastCall.proto */
+#if CYTHON_FAST_PYCALL
+#define __Pyx_PyFunction_FastCall(func, args, nargs)\
+    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
+#else
+#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
+#endif
+#define __Pyx_BUILD_ASSERT_EXPR(cond)\
+    (sizeof(char [1 - 2*!(cond)]) - 1)
+#ifndef Py_MEMBER_SIZE
+#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
+#endif
+#if CYTHON_FAST_PYCALL
+  static size_t __pyx_pyframe_localsplus_offset = 0;
+  #include "frameobject.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+  #define __Pxy_PyFrame_Initialize_Offsets()\
+    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
+     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
+  #define __Pyx_PyFrame_GetLocalsplus(frame)\
+    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
+#endif // CYTHON_FAST_PYCALL
+#endif
+
+/* PyCFunctionFastCall.proto */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
+#else
+#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
+#endif
+
+/* PyObjectCall.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
+#else
+#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
+#endif
+
+/* PyErrExceptionMatches.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
+#else
+#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
+#endif
+
+/* PyThreadStateGet.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
+#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
+#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
+#else
+#define __Pyx_PyThreadState_declare
+#define __Pyx_PyThreadState_assign
+#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
+#endif
+
+/* PyErrFetchRestore.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
+#else
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#endif
+#else
+#define __Pyx_PyErr_Clear() PyErr_Clear()
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
+#endif
+
+/* GetAttr.proto */
+static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
+
+/* GetAttr3.proto */
+static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
+
+/* PyDictVersioning.proto */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
+#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
+    (version_var) = __PYX_GET_DICT_VERSION(dict);\
+    (cache_var) = (value);
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
+        (VAR) = __pyx_dict_cached_value;\
+    } else {\
+        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
+        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
+    }\
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
+#else
+#define __PYX_GET_DICT_VERSION(dict)  (0)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
+#endif
+
+/* GetModuleGlobalName.proto */
+#if CYTHON_USE_DICT_VERSIONS
+#define __Pyx_GetModuleGlobalName(var, name)  do {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
+        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
+        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
+    PY_UINT64_T __pyx_dict_version;\
+    PyObject *__pyx_dict_cached_value;\
+    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
+#else
+#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
+#endif
+
+/* ArgTypeTest.proto */
+#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
+    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
+        __Pyx__ArgTypeTest(obj, type, name, exact))
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
+
+/* ListCompAppend.proto */
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len)) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        __Pyx_SET_SIZE(list, len + 1);
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* WriteUnraisableException.proto */
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+                                  int lineno, const char *filename,
+                                  int full_traceback, int nogil);
+
+/* RaiseException.proto */
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
+
+/* PySequenceContains.proto */
+static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
+    int result = PySequence_Contains(seq, item);
+    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+/* Import.proto */
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
+
+/* ImportFrom.proto */
+static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
+
+/* PyObjectCall2Args.proto */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
+
+/* PyObjectCallMethO.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
+
+/* PyObjectCallOneArg.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+
+/* HasAttr.proto */
+static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
+
+/* GetItemInt.proto */
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
+    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
+               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+                                                     int is_list, int wraparound, int boundscheck);
+
+/* PyObject_GenericGetAttrNoDict.proto */
+#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
+#endif
+
+/* PyObject_GenericGetAttr.proto */
+#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
+#endif
+
+/* PyObjectGetAttrStrNoError.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
+
+/* SetupReduce.proto */
+static int __Pyx_setup_reduce(PyObject* type_obj);
+
+/* SetVTable.proto */
+static int __Pyx_SetVtable(PyObject *dict, void *vtable);
+
+/* CLineInTraceback.proto */
+#ifdef CYTHON_CLINE_IN_TRACEBACK
+#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
+#else
+static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
+#endif
+
+/* CodeObjectCache.proto */
+typedef struct {
+    PyCodeObject* code_object;
+    int code_line;
+} __Pyx_CodeObjectCacheEntry;
+struct __Pyx_CodeObjectCache {
+    int count;
+    int max_count;
+    __Pyx_CodeObjectCacheEntry* entries;
+};
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
+static PyCodeObject *__pyx_find_code_object(int code_line);
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+
+/* AddTraceback.proto */
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename);
+
+/* GCCDiagnostics.proto */
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
+#define __Pyx_HAS_GCC_DIAGNOSTIC
+#endif
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
+/* FastTypeChecks.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
+#else
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
+#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
+#endif
+#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
+
+/* CheckBinaryVersion.proto */
+static int __Pyx_check_binary_version(void);
+
+/* InitStrings.proto */
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
+
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch); /* proto*/
+
+/* Module declarations from 'cython' */
+
+/* Module declarations from 'neuron.rxd.geometry3d.graphicsPrimitives' */
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone = 0;
+static PyTypeObject *__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone = 0;
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Union__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Intersection__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Plane__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Sphere__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cylinder__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SphereCone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, PyObject *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SkewCone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, PyObject *); /*proto*/
+#define __Pyx_MODULE_NAME "neuron.rxd.geometry3d.graphicsPrimitives"
+extern int __pyx_module_is_main_neuron__rxd__geometry3d__graphicsPrimitives;
+int __pyx_module_is_main_neuron__rxd__geometry3d__graphicsPrimitives = 0;
+
+/* Implementation of 'neuron.rxd.geometry3d.graphicsPrimitives' */
+static PyObject *__pyx_builtin_sum;
+static const char __pyx_k_r[] = "r";
+static const char __pyx_k_x[] = "x";
+static const char __pyx_k_y[] = "y";
+static const char __pyx_k_z[] = "z";
+static const char __pyx_k_hi[] = "hi";
+static const char __pyx_k_lo[] = "lo";
+static const char __pyx_k_nx[] = "nx";
+static const char __pyx_k_ny[] = "ny";
+static const char __pyx_k_nz[] = "nz";
+static const char __pyx_k_px[] = "px";
+static const char __pyx_k_py[] = "py";
+static const char __pyx_k_pz[] = "pz";
+static const char __pyx_k_r0[] = "r0";
+static const char __pyx_k_r1[] = "r1";
+static const char __pyx_k_x0[] = "x0";
+static const char __pyx_k_x1[] = "x1";
+static const char __pyx_k_x2[] = "x2";
+static const char __pyx_k_xs[] = "xs";
+static const char __pyx_k_y0[] = "y0";
+static const char __pyx_k_y1[] = "y1";
+static const char __pyx_k_y2[] = "y2";
+static const char __pyx_k_ys[] = "ys";
+static const char __pyx_k_z0[] = "z0";
+static const char __pyx_k_z1[] = "z1";
+static const char __pyx_k_z2[] = "z2";
+static const char __pyx_k_zs[] = "zs";
+static const char __pyx_k_new[] = "__new__";
+static const char __pyx_k_obj[] = "obj";
+static const char __pyx_k_sum[] = "sum";
+static const char __pyx_k_Cone[] = "Cone";
+static const char __pyx_k_dict[] = "__dict__";
+static const char __pyx_k_main[] = "__main__";
+static const char __pyx_k_name[] = "__name__";
+static const char __pyx_k_test[] = "__test__";
+static const char __pyx_k_Plane[] = "Plane";
+static const char __pyx_k_Union[] = "Union";
+static const char __pyx_k_Sphere[] = "Sphere";
+static const char __pyx_k_bisect[] = "bisect";
+static const char __pyx_k_import[] = "__import__";
+static const char __pyx_k_pickle[] = "pickle";
+static const char __pyx_k_reduce[] = "__reduce__";
+static const char __pyx_k_update[] = "update";
+static const char __pyx_k_Union_r[] = "Union(%r)";
+static const char __pyx_k_objects[] = "objects";
+static const char __pyx_k_Cylinder[] = "Cylinder";
+static const char __pyx_k_SkewCone[] = "SkewCone";
+static const char __pyx_k_distance[] = "distance";
+static const char __pyx_k_getstate[] = "__getstate__";
+static const char __pyx_k_pyx_type[] = "__pyx_type";
+static const char __pyx_k_setstate[] = "__setstate__";
+static const char __pyx_k_neighbors[] = "neighbors";
+static const char __pyx_k_pyx_state[] = "__pyx_state";
+static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
+static const char __pyx_k_Complement[] = "Complement";
+static const char __pyx_k_SphereCone[] = "SphereCone";
+static const char __pyx_k_overlaps_x[] = "overlaps_x";
+static const char __pyx_k_overlaps_y[] = "overlaps_y";
+static const char __pyx_k_overlaps_z[] = "overlaps_z";
+static const char __pyx_k_primitives[] = "primitives";
+static const char __pyx_k_pyx_result[] = "__pyx_result";
+static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
+static const char __pyx_k_PickleError[] = "PickleError";
+static const char __pyx_k_bisect_left[] = "bisect_left";
+static const char __pyx_k_within_core[] = "within_core";
+static const char __pyx_k_Complement_r[] = "Complement(%r)";
+static const char __pyx_k_Intersection[] = "Intersection";
+static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
+static const char __pyx_k_stringsource[] = "stringsource";
+static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
+static const char __pyx_k_Intersection_r[] = "Intersection(%r)";
+static const char __pyx_k_Sphere_g_g_g_g[] = "Sphere(%g, %g, %g, %g)";
+static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
+static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
+static const char __pyx_k_starting_points[] = "starting_points";
+static const char __pyx_k_neighbor_regions[] = "neighbor_regions";
+static const char __pyx_k_Plane_g_g_g_g_g_g[] = "Plane(%g, %g, %g, %g, %g, %g)";
+static const char __pyx_k_pyx_unpickle_Cone[] = "__pyx_unpickle_Cone";
+static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
+static const char __pyx_k_pyx_unpickle_Plane[] = "__pyx_unpickle_Plane";
+static const char __pyx_k_pyx_unpickle_Union[] = "__pyx_unpickle_Union";
+static const char __pyx_k_pyx_unpickle_Sphere[] = "__pyx_unpickle_Sphere";
+static const char __pyx_k_Cone_g_g_g_g_g_g_g_g[] = "Cone(%g, %g, %g, %g, %g, %g, %g, %g)";
+static const char __pyx_k_pyx_unpickle_Cylinder[] = "__pyx_unpickle_Cylinder";
+static const char __pyx_k_pyx_unpickle_SkewCone[] = "__pyx_unpickle_SkewCone";
+static const char __pyx_k_Cylinder_g_g_g_g_g_g_g[] = "Cylinder(%g, %g, %g, %g, %g, %g, %g)";
+static const char __pyx_k_Sphere_g_g_g_g_clips_r[] = "Sphere(%g, %g, %g, %g; clips=%r)";
+static const char __pyx_k_pyx_unpickle_Complement[] = "__pyx_unpickle_Complement";
+static const char __pyx_k_pyx_unpickle_SphereCone[] = "__pyx_unpickle_SphereCone";
+static const char __pyx_k_pyx_unpickle_Intersection[] = "__pyx_unpickle_Intersection";
+static const char __pyx_k_SphereCone_g_g_g_g_g_g_g_g[] = "SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)";
+static const char __pyx_k_Cone_g_g_g_g_g_g_g_g_clips_r[] = "Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)";
+static const char __pyx_k_Cylinder_g_g_g_g_g_g_g_clips_r[] = "Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)";
+static const char __pyx_k_At_least_one_Cone_radius_must_be[] = "At least one Cone radius must be positive";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())";
+static const char __pyx_k_neuron_rxd_geometry3d_graphicsPr[] = "neuron.rxd.geometry3d.graphicsPrimitives";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_2[] = "Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_3[] = "Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_4[] = "Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_5[] = "Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_6[] = "Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_7[] = "Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))";
+static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_8[] = "Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))";
+static PyObject *__pyx_kp_s_At_least_one_Cone_radius_must_be;
+static PyObject *__pyx_n_s_Complement;
+static PyObject *__pyx_kp_s_Complement_r;
+static PyObject *__pyx_n_s_Cone;
+static PyObject *__pyx_kp_s_Cone_g_g_g_g_g_g_g_g;
+static PyObject *__pyx_kp_s_Cone_g_g_g_g_g_g_g_g_clips_r;
+static PyObject *__pyx_n_s_Cylinder;
+static PyObject *__pyx_kp_s_Cylinder_g_g_g_g_g_g_g;
+static PyObject *__pyx_kp_s_Cylinder_g_g_g_g_g_g_g_clips_r;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_6;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_7;
+static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_8;
+static PyObject *__pyx_n_s_Intersection;
+static PyObject *__pyx_kp_s_Intersection_r;
+static PyObject *__pyx_n_s_PickleError;
+static PyObject *__pyx_n_s_Plane;
+static PyObject *__pyx_kp_s_Plane_g_g_g_g_g_g;
+static PyObject *__pyx_n_s_SkewCone;
+static PyObject *__pyx_n_s_Sphere;
+static PyObject *__pyx_n_s_SphereCone;
+static PyObject *__pyx_kp_s_SphereCone_g_g_g_g_g_g_g_g;
+static PyObject *__pyx_kp_s_Sphere_g_g_g_g;
+static PyObject *__pyx_kp_s_Sphere_g_g_g_g_clips_r;
+static PyObject *__pyx_n_s_Union;
+static PyObject *__pyx_kp_s_Union_r;
+static PyObject *__pyx_n_s_bisect;
+static PyObject *__pyx_n_s_bisect_left;
+static PyObject *__pyx_n_s_cline_in_traceback;
+static PyObject *__pyx_n_s_dict;
+static PyObject *__pyx_n_s_distance;
+static PyObject *__pyx_n_s_getstate;
+static PyObject *__pyx_n_s_hi;
+static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_lo;
+static PyObject *__pyx_n_s_main;
+static PyObject *__pyx_n_s_name;
+static PyObject *__pyx_n_s_neighbor_regions;
+static PyObject *__pyx_n_s_neighbors;
+static PyObject *__pyx_n_s_neuron_rxd_geometry3d_graphicsPr;
+static PyObject *__pyx_n_s_new;
+static PyObject *__pyx_n_s_nx;
+static PyObject *__pyx_n_s_ny;
+static PyObject *__pyx_n_s_nz;
+static PyObject *__pyx_n_s_obj;
+static PyObject *__pyx_n_s_objects;
+static PyObject *__pyx_n_s_overlaps_x;
+static PyObject *__pyx_n_s_overlaps_y;
+static PyObject *__pyx_n_s_overlaps_z;
+static PyObject *__pyx_n_s_pickle;
+static PyObject *__pyx_n_s_primitives;
+static PyObject *__pyx_n_s_px;
+static PyObject *__pyx_n_s_py;
+static PyObject *__pyx_n_s_pyx_PickleError;
+static PyObject *__pyx_n_s_pyx_checksum;
+static PyObject *__pyx_n_s_pyx_result;
+static PyObject *__pyx_n_s_pyx_state;
+static PyObject *__pyx_n_s_pyx_type;
+static PyObject *__pyx_n_s_pyx_unpickle_Complement;
+static PyObject *__pyx_n_s_pyx_unpickle_Cone;
+static PyObject *__pyx_n_s_pyx_unpickle_Cylinder;
+static PyObject *__pyx_n_s_pyx_unpickle_Intersection;
+static PyObject *__pyx_n_s_pyx_unpickle_Plane;
+static PyObject *__pyx_n_s_pyx_unpickle_SkewCone;
+static PyObject *__pyx_n_s_pyx_unpickle_Sphere;
+static PyObject *__pyx_n_s_pyx_unpickle_SphereCone;
+static PyObject *__pyx_n_s_pyx_unpickle_Union;
+static PyObject *__pyx_n_s_pyx_vtable;
+static PyObject *__pyx_n_s_pz;
+static PyObject *__pyx_n_s_r;
+static PyObject *__pyx_n_s_r0;
+static PyObject *__pyx_n_s_r1;
+static PyObject *__pyx_n_s_reduce;
+static PyObject *__pyx_n_s_reduce_cython;
+static PyObject *__pyx_n_s_reduce_ex;
+static PyObject *__pyx_n_s_setstate;
+static PyObject *__pyx_n_s_setstate_cython;
+static PyObject *__pyx_n_s_starting_points;
+static PyObject *__pyx_kp_s_stringsource;
+static PyObject *__pyx_n_s_sum;
+static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_update;
+static PyObject *__pyx_n_s_within_core;
+static PyObject *__pyx_n_s_x;
+static PyObject *__pyx_n_s_x0;
+static PyObject *__pyx_n_s_x1;
+static PyObject *__pyx_n_s_x2;
+static PyObject *__pyx_n_s_xs;
+static PyObject *__pyx_n_s_y;
+static PyObject *__pyx_n_s_y0;
+static PyObject *__pyx_n_s_y1;
+static PyObject *__pyx_n_s_y2;
+static PyObject *__pyx_n_s_ys;
+static PyObject *__pyx_n_s_z;
+static PyObject *__pyx_n_s_z0;
+static PyObject *__pyx_n_s_z1;
+static PyObject *__pyx_n_s_z2;
+static PyObject *__pyx_n_s_zs;
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_obj); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_objects); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_objects); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, double __pyx_v_nx, double __pyx_v_ny, double __pyx_v_nz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives___get__(CYTHON_UNUSED struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, double __pyx_v_r); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_8overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_12overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_14set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v_clips); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_16get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_18__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_20__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_4get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_6set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_clips); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_8axis(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10set_neighbors(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_neighbors, PyObject *__pyx_v_neighbor_regions); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_12within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_14starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_16distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_18overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_20overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_22overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_24__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_26__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_2set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v_clips); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_4get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_6__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_8starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_12overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_14overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_16overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_18__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_20__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_4set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v_clips); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_6get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_8within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axis(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_12starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_14distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_16overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_18overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_20overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_22__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_24__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_get_clip(CYTHON_UNUSED struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1, double __pyx_v_x2, double __pyx_v_y2, double __pyx_v_z2); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_4starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_6distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_8overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_12overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_14__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_16__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_2__pyx_unpickle_Union(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4__pyx_unpickle_Intersection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6__pyx_unpickle_Plane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8__pyx_unpickle_Sphere(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10__pyx_unpickle_Cylinder(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12__pyx_unpickle_SphereCone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_14__pyx_unpickle_Cone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_16__pyx_unpickle_SkewCone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_int_691256;
+static PyObject *__pyx_int_30581986;
+static PyObject *__pyx_int_30850365;
+static PyObject *__pyx_int_31625445;
+static PyObject *__pyx_int_34679499;
+static PyObject *__pyx_int_39271848;
+static PyObject *__pyx_int_57420663;
+static PyObject *__pyx_int_92872098;
+static PyObject *__pyx_int_94399116;
+static PyObject *__pyx_int_96385534;
+static PyObject *__pyx_int_99548530;
+static PyObject *__pyx_int_106819078;
+static PyObject *__pyx_int_110911515;
+static PyObject *__pyx_int_153540018;
+static PyObject *__pyx_int_159808084;
+static PyObject *__pyx_int_187000701;
+static PyObject *__pyx_int_193865462;
+static PyObject *__pyx_int_222419149;
+static PyObject *__pyx_int_228825662;
+static PyObject *__pyx_int_238750788;
+static PyObject *__pyx_int_238900401;
+static PyObject *__pyx_int_239915778;
+static PyObject *__pyx_int_241535739;
+static PyObject *__pyx_int_252673849;
+static PyObject *__pyx_tuple_;
+static PyObject *__pyx_tuple__2;
+static PyObject *__pyx_tuple__3;
+static PyObject *__pyx_tuple__4;
+static PyObject *__pyx_tuple__5;
+static PyObject *__pyx_tuple__6;
+static PyObject *__pyx_tuple__7;
+static PyObject *__pyx_tuple__8;
+static PyObject *__pyx_tuple__9;
+static PyObject *__pyx_tuple__10;
+static PyObject *__pyx_tuple__12;
+static PyObject *__pyx_tuple__14;
+static PyObject *__pyx_tuple__16;
+static PyObject *__pyx_tuple__18;
+static PyObject *__pyx_tuple__20;
+static PyObject *__pyx_tuple__22;
+static PyObject *__pyx_tuple__24;
+static PyObject *__pyx_tuple__26;
+static PyObject *__pyx_codeobj__11;
+static PyObject *__pyx_codeobj__13;
+static PyObject *__pyx_codeobj__15;
+static PyObject *__pyx_codeobj__17;
+static PyObject *__pyx_codeobj__19;
+static PyObject *__pyx_codeobj__21;
+static PyObject *__pyx_codeobj__23;
+static PyObject *__pyx_codeobj__25;
+static PyObject *__pyx_codeobj__27;
+/* Late includes */
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":29
+ * 
+ * cdef class Complement:
+ *     def __init__(self, obj):             # <<<<<<<<<<<<<<
+ *         self.obj = obj
+ *     def __repr__(self):
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_obj = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_obj,0};
+    PyObject* values[1] = {0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 29, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+    }
+    __pyx_v_obj = values[0];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 29, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement___init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self), __pyx_v_obj);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_obj) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":30
+ * cdef class Complement:
+ *     def __init__(self, obj):
+ *         self.obj = obj             # <<<<<<<<<<<<<<
+ *     def __repr__(self):
+ *         return 'Complement(%r)' % self.obj
+ */
+  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_obj, __pyx_v_obj) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":29
+ * 
+ * cdef class Complement:
+ *     def __init__(self, obj):             # <<<<<<<<<<<<<<
+ *         self.obj = obj
+ *     def __repr__(self):
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":31
+ *     def __init__(self, obj):
+ *         self.obj = obj
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Complement(%r)' % self.obj
+ *     def distance(self, px, py, pz):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_3__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_2__repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":32
+ *         self.obj = obj
+ *     def __repr__(self):
+ *         return 'Complement(%r)' % self.obj             # <<<<<<<<<<<<<<
+ *     def distance(self, px, py, pz):
+ *         return -self.obj.distance(px, py, pz)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_obj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Complement_r, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_r = __pyx_t_2;
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":31
+ *     def __init__(self, obj):
+ *         self.obj = obj
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Complement(%r)' % self.obj
+ *     def distance(self, px, py, pz):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":33
+ *     def __repr__(self):
+ *         return 'Complement(%r)' % self.obj
+ *     def distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         return -self.obj.distance(px, py, pz)
+ *     def starting_points(self, xs, ys, zs):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_px = 0;
+  PyObject *__pyx_v_py = 0;
+  PyObject *__pyx_v_pz = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 33, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 33, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 33, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = values[0];
+    __pyx_v_py = values[1];
+    __pyx_v_pz = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 33, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_4distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":34
+ *         return 'Complement(%r)' % self.obj
+ *     def distance(self, px, py, pz):
+ *         return -self.obj.distance(px, py, pz)             # <<<<<<<<<<<<<<
+ *     def starting_points(self, xs, ys, zs):
+ *         return self.obj.starting_points(xs, ys, zs)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_obj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_distance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  __pyx_t_4 = 0;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_4 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+  } else
+  #endif
+  {
+    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 34, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    if (__pyx_t_2) {
+      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_px);
+    __Pyx_GIVEREF(__pyx_v_px);
+    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_px);
+    __Pyx_INCREF(__pyx_v_py);
+    __Pyx_GIVEREF(__pyx_v_py);
+    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_py);
+    __Pyx_INCREF(__pyx_v_pz);
+    __Pyx_GIVEREF(__pyx_v_pz);
+    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_pz);
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyNumber_Negative(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_r = __pyx_t_3;
+  __pyx_t_3 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":33
+ *     def __repr__(self):
+ *         return 'Complement(%r)' % self.obj
+ *     def distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         return -self.obj.distance(px, py, pz)
+ *     def starting_points(self, xs, ys, zs):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":35
+ *     def distance(self, px, py, pz):
+ *         return -self.obj.distance(px, py, pz)
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return self.obj.starting_points(xs, ys, zs)
+ *     property primitives:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 35, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 35, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 35, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 35, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_6starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":36
+ *         return -self.obj.distance(px, py, pz)
+ *     def starting_points(self, xs, ys, zs):
+ *         return self.obj.starting_points(xs, ys, zs)             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return [self.obj]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_obj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  __pyx_t_4 = 0;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_4 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+  } else
+  #endif
+  {
+    __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    if (__pyx_t_2) {
+      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_xs);
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_ys);
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_zs);
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":35
+ *     def distance(self, px, py, pz):
+ *         return -self.obj.distance(px, py, pz)
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return self.obj.starting_points(xs, ys, zs)
+ *     property primitives:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":38
+ *         return self.obj.starting_points(xs, ys, zs)
+ *     property primitives:
+ *         def __get__(self): return [self.obj]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_obj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
+  __pyx_t_1 = 0;
+  __pyx_r = __pyx_t_2;
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_8__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = ()             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __Pyx_INCREF(__pyx_empty_tuple);
+  __pyx_v_state = __pyx_empty_tuple;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = ()
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v__dict = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":7
+ *     state = ()
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_2 = (__pyx_v__dict != Py_None);
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = False
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = ()
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = False             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, None), state
+ */
+  /*else*/ {
+    __pyx_v_use_setstate = 0;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, None), state
+ *     else:
+ */
+  __pyx_t_3 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = False
+ *     if use_setstate:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Complement); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_222419149);
+    __Pyx_GIVEREF(__pyx_int_222419149);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
+    __pyx_t_4 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_5;
+    __pyx_t_5 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, None), state
+ *     else:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Complement__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Complement); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_222419149);
+    __Pyx_GIVEREF(__pyx_int_222419149);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_222419149);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+    __pyx_t_5 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_4;
+    __pyx_t_4 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Complement__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Complement__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Complement, (type(self), 0xd41d8cd, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Complement__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Complement.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":43
+ * cdef class Union:
+ *     cdef list objects
+ *     def __init__(self, list objects):             # <<<<<<<<<<<<<<
+ *         self.objects = objects
+ *     def __repr__(self):
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_objects = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objects,0};
+    PyObject* values[1] = {0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 43, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+    }
+    __pyx_v_objects = ((PyObject*)values[0]);
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 43, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 43, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union___init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self), __pyx_v_objects);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_objects) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":44
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ *         self.objects = objects             # <<<<<<<<<<<<<<
+ *     def __repr__(self):
+ *         return 'Union(%r)' % self.objects
+ */
+  __Pyx_INCREF(__pyx_v_objects);
+  __Pyx_GIVEREF(__pyx_v_objects);
+  __Pyx_GOTREF(__pyx_v_self->objects);
+  __Pyx_DECREF(__pyx_v_self->objects);
+  __pyx_v_self->objects = __pyx_v_objects;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":43
+ * cdef class Union:
+ *     cdef list objects
+ *     def __init__(self, list objects):             # <<<<<<<<<<<<<<
+ *         self.objects = objects
+ *     def __repr__(self):
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":45
+ *     def __init__(self, list objects):
+ *         self.objects = objects
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Union(%r)' % self.objects
+ *     @cython.boundscheck(False)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_3__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_2__repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":46
+ *         self.objects = objects
+ *     def __repr__(self):
+ *         return 'Union(%r)' % self.objects             # <<<<<<<<<<<<<<
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Union_r, __pyx_v_self->objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":45
+ *     def __init__(self, list objects):
+ *         self.objects = objects
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Union(%r)' % self.objects
+ *     @cython.boundscheck(False)
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":49
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ *     cpdef double distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:uniondist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz, int __pyx_skip_dispatch) {
+  PyObject *__pyx_v_dists = NULL;
+  double __pyx_v_d;
+  double __pyx_v_d2;
+  PyObject *__pyx_v_obj = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  double __pyx_t_7;
+  Py_ssize_t __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_5distance)) {
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+        __pyx_t_5 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+          if (likely(__pyx_t_4)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+            __Pyx_INCREF(__pyx_t_4);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_3, function);
+            __pyx_t_5 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        {
+          __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 49, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          if (__pyx_t_4) {
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+          }
+          __Pyx_INCREF(__pyx_v_px);
+          __Pyx_GIVEREF(__pyx_v_px);
+          PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_px);
+          __Pyx_INCREF(__pyx_v_py);
+          __Pyx_GIVEREF(__pyx_v_py);
+          PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_py);
+          __Pyx_INCREF(__pyx_v_pz);
+          __Pyx_GIVEREF(__pyx_v_pz);
+          PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_pz);
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 49, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_7;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":51
+ *     cpdef double distance(self, px, py, pz):
+ *         # CTNG:uniondist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]             # <<<<<<<<<<<<<<
+ *         cdef double d, d2
+ *         d = dists[0]
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 51, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = 0;
+  for (;;) {
+    if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 51, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = NULL;
+    __pyx_t_5 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_5 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    {
+      __pyx_t_9 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      if (__pyx_t_4) {
+        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_px);
+      __Pyx_GIVEREF(__pyx_v_px);
+      PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_5, __pyx_v_px);
+      __Pyx_INCREF(__pyx_v_py);
+      __Pyx_GIVEREF(__pyx_v_py);
+      PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_5, __pyx_v_py);
+      __Pyx_INCREF(__pyx_v_pz);
+      __Pyx_GIVEREF(__pyx_v_pz);
+      PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_5, __pyx_v_pz);
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 51, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_dists = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":53
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ *         cdef double d, d2
+ *         d = dists[0]             # <<<<<<<<<<<<<<
+ *         for d2 in dists:
+ *             if d2 < d: d = d2
+ */
+  __pyx_t_7 = __pyx_PyFloat_AsDouble(PyList_GET_ITEM(__pyx_v_dists, 0)); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 53, __pyx_L1_error)
+  __pyx_v_d = __pyx_t_7;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":54
+ *         cdef double d, d2
+ *         d = dists[0]
+ *         for d2 in dists:             # <<<<<<<<<<<<<<
+ *             if d2 < d: d = d2
+ *         return d
+ */
+  __pyx_t_1 = __pyx_v_dists; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0;
+  for (;;) {
+    if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 54, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_v_d2 = __pyx_t_7;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":55
+ *         d = dists[0]
+ *         for d2 in dists:
+ *             if d2 < d: d = d2             # <<<<<<<<<<<<<<
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):
+ */
+    __pyx_t_10 = ((__pyx_v_d2 < __pyx_v_d) != 0);
+    if (__pyx_t_10) {
+      __pyx_v_d = __pyx_v_d2;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":54
+ *         cdef double d, d2
+ *         d = dists[0]
+ *         for d2 in dists:             # <<<<<<<<<<<<<<
+ *             if d2 < d: d = d2
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":56
+ *         for d2 in dists:
+ *             if d2 < d: d = d2
+ *         return d             # <<<<<<<<<<<<<<
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ */
+  __pyx_r = __pyx_v_d;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":49
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ *     cpdef double distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:uniondist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Union.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_dists);
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_px = 0;
+  PyObject *__pyx_v_py = 0;
+  PyObject *__pyx_v_pz = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 49, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 49, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 49, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = values[0];
+    __pyx_v_py = values[1];
+    __pyx_v_pz = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 49, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_4distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":57
+ *             if d2 < d: d = d2
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  Py_ssize_t __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_starting_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_7starting_points)) {
+        __Pyx_XDECREF(__pyx_r);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+        __pyx_t_5 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+          if (likely(__pyx_t_4)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+            __Pyx_INCREF(__pyx_t_4);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_3, function);
+            __pyx_t_5 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        {
+          __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          if (__pyx_t_4) {
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+          }
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_zs);
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 57, __pyx_L1_error)
+        __pyx_r = ((PyObject*)__pyx_t_2);
+        __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":58
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return sum([obj.primitives for obj in self.objects], [])
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 58, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
+  for (;;) {
+    if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 58, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 58, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = NULL;
+    __pyx_t_5 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_5 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 58, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_4) {
+        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_zs);
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 58, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 58, __pyx_L1_error)
+  __pyx_r = ((PyObject*)__pyx_t_2);
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":57
+ *             if d2 < d: d = d2
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 57, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 57, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 57, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 57, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_6starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_starting_points(__pyx_v_self, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":60
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ *         def __get__(self): return sum([obj.primitives for obj in self.objects], [])             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self) {
+  PyObject *__pyx_v_obj = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 60, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 60, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_primitives); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 60, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_r = __pyx_t_2;
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_8__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self.objects,)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_v_self->objects);
+  __Pyx_GIVEREF(__pyx_v_self->objects);
+  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->objects);
+  __pyx_v_state = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v__dict = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_2 = (__pyx_v__dict != Py_None);
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self.objects is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self.objects is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, None), state
+ */
+  /*else*/ {
+    __pyx_t_3 = (__pyx_v_self->objects != ((PyObject*)Py_None));
+    __pyx_v_use_setstate = __pyx_t_3;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, None), state
+ *     else:
+ */
+  __pyx_t_3 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Union); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_92872098);
+    __Pyx_GIVEREF(__pyx_int_92872098);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_92872098);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
+    __pyx_t_4 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_5;
+    __pyx_t_5 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, None), state
+ *     else:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Union__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Union); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_92872098);
+    __Pyx_GIVEREF(__pyx_int_92872098);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_92872098);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+    __pyx_t_5 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_4;
+    __pyx_t_4 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Union__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Union__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Union__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Union, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Union__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":65
+ * cdef class Intersection:
+ *     cdef list objects
+ *     def __init__(self, list objects):             # <<<<<<<<<<<<<<
+ *         self.objects = objects
+ *     def __repr__(self):
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_objects = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objects,0};
+    PyObject* values[1] = {0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 65, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+    }
+    __pyx_v_objects = ((PyObject*)values[0]);
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 65, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 65, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection___init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self), __pyx_v_objects);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_objects) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":66
+ *     cdef list objects
+ *     def __init__(self, list objects):
+ *         self.objects = objects             # <<<<<<<<<<<<<<
+ *     def __repr__(self):
+ *         return 'Intersection(%r)' % self.objects
+ */
+  __Pyx_INCREF(__pyx_v_objects);
+  __Pyx_GIVEREF(__pyx_v_objects);
+  __Pyx_GOTREF(__pyx_v_self->objects);
+  __Pyx_DECREF(__pyx_v_self->objects);
+  __pyx_v_self->objects = __pyx_v_objects;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":65
+ * cdef class Intersection:
+ *     cdef list objects
+ *     def __init__(self, list objects):             # <<<<<<<<<<<<<<
+ *         self.objects = objects
+ *     def __repr__(self):
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":67
+ *     def __init__(self, list objects):
+ *         self.objects = objects
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Intersection(%r)' % self.objects
+ *     @cython.boundscheck(False)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_3__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_2__repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":68
+ *         self.objects = objects
+ *     def __repr__(self):
+ *         return 'Intersection(%r)' % self.objects             # <<<<<<<<<<<<<<
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Intersection_r, __pyx_v_self->objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":67
+ *     def __init__(self, list objects):
+ *         self.objects = objects
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Intersection(%r)' % self.objects
+ *     @cython.boundscheck(False)
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":71
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ *     cpdef double distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         # CTNG: intdist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz, int __pyx_skip_dispatch) {
+  PyObject *__pyx_v_dists = NULL;
+  double __pyx_v_d;
+  double __pyx_v_d2;
+  PyObject *__pyx_v_obj = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  double __pyx_t_7;
+  Py_ssize_t __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_5distance)) {
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+        __pyx_t_5 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+          if (likely(__pyx_t_4)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+            __Pyx_INCREF(__pyx_t_4);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_3, function);
+            __pyx_t_5 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        {
+          __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          if (__pyx_t_4) {
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+          }
+          __Pyx_INCREF(__pyx_v_px);
+          __Pyx_GIVEREF(__pyx_v_px);
+          PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_px);
+          __Pyx_INCREF(__pyx_v_py);
+          __Pyx_GIVEREF(__pyx_v_py);
+          PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_py);
+          __Pyx_INCREF(__pyx_v_pz);
+          __Pyx_GIVEREF(__pyx_v_pz);
+          PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_pz);
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 71, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_7;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":73
+ *     cpdef double distance(self, px, py, pz):
+ *         # CTNG: intdist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]             # <<<<<<<<<<<<<<
+ *         cdef double d, d2
+ *         d = dists[0]
+ */
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 73, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = 0;
+  for (;;) {
+    if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 73, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 73, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = NULL;
+    __pyx_t_5 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_5 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_px, __pyx_v_py, __pyx_v_pz};
+      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    {
+      __pyx_t_9 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      if (__pyx_t_4) {
+        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_px);
+      __Pyx_GIVEREF(__pyx_v_px);
+      PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_5, __pyx_v_px);
+      __Pyx_INCREF(__pyx_v_py);
+      __Pyx_GIVEREF(__pyx_v_py);
+      PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_5, __pyx_v_py);
+      __Pyx_INCREF(__pyx_v_pz);
+      __Pyx_GIVEREF(__pyx_v_pz);
+      PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_5, __pyx_v_pz);
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 73, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_dists = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":75
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ *         cdef double d, d2
+ *         d = dists[0]             # <<<<<<<<<<<<<<
+ *         for d2 in dists:
+ *             if d2 > d: d = d2
+ */
+  __pyx_t_7 = __pyx_PyFloat_AsDouble(PyList_GET_ITEM(__pyx_v_dists, 0)); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L1_error)
+  __pyx_v_d = __pyx_t_7;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":76
+ *         cdef double d, d2
+ *         d = dists[0]
+ *         for d2 in dists:             # <<<<<<<<<<<<<<
+ *             if d2 > d: d = d2
+ *         return d
+ */
+  __pyx_t_1 = __pyx_v_dists; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0;
+  for (;;) {
+    if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 76, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 76, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 76, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_v_d2 = __pyx_t_7;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":77
+ *         d = dists[0]
+ *         for d2 in dists:
+ *             if d2 > d: d = d2             # <<<<<<<<<<<<<<
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):
+ */
+    __pyx_t_10 = ((__pyx_v_d2 > __pyx_v_d) != 0);
+    if (__pyx_t_10) {
+      __pyx_v_d = __pyx_v_d2;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":76
+ *         cdef double d, d2
+ *         d = dists[0]
+ *         for d2 in dists:             # <<<<<<<<<<<<<<
+ *             if d2 > d: d = d2
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":78
+ *         for d2 in dists:
+ *             if d2 > d: d = d2
+ *         return d             # <<<<<<<<<<<<<<
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ */
+  __pyx_r = __pyx_v_d;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":71
+ *     @cython.boundscheck(False)
+ *     @cython.wraparound(False)
+ *     cpdef double distance(self, px, py, pz):             # <<<<<<<<<<<<<<
+ *         # CTNG: intdist
+ *         dists = [obj.distance(px, py, pz) for obj in self.objects]
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_dists);
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_px = 0;
+  PyObject *__pyx_v_py = 0;
+  PyObject *__pyx_v_pz = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 71, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 71, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 71, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = values[0];
+    __pyx_v_py = values[1];
+    __pyx_v_pz = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 71, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_4distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_px, PyObject *__pyx_v_py, PyObject *__pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":79
+ *             if d2 > d: d = d2
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  Py_ssize_t __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_starting_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_7starting_points)) {
+        __Pyx_XDECREF(__pyx_r);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+        __pyx_t_5 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+          if (likely(__pyx_t_4)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+            __Pyx_INCREF(__pyx_t_4);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_3, function);
+            __pyx_t_5 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        {
+          __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 79, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          if (__pyx_t_4) {
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+          }
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_zs);
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 79, __pyx_L1_error)
+        __pyx_r = ((PyObject*)__pyx_t_2);
+        __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":80
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return sum([obj.primitives for obj in self.objects], [])
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 80, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
+  for (;;) {
+    if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 80, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_3);
+    __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = NULL;
+    __pyx_t_5 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_4)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_5 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __Pyx_GOTREF(__pyx_t_3);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 80, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_4) {
+        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, __pyx_v_zs);
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 80, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 80, __pyx_L1_error)
+  __pyx_r = ((PyObject*)__pyx_t_2);
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":79
+ *             if d2 > d: d = d2
+ *         return d
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 79, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 79, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 79, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 79, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_6starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_starting_points(__pyx_v_self, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":82
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.objects], [])
+ *     property primitives:
+ *         def __get__(self): return sum([obj.primitives for obj in self.objects], [])             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self) {
+  PyObject *__pyx_v_obj = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->objects == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 82, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->objects; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 82, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_primitives); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 82, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_r = __pyx_t_2;
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_8__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self.objects,)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_v_self->objects);
+  __Pyx_GIVEREF(__pyx_v_self->objects);
+  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->objects);
+  __pyx_v_state = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v__dict = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_2 = (__pyx_v__dict != Py_None);
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);
+    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self.objects is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self.objects,)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self.objects is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, None), state
+ */
+  /*else*/ {
+    __pyx_t_3 = (__pyx_v_self->objects != ((PyObject*)Py_None));
+    __pyx_v_use_setstate = __pyx_t_3;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, None), state
+ *     else:
+ */
+  __pyx_t_3 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Intersection); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_92872098);
+    __Pyx_GIVEREF(__pyx_int_92872098);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_92872098);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
+    __pyx_t_4 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_5;
+    __pyx_t_5 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.objects is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, None), state
+ *     else:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Intersection__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_Intersection); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_92872098);
+    __Pyx_GIVEREF(__pyx_int_92872098);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_92872098);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
+    __pyx_t_5 = 0;
+    __pyx_t_1 = 0;
+    __pyx_r = __pyx_t_4;
+    __pyx_t_4 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Intersection__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Intersection__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Intersection__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Intersection, (type(self), 0x5891da2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Intersection__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Intersection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":88
+ * cdef class Plane:
+ *     cdef double d, mul, nx, ny, nz, px, py, pz
+ *     def __init__(self, double px, double py, double pz, double nx, double ny, double nz):             # <<<<<<<<<<<<<<
+ *         """(px, py, pz) -- a point; (nx, ny, nz) -- the normal vector"""
+ *         self.d = - (nx * px + ny * py + nz * pz)
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__[] = "(px, py, pz) -- a point; (nx, ny, nz) -- the normal vector";
+#if CYTHON_UPDATE_DESCRIPTOR_DOC
+struct wrapperbase __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__;
+#endif
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,&__pyx_n_s_nx,&__pyx_n_s_ny,&__pyx_n_s_nz,0};
+    PyObject* values[6] = {0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 1); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 2); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nx)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 3); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ny)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 4); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, 5); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 88, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_nx = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_nx == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_ny = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_ny == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_nz = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_nz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 88, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz, __pyx_v_nx, __pyx_v_ny, __pyx_v_nz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, double __pyx_v_nx, double __pyx_v_ny, double __pyx_v_nz) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  double __pyx_t_1;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":90
+ *     def __init__(self, double px, double py, double pz, double nx, double ny, double nz):
+ *         """(px, py, pz) -- a point; (nx, ny, nz) -- the normal vector"""
+ *         self.d = - (nx * px + ny * py + nz * pz)             # <<<<<<<<<<<<<<
+ *         self.mul = 1. / sqrt(nx ** 2 + ny ** 2 + nz ** 2)
+ *         self.nx = nx
+ */
+  __pyx_v_self->d = (-(((__pyx_v_nx * __pyx_v_px) + (__pyx_v_ny * __pyx_v_py)) + (__pyx_v_nz * __pyx_v_pz)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":91
+ *         """(px, py, pz) -- a point; (nx, ny, nz) -- the normal vector"""
+ *         self.d = - (nx * px + ny * py + nz * pz)
+ *         self.mul = 1. / sqrt(nx ** 2 + ny ** 2 + nz ** 2)             # <<<<<<<<<<<<<<
+ *         self.nx = nx
+ *         self.ny = ny
+ */
+  __pyx_t_1 = sqrt(((pow(__pyx_v_nx, 2.0) + pow(__pyx_v_ny, 2.0)) + pow(__pyx_v_nz, 2.0)));
+  if (unlikely(__pyx_t_1 == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 91, __pyx_L1_error)
+  }
+  __pyx_v_self->mul = (1. / __pyx_t_1);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":92
+ *         self.d = - (nx * px + ny * py + nz * pz)
+ *         self.mul = 1. / sqrt(nx ** 2 + ny ** 2 + nz ** 2)
+ *         self.nx = nx             # <<<<<<<<<<<<<<
+ *         self.ny = ny
+ *         self.nz = nz
+ */
+  __pyx_v_self->nx = __pyx_v_nx;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":93
+ *         self.mul = 1. / sqrt(nx ** 2 + ny ** 2 + nz ** 2)
+ *         self.nx = nx
+ *         self.ny = ny             # <<<<<<<<<<<<<<
+ *         self.nz = nz
+ *         self.px = px
+ */
+  __pyx_v_self->ny = __pyx_v_ny;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":94
+ *         self.nx = nx
+ *         self.ny = ny
+ *         self.nz = nz             # <<<<<<<<<<<<<<
+ *         self.px = px
+ *         self.py = py
+ */
+  __pyx_v_self->nz = __pyx_v_nz;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":95
+ *         self.ny = ny
+ *         self.nz = nz
+ *         self.px = px             # <<<<<<<<<<<<<<
+ *         self.py = py
+ *         self.pz = pz
+ */
+  __pyx_v_self->px = __pyx_v_px;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":96
+ *         self.nz = nz
+ *         self.px = px
+ *         self.py = py             # <<<<<<<<<<<<<<
+ *         self.pz = pz
+ *     property primitives:
+ */
+  __pyx_v_self->py = __pyx_v_py;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":97
+ *         self.px = px
+ *         self.py = py
+ *         self.pz = pz             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return []
+ */
+  __pyx_v_self->pz = __pyx_v_pz;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":88
+ * cdef class Plane:
+ *     cdef double d, mul, nx, ny, nz, px, py, pz
+ *     def __init__(self, double px, double py, double pz, double nx, double ny, double nz):             # <<<<<<<<<<<<<<
+ *         """(px, py, pz) -- a point; (nx, ny, nz) -- the normal vector"""
+ *         self.d = - (nx * px + ny * py + nz * pz)
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":99
+ *         self.pz = pz
+ *     property primitives:
+ *         def __get__(self): return []             # <<<<<<<<<<<<<<
+ *     def __repr__(self):
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives___get__(CYTHON_UNUSED struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":100
+ *     property primitives:
+ *         def __get__(self): return []
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ *     cpdef double distance(self, double x, double y, double z):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_3__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_2__repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":101
+ *         def __get__(self): return []
+ *     def __repr__(self):
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)             # <<<<<<<<<<<<<<
+ *     cpdef double distance(self, double x, double y, double z):
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->px); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->py); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->pz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->nx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->ny); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->nz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_6);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_6 = __Pyx_PyString_Format(__pyx_kp_s_Plane_g_g_g_g_g_g, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __pyx_r = __pyx_t_6;
+  __pyx_t_6 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":100
+ *     property primitives:
+ *         def __get__(self): return []
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ *     cpdef double distance(self, double x, double y, double z):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":102
+ *     def __repr__(self):
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ *     cpdef double distance(self, double x, double y, double z):             # <<<<<<<<<<<<<<
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ *     cpdef list starting_points(self, xs, ys, zs):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, int __pyx_skip_dispatch) {
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_5distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 102, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 102, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":103
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ *     cpdef double distance(self, double x, double y, double z):
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul             # <<<<<<<<<<<<<<
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return [(bisect.bisect_left(xs, self.px), bisect.bisect_left(ys, self.py), bisect.bisect_left(zs, self.pz))]
+ */
+  __pyx_r = (((((__pyx_v_self->nx * __pyx_v_x) + (__pyx_v_self->ny * __pyx_v_y)) + (__pyx_v_self->nz * __pyx_v_z)) + __pyx_v_self->d) * __pyx_v_self->mul);
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":102
+ *     def __repr__(self):
+ *         return 'Plane(%g, %g, %g, %g, %g, %g)' % (self.px, self.py, self.pz, self.nx, self.ny, self.nz)
+ *     cpdef double distance(self, double x, double y, double z):             # <<<<<<<<<<<<<<
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ *     cpdef list starting_points(self, xs, ys, zs):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Plane.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_z,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 102, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 102, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 102, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
+    __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
+    __pyx_v_z = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 102, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 102, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_4distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self), __pyx_v_x, __pyx_v_y, __pyx_v_z);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_distance(__pyx_v_self, __pyx_v_x, __pyx_v_y, __pyx_v_z, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":104
+ *     cpdef double distance(self, double x, double y, double z):
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return [(bisect.bisect_left(xs, self.px), bisect.bisect_left(ys, self.py), bisect.bisect_left(zs, self.pz))]
+ * 
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_skip_dispatch) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_starting_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_7starting_points)) {
+        __Pyx_XDECREF(__pyx_r);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
+        __pyx_t_5 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+          if (likely(__pyx_t_4)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+            __Pyx_INCREF(__pyx_t_4);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_3, function);
+            __pyx_t_5 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+        } else
+        #endif
+        {
+          __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          if (__pyx_t_4) {
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+          }
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_zs);
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        if (!(likely(PyList_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 104, __pyx_L1_error)
+        __pyx_r = ((PyObject*)__pyx_t_2);
+        __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":105
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ *     cpdef list starting_points(self, xs, ys, zs):
+ *         return [(bisect.bisect_left(xs, self.px), bisect.bisect_left(ys, self.py), bisect.bisect_left(zs, self.pz))]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_bisect); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->px); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_6 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_xs, __pyx_t_2};
+    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_xs, __pyx_t_2};
+    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    if (__pyx_t_6) {
+      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_t_2);
+    __pyx_t_2 = 0;
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_bisect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_6 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_ys, __pyx_t_4};
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_ys, __pyx_t_4};
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_7 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    if (__pyx_t_6) {
+      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_5, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_5, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_bisect); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->pz); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_6)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_zs, __pyx_t_7};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_zs, __pyx_t_7};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if (__pyx_t_6) {
+      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_t_7);
+    __pyx_t_7 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
+  __pyx_t_4 = 0;
+  __pyx_r = ((PyObject*)__pyx_t_2);
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":104
+ *     cpdef double distance(self, double x, double y, double z):
+ *         return (self.nx * x + self.ny * y + self.nz * z + self.d) * self.mul
+ *     cpdef list starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         return [(bisect.bisect_left(xs, self.px), bisect.bisect_left(ys, self.py), bisect.bisect_left(zs, self.pz))]
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 104, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 104, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 104, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 104, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_6starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_starting_points(__pyx_v_self, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_8__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_8__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_t_10;
+  int __pyx_t_11;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self.d, self.mul, self.nx, self.ny, self.nz, self.px, self.py, self.pz)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->d); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->mul); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->nx); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->ny); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->nz); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->px); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->py); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->pz); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyTuple_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_9, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_9, 7, __pyx_t_8);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_9);
+  __pyx_t_9 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self.d, self.mul, self.nx, self.ny, self.nz, self.px, self.py, self.pz)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_9 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_v__dict = __pyx_t_9;
+  __pyx_t_9 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self.d, self.mul, self.nx, self.ny, self.nz, self.px, self.py, self.pz)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_10 = (__pyx_v__dict != Py_None);
+  __pyx_t_11 = (__pyx_t_10 != 0);
+  if (__pyx_t_11) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v__dict);
+    __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_8));
+    __pyx_t_8 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = False
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self.d, self.mul, self.nx, self.ny, self.nz, self.px, self.py, self.pz)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = False             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, None), state
+ */
+  /*else*/ {
+    __pyx_v_use_setstate = 0;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, None), state
+ *     else:
+ */
+  __pyx_t_11 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_11) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = False
+ *     if use_setstate:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_pyx_unpickle_Plane); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_159808084);
+    __Pyx_GIVEREF(__pyx_int_159808084);
+    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_int_159808084);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_9, 2, Py_None);
+    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_9);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_state);
+    __pyx_t_8 = 0;
+    __pyx_t_9 = 0;
+    __pyx_r = __pyx_t_7;
+    __pyx_t_7 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, None), state
+ *     else:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Plane__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pyx_unpickle_Plane); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_159808084);
+    __Pyx_GIVEREF(__pyx_int_159808084);
+    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_int_159808084);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_v_state);
+    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_9);
+    __pyx_t_7 = 0;
+    __pyx_t_9 = 0;
+    __pyx_r = __pyx_t_8;
+    __pyx_t_8 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Plane__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Plane__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Plane__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Plane, (type(self), 0x9867a54, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Plane__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Plane.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":113
+ *     cdef list clips
+ *     property primitives:
+ *         def __get__(self): return [self]             # <<<<<<<<<<<<<<
+ * 
+ *     def __init__(self, double x, double y, double z, double r):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":115
+ *         def __get__(self): return [self]
+ * 
+ *     def __init__(self, double x, double y, double z, double r):             # <<<<<<<<<<<<<<
+ *         self._x, self._y, self._z, self._r = x, y, z, r
+ *         self._xlo, self._xhi = x - r, x + r
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  double __pyx_v_r;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_z,&__pyx_n_s_r,0};
+    PyObject* values[4] = {0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); __PYX_ERR(0, 115, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); __PYX_ERR(0, 115, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); __PYX_ERR(0, 115, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 115, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+    }
+    __pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 115, __pyx_L3_error)
+    __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 115, __pyx_L3_error)
+    __pyx_v_z = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 115, __pyx_L3_error)
+    __pyx_v_r = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_r == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 115, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 115, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere___init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_r);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere___init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, double __pyx_v_r) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  double __pyx_t_1;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":116
+ * 
+ *     def __init__(self, double x, double y, double z, double r):
+ *         self._x, self._y, self._z, self._r = x, y, z, r             # <<<<<<<<<<<<<<
+ *         self._xlo, self._xhi = x - r, x + r
+ *         self._ylo, self._yhi = y - r, y + r
+ */
+  __pyx_t_1 = __pyx_v_x;
+  __pyx_t_2 = __pyx_v_y;
+  __pyx_t_3 = __pyx_v_z;
+  __pyx_t_4 = __pyx_v_r;
+  __pyx_v_self->_x = __pyx_t_1;
+  __pyx_v_self->_y = __pyx_t_2;
+  __pyx_v_self->_z = __pyx_t_3;
+  __pyx_v_self->_r = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":117
+ *     def __init__(self, double x, double y, double z, double r):
+ *         self._x, self._y, self._z, self._r = x, y, z, r
+ *         self._xlo, self._xhi = x - r, x + r             # <<<<<<<<<<<<<<
+ *         self._ylo, self._yhi = y - r, y + r
+ *         self._zlo, self._zhi = z - r, z + r
+ */
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_x - __pyx_v_r)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble((__pyx_v_x + __pyx_v_r)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  __Pyx_GOTREF(__pyx_v_self->_xlo);
+  __Pyx_DECREF(__pyx_v_self->_xlo);
+  __pyx_v_self->_xlo = __pyx_t_5;
+  __pyx_t_5 = 0;
+  __Pyx_GIVEREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_v_self->_xhi);
+  __Pyx_DECREF(__pyx_v_self->_xhi);
+  __pyx_v_self->_xhi = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":118
+ *         self._x, self._y, self._z, self._r = x, y, z, r
+ *         self._xlo, self._xhi = x - r, x + r
+ *         self._ylo, self._yhi = y - r, y + r             # <<<<<<<<<<<<<<
+ *         self._zlo, self._zhi = z - r, z + r
+ *         self.clips = []
+ */
+  __pyx_t_6 = PyFloat_FromDouble((__pyx_v_y - __pyx_v_r)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 118, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_y + __pyx_v_r)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 118, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_v_self->_ylo);
+  __Pyx_DECREF(__pyx_v_self->_ylo);
+  __pyx_v_self->_ylo = __pyx_t_6;
+  __pyx_t_6 = 0;
+  __Pyx_GIVEREF(__pyx_t_5);
+  __Pyx_GOTREF(__pyx_v_self->_yhi);
+  __Pyx_DECREF(__pyx_v_self->_yhi);
+  __pyx_v_self->_yhi = __pyx_t_5;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":119
+ *         self._xlo, self._xhi = x - r, x + r
+ *         self._ylo, self._yhi = y - r, y + r
+ *         self._zlo, self._zhi = z - r, z + r             # <<<<<<<<<<<<<<
+ *         self.clips = []
+ *     def __repr__(self):
+ */
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_z - __pyx_v_r)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble((__pyx_v_z + __pyx_v_r)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  __Pyx_GOTREF(__pyx_v_self->_zlo);
+  __Pyx_DECREF(__pyx_v_self->_zlo);
+  __pyx_v_self->_zlo = __pyx_t_5;
+  __pyx_t_5 = 0;
+  __Pyx_GIVEREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_v_self->_zhi);
+  __Pyx_DECREF(__pyx_v_self->_zhi);
+  __pyx_v_self->_zhi = __pyx_t_6;
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":120
+ *         self._ylo, self._yhi = y - r, y + r
+ *         self._zlo, self._zhi = z - r, z + r
+ *         self.clips = []             # <<<<<<<<<<<<<<
+ *     def __repr__(self):
+ *         if self.clips:
+ */
+  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_6);
+  __pyx_t_6 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":115
+ *         def __get__(self): return [self]
+ * 
+ *     def __init__(self, double x, double y, double z, double r):             # <<<<<<<<<<<<<<
+ *         self._x, self._y, self._z, self._r = x, y, z, r
+ *         self._xlo, self._xhi = x - r, x + r
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":121
+ *         self._zlo, self._zhi = z - r, z + r
+ *         self.clips = []
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         if self.clips:
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_2__repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_2__repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":122
+ *         self.clips = []
+ *     def __repr__(self):
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)
+ *         else:
+ */
+  __pyx_t_1 = (__pyx_v_self->clips != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->clips) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":123
+ *     def __repr__(self):
+ *         if self.clips:
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)             # <<<<<<<<<<<<<<
+ *         else:
+ *             return 'Sphere(%g, %g, %g, %g)' % (self._x, self._y, self._z, self._r)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_r); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
+    __Pyx_INCREF(__pyx_v_self->clips);
+    __Pyx_GIVEREF(__pyx_v_self->clips);
+    PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_v_self->clips);
+    __pyx_t_2 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Sphere_g_g_g_g_clips_r, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_r = __pyx_t_5;
+    __pyx_t_5 = 0;
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":122
+ *         self.clips = []
+ *     def __repr__(self):
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)
+ *         else:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":125
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)
+ *         else:
+ *             return 'Sphere(%g, %g, %g, %g)' % (self._x, self._y, self._z, self._r)             # <<<<<<<<<<<<<<
+ *     property x:
+ *         def __get__(self): return self._x
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_r); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_3);
+    __pyx_t_5 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Sphere_g_g_g_g, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_r = __pyx_t_3;
+    __pyx_t_3 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":121
+ *         self._zlo, self._zhi = z - r, z + r
+ *         self.clips = []
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         if self.clips:
+ *             return 'Sphere(%g, %g, %g, %g; clips=%r)' % (self._x, self._y, self._z, self._r, self.clips)
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":127
+ *             return 'Sphere(%g, %g, %g, %g)' % (self._x, self._y, self._z, self._r)
+ *     property x:
+ *         def __get__(self): return self._x             # <<<<<<<<<<<<<<
+ *     property y:
+ *         def __get__(self): return self._y
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":129
+ *         def __get__(self): return self._x
+ *     property y:
+ *         def __get__(self): return self._y             # <<<<<<<<<<<<<<
+ *     property z:
+ *         def __get__(self): return self._z
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":131
+ *         def __get__(self): return self._y
+ *     property z:
+ *         def __get__(self): return self._z             # <<<<<<<<<<<<<<
+ *     property r:
+ *         def __get__(self): return self._r
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.z.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":133
+ *         def __get__(self): return self._z
+ *     property r:
+ *         def __get__(self): return self._r             # <<<<<<<<<<<<<<
+ *     property xlo:
+ *         def __get__(self): return self._xlo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.r.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":135
+ *         def __get__(self): return self._r
+ *     property xlo:
+ *         def __get__(self): return self._xlo             # <<<<<<<<<<<<<<
+ *     property xhi:
+ *         def __get__(self): return self._xhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_xlo);
+  __pyx_r = __pyx_v_self->_xlo;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":137
+ *         def __get__(self): return self._xlo
+ *     property xhi:
+ *         def __get__(self): return self._xhi             # <<<<<<<<<<<<<<
+ *     property ylo:
+ *         def __get__(self): return self._ylo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_xhi);
+  __pyx_r = __pyx_v_self->_xhi;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":139
+ *         def __get__(self): return self._xhi
+ *     property ylo:
+ *         def __get__(self): return self._ylo             # <<<<<<<<<<<<<<
+ *     property yhi:
+ *         def __get__(self): return self._yhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_ylo);
+  __pyx_r = __pyx_v_self->_ylo;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":141
+ *         def __get__(self): return self._ylo
+ *     property yhi:
+ *         def __get__(self): return self._yhi             # <<<<<<<<<<<<<<
+ *     property zlo:
+ *         def __get__(self): return self._zlo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_yhi);
+  __pyx_r = __pyx_v_self->_yhi;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":143
+ *         def __get__(self): return self._yhi
+ *     property zlo:
+ *         def __get__(self): return self._zlo             # <<<<<<<<<<<<<<
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_zlo);
+  __pyx_r = __pyx_v_self->_zlo;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":145
+ *         def __get__(self): return self._zlo
+ *     property zhi:
+ *         def __get__(self): return self._zhi             # <<<<<<<<<<<<<<
+ *     cpdef double distance(self, double x, double y, double z):
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->_zhi);
+  __pyx_r = __pyx_v_self->_zhi;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":146
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ *     cpdef double distance(self, double x, double y, double z):             # <<<<<<<<<<<<<<
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ *         for clip in self.clips:
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z, int __pyx_skip_dispatch) {
+  PyObject *__pyx_v_d = NULL;
+  PyObject *__pyx_v_clip = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  Py_ssize_t __pyx_t_11;
+  int __pyx_t_12;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_5distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 146, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 146, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":147
+ *         def __get__(self): return self._zhi
+ *     cpdef double distance(self, double x, double y, double z):
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r             # <<<<<<<<<<<<<<
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(x, y, z))
+ */
+  __pyx_t_1 = PyFloat_FromDouble((sqrt(((pow((__pyx_v_x - __pyx_v_self->_x), 2.0) + pow((__pyx_v_y - __pyx_v_self->_y), 2.0)) + pow((__pyx_v_z - __pyx_v_self->_z), 2.0))) - __pyx_v_self->_r)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_v_d = __pyx_t_1;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":148
+ *     cpdef double distance(self, double x, double y, double z):
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(x, y, z))
+ *         return d
+ */
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 148, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0;
+  for (;;) {
+    if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 148, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_clip, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":149
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(x, y, z))             # <<<<<<<<<<<<<<
+ *         return d
+ *     def starting_points(self, xs, ys, zs):
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_clip, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_7 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 149, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      if (__pyx_t_3) {
+        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_9);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_4);
+      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_4);
+      __pyx_t_9 = 0;
+      __pyx_t_5 = 0;
+      __pyx_t_4 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_INCREF(__pyx_v_d);
+    __pyx_t_6 = __pyx_v_d;
+    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_6, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 149, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_12) {
+      __Pyx_INCREF(__pyx_t_2);
+      __pyx_t_7 = __pyx_t_2;
+    } else {
+      __Pyx_INCREF(__pyx_t_6);
+      __pyx_t_7 = __pyx_t_6;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_2 = __pyx_t_7;
+    __Pyx_INCREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_DECREF_SET(__pyx_v_d, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":148
+ *     cpdef double distance(self, double x, double y, double z):
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(x, y, z))
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":150
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(x, y, z))
+ *         return d             # <<<<<<<<<<<<<<
+ *     def starting_points(self, xs, ys, zs):
+ *         #for theta in numpy.arange(0, 2 * numpy.pi, 10):
+ */
+  __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_v_d); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 150, __pyx_L1_error)
+  __pyx_r = __pyx_t_10;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":146
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ *     cpdef double distance(self, double x, double y, double z):             # <<<<<<<<<<<<<<
+ *         d = sqrt((x - self._x) ** 2 + (y - self._y) ** 2 + (z - self._z) ** 2) - self._r
+ *         for clip in self.clips:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_d);
+  __Pyx_XDECREF(__pyx_v_clip);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_5distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,&__pyx_n_s_y,&__pyx_n_s_z,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 146, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 146, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 146, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_x = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L3_error)
+    __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L3_error)
+    __pyx_v_z = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 146, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_4distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_x, __pyx_v_y, __pyx_v_z);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_4distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_x, double __pyx_v_y, double __pyx_v_z) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_distance(__pyx_v_self, __pyx_v_x, __pyx_v_y, __pyx_v_z, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":151
+ *             d = max(d, clip.distance(x, y, z))
+ *         return d
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         #for theta in numpy.arange(0, 2 * numpy.pi, 10):
+ *         # TODO: this only works right if the entire object is inside the domain
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_7starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 151, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 151, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 151, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 151, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_6starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_6starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":154
+ *         #for theta in numpy.arange(0, 2 * numpy.pi, 10):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self._x - self._r), bisect.bisect_left(ys, self._y), bisect.bisect_left(zs, self._z))])             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 154, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 154, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = NULL;
+    __pyx_t_7 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+        __pyx_t_7 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 154, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_6) {
+        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_zs);
+      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_bisect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_self->_x - __pyx_v_self->_r)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_bisect); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->_z); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
+  __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+  __pyx_t_1 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_r = __pyx_t_4;
+  __pyx_t_4 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":151
+ *             d = max(d, clip.distance(x, y, z))
+ *         return d
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         #for theta in numpy.arange(0, 2 * numpy.pi, 10):
+ *         # TODO: this only works right if the entire object is inside the domain
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":155
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self._x - self._r), bisect.bisect_left(ys, self._y), bisect.bisect_left(zs, self._z))])
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_9overlaps_x)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 155, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":156
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self._x - self._r), bisect.bisect_left(ys, self._y), bisect.bisect_left(zs, self._z))])
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_v_self->_xhi, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_self->_xlo, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 156, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":155
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self._x - self._r), bisect.bisect_left(ys, self._y), bisect.bisect_left(zs, self._z))])
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_x (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, 1); __PYX_ERR(0, 155, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_x") < 0)) __PYX_ERR(0, 155, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 155, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_8overlaps_x(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_8overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_x(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":157
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_11overlaps_y)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 157, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 157, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 157, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":158
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_v_self->_yhi, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_self->_ylo, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 158, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":157
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_y (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, 1); __PYX_ERR(0, 157, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_y") < 0)) __PYX_ERR(0, 157, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 157, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 157, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 157, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10overlaps_y(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_y(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":159
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ *     def set_clip(self, clips):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_13overlaps_z)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 159, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 159, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":160
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo             # <<<<<<<<<<<<<<
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_v_self->_zhi, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_self->_zlo, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 160, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":159
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ *     def set_clip(self, clips):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_z (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, 1); __PYX_ERR(0, 159, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_z") < 0)) __PYX_ERR(0, 159, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 159, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 159, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 159, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_12overlaps_z(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_12overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_z(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":161
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_15set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_15set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_14set_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), ((PyObject *)__pyx_v_clips));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_14set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("set_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":162
+ *         return lo <= self._zhi and hi >= self._zlo
+ *     def set_clip(self, clips):
+ *         self.clips = clips             # <<<<<<<<<<<<<<
+ *     def get_clip(self):
+ *         return self.clips
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_clips))||((__pyx_v_clips) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_clips)->tp_name), 0))) __PYX_ERR(0, 162, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_clips;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":161
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.set_clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":163
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_17get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_17get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_16get_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_16get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":164
+ *         self.clips = clips
+ *     def get_clip(self):
+ *         return self.clips             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __pyx_r = __pyx_v_self->clips;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":163
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_18__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_18__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  int __pyx_t_8;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self._r, self._x, self._xhi, self._xlo, self._y, self._yhi, self._ylo, self._z, self._zhi, self._zlo, self.clips)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_r); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyTuple_New(11); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2);
+  __Pyx_INCREF(__pyx_v_self->_xhi);
+  __Pyx_GIVEREF(__pyx_v_self->_xhi);
+  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_self->_xhi);
+  __Pyx_INCREF(__pyx_v_self->_xlo);
+  __Pyx_GIVEREF(__pyx_v_self->_xlo);
+  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_self->_xlo);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_t_3);
+  __Pyx_INCREF(__pyx_v_self->_yhi);
+  __Pyx_GIVEREF(__pyx_v_self->_yhi);
+  PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_v_self->_yhi);
+  __Pyx_INCREF(__pyx_v_self->_ylo);
+  __Pyx_GIVEREF(__pyx_v_self->_ylo);
+  PyTuple_SET_ITEM(__pyx_t_5, 6, __pyx_v_self->_ylo);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_5, 7, __pyx_t_4);
+  __Pyx_INCREF(__pyx_v_self->_zhi);
+  __Pyx_GIVEREF(__pyx_v_self->_zhi);
+  PyTuple_SET_ITEM(__pyx_t_5, 8, __pyx_v_self->_zhi);
+  __Pyx_INCREF(__pyx_v_self->_zlo);
+  __Pyx_GIVEREF(__pyx_v_self->_zlo);
+  PyTuple_SET_ITEM(__pyx_t_5, 9, __pyx_v_self->_zlo);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_v_self->clips);
+  PyTuple_SET_ITEM(__pyx_t_5, 10, __pyx_v_self->clips);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_5);
+  __pyx_t_5 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self._r, self._x, self._xhi, self._xlo, self._y, self._yhi, self._ylo, self._z, self._zhi, self._zlo, self.clips)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_5 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_v__dict = __pyx_t_5;
+  __pyx_t_5 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self._r, self._x, self._xhi, self._xlo, self._y, self._yhi, self._ylo, self._z, self._zhi, self._zlo, self.clips)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_6 = (__pyx_v__dict != Py_None);
+  __pyx_t_7 = (__pyx_t_6 != 0);
+  if (__pyx_t_7) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v__dict);
+    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
+    __pyx_t_4 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self._xhi is not None or self._xlo is not None or self._yhi is not None or self._ylo is not None or self._zhi is not None or self._zlo is not None or self.clips is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self._r, self._x, self._xhi, self._xlo, self._y, self._yhi, self._ylo, self._z, self._zhi, self._zlo, self.clips)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self._xhi is not None or self._xlo is not None or self._yhi is not None or self._ylo is not None or self._zhi is not None or self._zlo is not None or self.clips is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, None), state
+ */
+  /*else*/ {
+    __pyx_t_6 = (__pyx_v_self->_xhi != Py_None);
+    __pyx_t_8 = (__pyx_t_6 != 0);
+    if (!__pyx_t_8) {
+    } else {
+      __pyx_t_7 = __pyx_t_8;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_8 = (__pyx_v_self->_xlo != Py_None);
+    __pyx_t_6 = (__pyx_t_8 != 0);
+    if (!__pyx_t_6) {
+    } else {
+      __pyx_t_7 = __pyx_t_6;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_6 = (__pyx_v_self->_yhi != Py_None);
+    __pyx_t_8 = (__pyx_t_6 != 0);
+    if (!__pyx_t_8) {
+    } else {
+      __pyx_t_7 = __pyx_t_8;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_8 = (__pyx_v_self->_ylo != Py_None);
+    __pyx_t_6 = (__pyx_t_8 != 0);
+    if (!__pyx_t_6) {
+    } else {
+      __pyx_t_7 = __pyx_t_6;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_6 = (__pyx_v_self->_zhi != Py_None);
+    __pyx_t_8 = (__pyx_t_6 != 0);
+    if (!__pyx_t_8) {
+    } else {
+      __pyx_t_7 = __pyx_t_8;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_8 = (__pyx_v_self->_zlo != Py_None);
+    __pyx_t_6 = (__pyx_t_8 != 0);
+    if (!__pyx_t_6) {
+    } else {
+      __pyx_t_7 = __pyx_t_6;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_6 = (__pyx_v_self->clips != ((PyObject*)Py_None));
+    __pyx_t_8 = (__pyx_t_6 != 0);
+    __pyx_t_7 = __pyx_t_8;
+    __pyx_L4_bool_binop_done:;
+    __pyx_v_use_setstate = __pyx_t_7;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self._xhi is not None or self._xlo is not None or self._yhi is not None or self._ylo is not None or self._zhi is not None or self._zlo is not None or self.clips is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, None), state
+ *     else:
+ */
+  __pyx_t_7 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_7) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self._xhi is not None or self._xlo is not None or self._yhi is not None or self._ylo is not None or self._zhi is not None or self._zlo is not None or self.clips is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_Sphere); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_39271848);
+    __Pyx_GIVEREF(__pyx_int_39271848);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_39271848);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, Py_None);
+    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_state);
+    __pyx_t_4 = 0;
+    __pyx_t_5 = 0;
+    __pyx_r = __pyx_t_3;
+    __pyx_t_3 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self._xhi is not None or self._xlo is not None or self._yhi is not None or self._ylo is not None or self._zhi is not None or self._zlo is not None or self.clips is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, None), state
+ *     else:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Sphere__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_Sphere); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_39271848);
+    __Pyx_GIVEREF(__pyx_int_39271848);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_39271848);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state);
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5);
+    __pyx_t_3 = 0;
+    __pyx_t_5 = 0;
+    __pyx_r = __pyx_t_4;
+    __pyx_t_4 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Sphere__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_20__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_20__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Sphere__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Sphere__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Sphere, (type(self), 0x2573da8, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Sphere__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Sphere.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":172
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ *     cdef list neighbors, clips, neighbor_regions
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         if self.clips:
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_1__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_1__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder___repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":173
+ *     cdef list neighbors, clips, neighbor_regions
+ *     def __repr__(self):
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)
+ *         else:
+ */
+  __pyx_t_1 = (__pyx_v_self->clips != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->clips) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":174
+ *     def __repr__(self):
+ *         if self.clips:
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)             # <<<<<<<<<<<<<<
+ *         else:
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->r); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyTuple_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_9, 6, __pyx_t_8);
+    __Pyx_INCREF(__pyx_v_self->clips);
+    __Pyx_GIVEREF(__pyx_v_self->clips);
+    PyTuple_SET_ITEM(__pyx_t_9, 7, __pyx_v_self->clips);
+    __pyx_t_2 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_7 = 0;
+    __pyx_t_8 = 0;
+    __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_Cylinder_g_g_g_g_g_g_g_clips_r, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 174, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_r = __pyx_t_8;
+    __pyx_t_8 = 0;
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":173
+ *     cdef list neighbors, clips, neighbor_regions
+ *     def __repr__(self):
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)
+ *         else:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":176
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)
+ *         else:
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r)             # <<<<<<<<<<<<<<
+ *     property xlo:
+ *         def __get__(self): return self._xlo
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->r); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_2 = PyTuple_New(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_t_3);
+    __pyx_t_8 = 0;
+    __pyx_t_9 = 0;
+    __pyx_t_7 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Cylinder_g_g_g_g_g_g_g, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_r = __pyx_t_3;
+    __pyx_t_3 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":172
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi
+ *     cdef list neighbors, clips, neighbor_regions
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         if self.clips:
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g; clips=%r)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r, self.clips)
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":178
+ *             return 'Cylinder(%g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.x1, self.y1, self.z1, self.r)
+ *     property xlo:
+ *         def __get__(self): return self._xlo             # <<<<<<<<<<<<<<
+ *     property xhi:
+ *         def __get__(self): return self._xhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.xlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":180
+ *         def __get__(self): return self._xlo
+ *     property xhi:
+ *         def __get__(self): return self._xhi             # <<<<<<<<<<<<<<
+ *     property ylo:
+ *         def __get__(self): return self._ylo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.xhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":182
+ *         def __get__(self): return self._xhi
+ *     property ylo:
+ *         def __get__(self): return self._ylo             # <<<<<<<<<<<<<<
+ *     property yhi:
+ *         def __get__(self): return self._yhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.ylo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":184
+ *         def __get__(self): return self._ylo
+ *     property yhi:
+ *         def __get__(self): return self._yhi             # <<<<<<<<<<<<<<
+ *     property zlo:
+ *         def __get__(self): return self._zlo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.yhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":186
+ *         def __get__(self): return self._yhi
+ *     property zlo:
+ *         def __get__(self): return self._zlo             # <<<<<<<<<<<<<<
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.zlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":188
+ *         def __get__(self): return self._zlo
+ *     property zhi:
+ *         def __get__(self): return self._zhi             # <<<<<<<<<<<<<<
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double x1, double y1, double z1, double r):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.zhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":190
+ *         def __get__(self): return self._zhi
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double x1, double y1, double z1, double r):             # <<<<<<<<<<<<<<
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_r;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x0,&__pyx_n_s_y0,&__pyx_n_s_z0,&__pyx_n_s_x1,&__pyx_n_s_y1,&__pyx_n_s_z1,&__pyx_n_s_r,0};
+    PyObject* values[7] = {0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x0)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 1); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 2); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 3); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 4); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 5); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, 6); __PYX_ERR(0, 190, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 190, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+    }
+    __pyx_v_x0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_y0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_z0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_x1 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_x1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_y1 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_y1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_z1 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_z1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+    __pyx_v_r = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_r == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 190, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_2__init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  double __pyx_t_1;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  double __pyx_t_5;
+  double __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":191
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double x1, double y1, double z1, double r):
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5             # <<<<<<<<<<<<<<
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1
+ *         self.rr = r * r
+ */
+  __pyx_t_1 = ((__pyx_v_x0 + __pyx_v_x1) * 0.5);
+  __pyx_t_2 = ((__pyx_v_y0 + __pyx_v_y1) * 0.5);
+  __pyx_t_3 = ((__pyx_v_z0 + __pyx_v_z1) * 0.5);
+  __pyx_v_self->cx = __pyx_t_1;
+  __pyx_v_self->cy = __pyx_t_2;
+  __pyx_v_self->cz = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":192
+ *     def __init__(self, double x0, double y0, double z0, double x1, double y1, double z1, double r):
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1             # <<<<<<<<<<<<<<
+ *         self.rr = r * r
+ *         self.r = r
+ */
+  __pyx_t_3 = __pyx_v_x0;
+  __pyx_t_2 = __pyx_v_y0;
+  __pyx_t_1 = __pyx_v_z0;
+  __pyx_t_4 = __pyx_v_x1;
+  __pyx_t_5 = __pyx_v_y1;
+  __pyx_t_6 = __pyx_v_z1;
+  __pyx_v_self->x0 = __pyx_t_3;
+  __pyx_v_self->y0 = __pyx_t_2;
+  __pyx_v_self->z0 = __pyx_t_1;
+  __pyx_v_self->x1 = __pyx_t_4;
+  __pyx_v_self->y1 = __pyx_t_5;
+  __pyx_v_self->z1 = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":193
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1
+ *         self.rr = r * r             # <<<<<<<<<<<<<<
+ *         self.r = r
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ */
+  __pyx_v_self->rr = (__pyx_v_r * __pyx_v_r);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":194
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1
+ *         self.rr = r * r
+ *         self.r = r             # <<<<<<<<<<<<<<
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ */
+  __pyx_v_self->r = __pyx_v_r;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":195
+ *         self.rr = r * r
+ *         self.r = r
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)             # <<<<<<<<<<<<<<
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ */
+  __pyx_t_6 = (__pyx_v_x1 - __pyx_v_x0);
+  __pyx_t_5 = (__pyx_v_y1 - __pyx_v_y0);
+  __pyx_t_4 = (__pyx_v_z1 - __pyx_v_z0);
+  __pyx_v_self->axisx = __pyx_t_6;
+  __pyx_v_self->axisy = __pyx_t_5;
+  __pyx_v_self->axisz = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":196
+ *         self.r = r
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)             # <<<<<<<<<<<<<<
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ */
+  __pyx_v_self->length = sqrt(((pow(__pyx_v_self->axisx, 2.0) + pow(__pyx_v_self->axisy, 2.0)) + pow(__pyx_v_self->axisz, 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":198
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ *         self.axisx /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 198, __pyx_L1_error)
+  }
+  __pyx_v_self->axisx = (__pyx_v_self->axisx / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":199
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisz /= self.length
+ * 
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 199, __pyx_L1_error)
+  }
+  __pyx_v_self->axisy = (__pyx_v_self->axisy / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":200
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 200, __pyx_L1_error)
+  }
+  __pyx_v_self->axisz = (__pyx_v_self->axisz / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":203
+ * 
+ * 
+ *         self.h = self.length * 0.5             # <<<<<<<<<<<<<<
+ * 
+ *         self._xlo = min(x0 - r, x1 - r)
+ */
+  __pyx_v_self->h = (__pyx_v_self->length * 0.5);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":205
+ *         self.h = self.length * 0.5
+ * 
+ *         self._xlo = min(x0 - r, x1 - r)             # <<<<<<<<<<<<<<
+ *         self._xhi = max(x0 + r, x1 + r)
+ *         self._ylo = min(y0 - r, y1 - r)
+ */
+  __pyx_t_4 = (__pyx_v_x1 - __pyx_v_r);
+  __pyx_t_5 = (__pyx_v_x0 - __pyx_v_r);
+  if (((__pyx_t_4 < __pyx_t_5) != 0)) {
+    __pyx_t_6 = __pyx_t_4;
+  } else {
+    __pyx_t_6 = __pyx_t_5;
+  }
+  __pyx_v_self->_xlo = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":206
+ * 
+ *         self._xlo = min(x0 - r, x1 - r)
+ *         self._xhi = max(x0 + r, x1 + r)             # <<<<<<<<<<<<<<
+ *         self._ylo = min(y0 - r, y1 - r)
+ *         self._yhi = max(y0 + r, y1 + r)
+ */
+  __pyx_t_6 = (__pyx_v_x1 + __pyx_v_r);
+  __pyx_t_4 = (__pyx_v_x0 + __pyx_v_r);
+  if (((__pyx_t_6 > __pyx_t_4) != 0)) {
+    __pyx_t_5 = __pyx_t_6;
+  } else {
+    __pyx_t_5 = __pyx_t_4;
+  }
+  __pyx_v_self->_xhi = __pyx_t_5;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":207
+ *         self._xlo = min(x0 - r, x1 - r)
+ *         self._xhi = max(x0 + r, x1 + r)
+ *         self._ylo = min(y0 - r, y1 - r)             # <<<<<<<<<<<<<<
+ *         self._yhi = max(y0 + r, y1 + r)
+ *         self._zlo = min(z0 - r, z1 - r)
+ */
+  __pyx_t_5 = (__pyx_v_y1 - __pyx_v_r);
+  __pyx_t_6 = (__pyx_v_y0 - __pyx_v_r);
+  if (((__pyx_t_5 < __pyx_t_6) != 0)) {
+    __pyx_t_4 = __pyx_t_5;
+  } else {
+    __pyx_t_4 = __pyx_t_6;
+  }
+  __pyx_v_self->_ylo = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":208
+ *         self._xhi = max(x0 + r, x1 + r)
+ *         self._ylo = min(y0 - r, y1 - r)
+ *         self._yhi = max(y0 + r, y1 + r)             # <<<<<<<<<<<<<<
+ *         self._zlo = min(z0 - r, z1 - r)
+ *         self._zhi = max(z0 + r, z1 + r)
+ */
+  __pyx_t_4 = (__pyx_v_y1 + __pyx_v_r);
+  __pyx_t_5 = (__pyx_v_y0 + __pyx_v_r);
+  if (((__pyx_t_4 > __pyx_t_5) != 0)) {
+    __pyx_t_6 = __pyx_t_4;
+  } else {
+    __pyx_t_6 = __pyx_t_5;
+  }
+  __pyx_v_self->_yhi = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":209
+ *         self._ylo = min(y0 - r, y1 - r)
+ *         self._yhi = max(y0 + r, y1 + r)
+ *         self._zlo = min(z0 - r, z1 - r)             # <<<<<<<<<<<<<<
+ *         self._zhi = max(z0 + r, z1 + r)
+ *         self.neighbors = []
+ */
+  __pyx_t_6 = (__pyx_v_z1 - __pyx_v_r);
+  __pyx_t_4 = (__pyx_v_z0 - __pyx_v_r);
+  if (((__pyx_t_6 < __pyx_t_4) != 0)) {
+    __pyx_t_5 = __pyx_t_6;
+  } else {
+    __pyx_t_5 = __pyx_t_4;
+  }
+  __pyx_v_self->_zlo = __pyx_t_5;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":210
+ *         self._yhi = max(y0 + r, y1 + r)
+ *         self._zlo = min(z0 - r, z1 - r)
+ *         self._zhi = max(z0 + r, z1 + r)             # <<<<<<<<<<<<<<
+ *         self.neighbors = []
+ *         self.clips = []
+ */
+  __pyx_t_5 = (__pyx_v_z1 + __pyx_v_r);
+  __pyx_t_6 = (__pyx_v_z0 + __pyx_v_r);
+  if (((__pyx_t_5 > __pyx_t_6) != 0)) {
+    __pyx_t_4 = __pyx_t_5;
+  } else {
+    __pyx_t_4 = __pyx_t_6;
+  }
+  __pyx_v_self->_zhi = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":211
+ *         self._zlo = min(z0 - r, z1 - r)
+ *         self._zhi = max(z0 + r, z1 + r)
+ *         self.neighbors = []             # <<<<<<<<<<<<<<
+ *         self.clips = []
+ *         self.neighbor_regions = []
+ */
+  __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 211, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_7);
+  __Pyx_GOTREF(__pyx_v_self->neighbors);
+  __Pyx_DECREF(__pyx_v_self->neighbors);
+  __pyx_v_self->neighbors = ((PyObject*)__pyx_t_7);
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":212
+ *         self._zhi = max(z0 + r, z1 + r)
+ *         self.neighbors = []
+ *         self.clips = []             # <<<<<<<<<<<<<<
+ *         self.neighbor_regions = []
+ * 
+ */
+  __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 212, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_7);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_7);
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":213
+ *         self.neighbors = []
+ *         self.clips = []
+ *         self.neighbor_regions = []             # <<<<<<<<<<<<<<
+ * 
+ *     property axislength:
+ */
+  __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 213, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_7);
+  __Pyx_GOTREF(__pyx_v_self->neighbor_regions);
+  __Pyx_DECREF(__pyx_v_self->neighbor_regions);
+  __pyx_v_self->neighbor_regions = ((PyObject*)__pyx_t_7);
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":190
+ *         def __get__(self): return self._zhi
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double x1, double y1, double z1, double r):             # <<<<<<<<<<<<<<
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.x0, self.y0, self.z0, self.x1, self.y1, self.z1 = x0, y0, z0, x1, y1, z1
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":216
+ * 
+ *     property axislength:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.length
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":217
+ *     property axislength:
+ *         def __get__(self):
+ *             return self.length             # <<<<<<<<<<<<<<
+ * 
+ *     property _x0:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":216
+ * 
+ *     property axislength:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.length
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.axislength.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":220
+ * 
+ *     property _x0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x0
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":221
+ *     property _x0:
+ *         def __get__(self):
+ *             return self.x0             # <<<<<<<<<<<<<<
+ * 
+ *     property _y0:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":220
+ * 
+ *     property _x0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x0
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._x0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":224
+ * 
+ *     property _y0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y0
+ *     property _z0:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":225
+ *     property _y0:
+ *         def __get__(self):
+ *             return self.y0             # <<<<<<<<<<<<<<
+ *     property _z0:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":224
+ * 
+ *     property _y0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y0
+ *     property _z0:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._y0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":227
+ *             return self.y0
+ *     property _z0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z0
+ *     property _r0:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":228
+ *     property _z0:
+ *         def __get__(self):
+ *             return self.z0             # <<<<<<<<<<<<<<
+ *     property _r0:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":227
+ *             return self.y0
+ *     property _z0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z0
+ *     property _r0:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._z0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":230
+ *             return self.z0
+ *     property _r0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":231
+ *     property _r0:
+ *         def __get__(self):
+ *             return self.r             # <<<<<<<<<<<<<<
+ * 
+ *     property _x1:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":230
+ *             return self.z0
+ *     property _r0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._r0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":234
+ * 
+ *     property _x1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x1
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":235
+ *     property _x1:
+ *         def __get__(self):
+ *             return self.x1             # <<<<<<<<<<<<<<
+ * 
+ *     property _y1:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":234
+ * 
+ *     property _x1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x1
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._x1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":238
+ * 
+ *     property _y1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y1
+ *     property _z1:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":239
+ *     property _y1:
+ *         def __get__(self):
+ *             return self.y1             # <<<<<<<<<<<<<<
+ *     property _z1:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":238
+ * 
+ *     property _y1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y1
+ *     property _z1:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._y1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":241
+ *             return self.y1
+ *     property _z1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z1
+ *     property _r1:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":242
+ *     property _z1:
+ *         def __get__(self):
+ *             return self.z1             # <<<<<<<<<<<<<<
+ *     property _r1:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":241
+ *             return self.y1
+ *     property _z1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z1
+ *     property _r1:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._z1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":244
+ *             return self.z1
+ *     property _r1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r
+ *     property primitives:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":245
+ *     property _r1:
+ *         def __get__(self):
+ *             return self.r             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return [self]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->r); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":244
+ *             return self.z1
+ *     property _r1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r
+ *     property primitives:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder._r1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":247
+ *             return self.r
+ *     property primitives:
+ *         def __get__(self): return [self]             # <<<<<<<<<<<<<<
+ * 
+ *     def get_clip(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":249
+ *         def __get__(self): return [self]
+ * 
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_5get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_5get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_4get_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_4get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":250
+ * 
+ *     def get_clip(self):
+ *         return self.clips             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __pyx_r = __pyx_v_self->clips;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":249
+ *         def __get__(self): return [self]
+ * 
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":253
+ * 
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_7set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_7set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_6set_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), ((PyObject *)__pyx_v_clips));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_6set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("set_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":254
+ * 
+ *     def set_clip(self, clips):
+ *         self.clips = clips             # <<<<<<<<<<<<<<
+ * 
+ *     def axis(self):
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_clips))||((__pyx_v_clips) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_clips)->tp_name), 0))) __PYX_ERR(0, 254, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_clips;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":253
+ * 
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ * 
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.set_clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":256
+ *         self.clips = clips
+ * 
+ *     def axis(self):             # <<<<<<<<<<<<<<
+ *         return (self.axisx, self.axisy, self.axisz)
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_9axis(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_9axis(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("axis (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_8axis(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_8axis(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("axis", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":257
+ * 
+ *     def axis(self):
+ *         return (self.axisx, self.axisy, self.axisz)             # <<<<<<<<<<<<<<
+ * 
+ *     def set_neighbors(self, neighbors, neighbor_regions):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_r = __pyx_t_4;
+  __pyx_t_4 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":256
+ *         self.clips = clips
+ * 
+ *     def axis(self):             # <<<<<<<<<<<<<<
+ *         return (self.axisx, self.axisy, self.axisz)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.axis", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":259
+ *         return (self.axisx, self.axisy, self.axisz)
+ * 
+ *     def set_neighbors(self, neighbors, neighbor_regions):             # <<<<<<<<<<<<<<
+ *         self.neighbors = neighbors
+ *         self.neighbor_regions = neighbor_regions
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_11set_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_11set_neighbors(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_neighbors = 0;
+  PyObject *__pyx_v_neighbor_regions = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_neighbors (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_neighbors,&__pyx_n_s_neighbor_regions,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_neighbors)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_neighbor_regions)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("set_neighbors", 1, 2, 2, 1); __PYX_ERR(0, 259, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_neighbors") < 0)) __PYX_ERR(0, 259, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_neighbors = values[0];
+    __pyx_v_neighbor_regions = values[1];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("set_neighbors", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 259, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.set_neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10set_neighbors(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_neighbors, __pyx_v_neighbor_regions);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10set_neighbors(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_neighbors, PyObject *__pyx_v_neighbor_regions) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("set_neighbors", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":260
+ * 
+ *     def set_neighbors(self, neighbors, neighbor_regions):
+ *         self.neighbors = neighbors             # <<<<<<<<<<<<<<
+ *         self.neighbor_regions = neighbor_regions
+ * 
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_neighbors))||((__pyx_v_neighbors) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_neighbors)->tp_name), 0))) __PYX_ERR(0, 260, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_neighbors;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->neighbors);
+  __Pyx_DECREF(__pyx_v_self->neighbors);
+  __pyx_v_self->neighbors = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":261
+ *     def set_neighbors(self, neighbors, neighbor_regions):
+ *         self.neighbors = neighbors
+ *         self.neighbor_regions = neighbor_regions             # <<<<<<<<<<<<<<
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_neighbor_regions))||((__pyx_v_neighbor_regions) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_neighbor_regions)->tp_name), 0))) __PYX_ERR(0, 261, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_neighbor_regions;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->neighbor_regions);
+  __Pyx_DECREF(__pyx_v_self->neighbor_regions);
+  __pyx_v_self->neighbor_regions = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":259
+ *         return (self.axisx, self.axisy, self.axisz)
+ * 
+ *     def set_neighbors(self, neighbors, neighbor_regions):             # <<<<<<<<<<<<<<
+ *         self.neighbors = neighbors
+ *         self.neighbor_regions = neighbor_regions
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.set_neighbors", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":263
+ *         self.neighbor_regions = neighbor_regions
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y, yy, xx
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_13within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("within_core", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_within_core); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_13within_core)) {
+        __Pyx_XDECREF(__pyx_r);
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 263, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 263, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 263, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_r = __pyx_t_2;
+        __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":265
+ *     cpdef within_core(self, double px, double py, double pz):
+ *         cdef double nx, ny, nz, y, yy, xx
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz             # <<<<<<<<<<<<<<
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         return y < self.h
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->cx);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->cy);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->cz);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":266
+ *         cdef double nx, ny, nz, y, yy, xx
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)             # <<<<<<<<<<<<<<
+ *         return y < self.h
+ * 
+ */
+  __pyx_v_y = fabs((((__pyx_v_self->axisx * __pyx_v_nx) + (__pyx_v_self->axisy * __pyx_v_ny)) + (__pyx_v_self->axisz * __pyx_v_nz)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":267
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         return y < self.h             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_y < __pyx_v_self->h)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":263
+ *         self.neighbor_regions = neighbor_regions
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y, yy, xx
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_13within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_13within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("within_core (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, 1); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, 2); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "within_core") < 0)) __PYX_ERR(0, 263, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 263, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_12within_core(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_12within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("within_core", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_within_core(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":270
+ * 
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_15starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_15starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 270, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 270, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 270, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 270, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_14starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_14starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":272
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],             # <<<<<<<<<<<<<<
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 272, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 272, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 272, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 272, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = NULL;
+    __pyx_t_7 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+        __pyx_t_7 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_6) {
+        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_zs);
+      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 272, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":273
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),             # <<<<<<<<<<<<<<
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_bisect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_bisect); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":274
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_bisect); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_xs, __pyx_t_5};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_xs, __pyx_t_5};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_5);
+    __pyx_t_5 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_ys, __pyx_t_9};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_ys, __pyx_t_9};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_bisect); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_9, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_9)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_zs, __pyx_t_8};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_zs, __pyx_t_8};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5);
+  __pyx_t_4 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":273
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),             # <<<<<<<<<<<<<<
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ */
+  __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_9);
+  __pyx_t_6 = 0;
+  __pyx_t_9 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":272
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],             # <<<<<<<<<<<<<<
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ */
+  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 272, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_5);
+  __pyx_t_1 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 272, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_r = __pyx_t_5;
+  __pyx_t_5 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":270
+ * 
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":277
+ * 
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:cyldist
+ *         cdef double nx, ny, nz, y, yy, xx, d
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_17distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  double __pyx_v_yy;
+  double __pyx_v_xx;
+  double __pyx_v_d;
+  double __pyx_v_x;
+  PyObject *__pyx_v_clip = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_t_13;
+  Py_ssize_t __pyx_t_14;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_17distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 277, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 277, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":280
+ *         # CTNG:cyldist
+ *         cdef double nx, ny, nz, y, yy, xx, d
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz             # <<<<<<<<<<<<<<
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         yy = y * y
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->cx);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->cy);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->cz);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":281
+ *         cdef double nx, ny, nz, y, yy, xx, d
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)             # <<<<<<<<<<<<<<
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ */
+  __pyx_v_y = fabs((((__pyx_v_self->axisx * __pyx_v_nx) + (__pyx_v_self->axisy * __pyx_v_ny)) + (__pyx_v_self->axisz * __pyx_v_nz)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":282
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         yy = y * y             # <<<<<<<<<<<<<<
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         if y < self.h:
+ */
+  __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":283
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy             # <<<<<<<<<<<<<<
+ *         if y < self.h:
+ *             # this was wrong in my version from 2012-06-28, since did not
+ */
+  __pyx_v_xx = ((((__pyx_v_nx * __pyx_v_nx) + (__pyx_v_ny * __pyx_v_ny)) + (__pyx_v_nz * __pyx_v_nz)) - __pyx_v_yy);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":284
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         if y < self.h:             # <<<<<<<<<<<<<<
+ *             # this was wrong in my version from 2012-06-28, since did not
+ *             # handle end-caps being closest
+ */
+  __pyx_t_13 = ((__pyx_v_y < __pyx_v_self->h) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":287
+ *             # this was wrong in my version from 2012-06-28, since did not
+ *             # handle end-caps being closest
+ *             d = max(y - self.h, sqrt(xx) - self.r)             # <<<<<<<<<<<<<<
+ *         else:
+ *             y -= self.h
+ */
+    __pyx_t_12 = (sqrt(__pyx_v_xx) - __pyx_v_self->r);
+    __pyx_t_11 = (__pyx_v_y - __pyx_v_self->h);
+    if (((__pyx_t_12 > __pyx_t_11) != 0)) {
+      __pyx_t_10 = __pyx_t_12;
+    } else {
+      __pyx_t_10 = __pyx_t_11;
+    }
+    __pyx_v_d = __pyx_t_10;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":284
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         if y < self.h:             # <<<<<<<<<<<<<<
+ *             # this was wrong in my version from 2012-06-28, since did not
+ *             # handle end-caps being closest
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":289
+ *             d = max(y - self.h, sqrt(xx) - self.r)
+ *         else:
+ *             y -= self.h             # <<<<<<<<<<<<<<
+ *             if xx < self.rr:
+ *                 d = y
+ */
+  /*else*/ {
+    __pyx_v_y = (__pyx_v_y - __pyx_v_self->h);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":290
+ *         else:
+ *             y -= self.h
+ *             if xx < self.rr:             # <<<<<<<<<<<<<<
+ *                 d = y
+ *             else:
+ */
+    __pyx_t_13 = ((__pyx_v_xx < __pyx_v_self->rr) != 0);
+    if (__pyx_t_13) {
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":291
+ *             y -= self.h
+ *             if xx < self.rr:
+ *                 d = y             # <<<<<<<<<<<<<<
+ *             else:
+ *                 yy = y * y
+ */
+      __pyx_v_d = __pyx_v_y;
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":290
+ *         else:
+ *             y -= self.h
+ *             if xx < self.rr:             # <<<<<<<<<<<<<<
+ *                 d = y
+ *             else:
+ */
+      goto __pyx_L4;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":293
+ *                 d = y
+ *             else:
+ *                 yy = y * y             # <<<<<<<<<<<<<<
+ *                 x = sqrt(xx) - self.r
+ *                 d = sqrt(yy + x * x)
+ */
+    /*else*/ {
+      __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":294
+ *             else:
+ *                 yy = y * y
+ *                 x = sqrt(xx) - self.r             # <<<<<<<<<<<<<<
+ *                 d = sqrt(yy + x * x)
+ * 
+ */
+      __pyx_v_x = (sqrt(__pyx_v_xx) - __pyx_v_self->r);
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":295
+ *                 yy = y * y
+ *                 x = sqrt(xx) - self.r
+ *                 d = sqrt(yy + x * x)             # <<<<<<<<<<<<<<
+ * 
+ *         for clip in self.clips:
+ */
+      __pyx_v_d = sqrt((__pyx_v_yy + (__pyx_v_x * __pyx_v_x)));
+    }
+    __pyx_L4:;
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":297
+ *                 d = sqrt(yy + x * x)
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 297, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_1); __pyx_t_14 = 0;
+  for (;;) {
+    if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_14); __Pyx_INCREF(__pyx_t_2); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 297, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_clip, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":298
+ * 
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))             # <<<<<<<<<<<<<<
+ *         return d
+ * 
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_clip, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_7 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 298, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      if (__pyx_t_3) {
+        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_9);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_4);
+      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_4);
+      __pyx_t_9 = 0;
+      __pyx_t_5 = 0;
+      __pyx_t_4 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_10 = __pyx_v_d;
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_13) {
+      __Pyx_INCREF(__pyx_t_2);
+      __pyx_t_6 = __pyx_t_2;
+    } else {
+      __pyx_t_4 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_6 = __pyx_t_4;
+      __pyx_t_4 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_v_d = __pyx_t_10;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":297
+ *                 d = sqrt(yy + x * x)
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":299
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_d;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":277
+ * 
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:cyldist
+ *         cdef double nx, ny, nz, y, yy, xx, d
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_clip);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_17distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_17distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 277, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 277, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 277, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 277, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 277, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 277, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 277, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_16distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_16distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":305
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_19overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_19overlaps_x)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":306
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_xhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_xlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":305
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_19overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_19overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_x (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, 1); __PYX_ERR(0, 305, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_x") < 0)) __PYX_ERR(0, 305, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 305, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 305, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 305, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_18overlaps_x(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_18overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_x(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":307
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_21overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_21overlaps_y)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 307, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 307, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":308
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_yhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_ylo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":307
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_21overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_21overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_y (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, 1); __PYX_ERR(0, 307, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_y") < 0)) __PYX_ERR(0, 307, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 307, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 307, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 307, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_20overlaps_y(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_20overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_y(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":309
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_23overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_23overlaps_z)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 309, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":310
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_zhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_zlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":309
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_23overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_23overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_z (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, 1); __PYX_ERR(0, 309, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_z") < 0)) __PYX_ERR(0, 309, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 309, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_22overlaps_z(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_22overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_z(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_25__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_24__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_24__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  int __pyx_t_24;
+  int __pyx_t_25;
+  int __pyx_t_26;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r, self.rr, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_self->cx); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_self->cy); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __pyx_t_12 = PyFloat_FromDouble(__pyx_v_self->cz); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_self->h); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_14 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __pyx_t_15 = PyFloat_FromDouble(__pyx_v_self->r); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_16 = PyFloat_FromDouble(__pyx_v_self->rr); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_17 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_18 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_19 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_19);
+  __pyx_t_20 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __pyx_t_21 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_21);
+  __pyx_t_22 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_22);
+  __pyx_t_23 = PyTuple_New(25); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_23, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_23, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_23, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_23, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_23, 7, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyTuple_SET_ITEM(__pyx_t_23, 8, __pyx_t_9);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_v_self->clips);
+  PyTuple_SET_ITEM(__pyx_t_23, 9, __pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyTuple_SET_ITEM(__pyx_t_23, 10, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyTuple_SET_ITEM(__pyx_t_23, 11, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyTuple_SET_ITEM(__pyx_t_23, 12, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyTuple_SET_ITEM(__pyx_t_23, 13, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyTuple_SET_ITEM(__pyx_t_23, 14, __pyx_t_14);
+  __Pyx_INCREF(__pyx_v_self->neighbor_regions);
+  __Pyx_GIVEREF(__pyx_v_self->neighbor_regions);
+  PyTuple_SET_ITEM(__pyx_t_23, 15, __pyx_v_self->neighbor_regions);
+  __Pyx_INCREF(__pyx_v_self->neighbors);
+  __Pyx_GIVEREF(__pyx_v_self->neighbors);
+  PyTuple_SET_ITEM(__pyx_t_23, 16, __pyx_v_self->neighbors);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyTuple_SET_ITEM(__pyx_t_23, 17, __pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_16);
+  PyTuple_SET_ITEM(__pyx_t_23, 18, __pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_17);
+  PyTuple_SET_ITEM(__pyx_t_23, 19, __pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_18);
+  PyTuple_SET_ITEM(__pyx_t_23, 20, __pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_19);
+  PyTuple_SET_ITEM(__pyx_t_23, 21, __pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_20);
+  PyTuple_SET_ITEM(__pyx_t_23, 22, __pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_21);
+  PyTuple_SET_ITEM(__pyx_t_23, 23, __pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_22);
+  PyTuple_SET_ITEM(__pyx_t_23, 24, __pyx_t_22);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_t_16 = 0;
+  __pyx_t_17 = 0;
+  __pyx_t_18 = 0;
+  __pyx_t_19 = 0;
+  __pyx_t_20 = 0;
+  __pyx_t_21 = 0;
+  __pyx_t_22 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_23);
+  __pyx_t_23 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r, self.rr, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_23 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __pyx_v__dict = __pyx_t_23;
+  __pyx_t_23 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r, self.rr, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_24 = (__pyx_v__dict != Py_None);
+  __pyx_t_25 = (__pyx_t_24 != 0);
+  if (__pyx_t_25) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_23 = PyTuple_New(1); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_v__dict);
+    __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_22));
+    __pyx_t_22 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r, self.rr, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, None), state
+ */
+  /*else*/ {
+    __pyx_t_24 = (__pyx_v_self->clips != ((PyObject*)Py_None));
+    __pyx_t_26 = (__pyx_t_24 != 0);
+    if (!__pyx_t_26) {
+    } else {
+      __pyx_t_25 = __pyx_t_26;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_26 = (__pyx_v_self->neighbor_regions != ((PyObject*)Py_None));
+    __pyx_t_24 = (__pyx_t_26 != 0);
+    if (!__pyx_t_24) {
+    } else {
+      __pyx_t_25 = __pyx_t_24;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_24 = (__pyx_v_self->neighbors != ((PyObject*)Py_None));
+    __pyx_t_26 = (__pyx_t_24 != 0);
+    __pyx_t_25 = __pyx_t_26;
+    __pyx_L4_bool_binop_done:;
+    __pyx_v_use_setstate = __pyx_t_25;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, None), state
+ *     else:
+ */
+  __pyx_t_25 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_25) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_pyx_unpickle_Cylinder); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __pyx_t_23 = PyTuple_New(3); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_23, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_691256);
+    __Pyx_GIVEREF(__pyx_int_691256);
+    PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_int_691256);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_23, 2, Py_None);
+    __pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __Pyx_GIVEREF(__pyx_t_22);
+    PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_22);
+    __Pyx_GIVEREF(__pyx_t_23);
+    PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_23);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_v_state);
+    __pyx_t_22 = 0;
+    __pyx_t_23 = 0;
+    __pyx_r = __pyx_t_21;
+    __pyx_t_21 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, None), state
+ *     else:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Cylinder__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_pyx_unpickle_Cylinder); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_21);
+    __pyx_t_23 = PyTuple_New(3); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_23);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_23, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_691256);
+    __Pyx_GIVEREF(__pyx_int_691256);
+    PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_int_691256);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_v_state);
+    __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_22);
+    __Pyx_GIVEREF(__pyx_t_21);
+    PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_21);
+    __Pyx_GIVEREF(__pyx_t_23);
+    PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_23);
+    __pyx_t_21 = 0;
+    __pyx_t_23 = 0;
+    __pyx_r = __pyx_t_22;
+    __pyx_t_22 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Cylinder__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_27__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_26__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_26__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Cylinder__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cylinder__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Cylinder, (type(self), 0x00a8c38, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Cylinder__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cylinder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":319
+ *     cdef list clips
+ *     property primitives:
+ *         def __get__(self): return [self]             # <<<<<<<<<<<<<<
+ * 
+ *     def __repr__(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 319, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":321
+ *         def __get__(self): return [self]
+ * 
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1)
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_1__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_1__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone___repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":322
+ * 
+ *     def __repr__(self):
+ *         return 'SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1)             # <<<<<<<<<<<<<<
+ * 
+ *     def set_clip(self, clips):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyTuple_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_9, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_9, 7, __pyx_t_8);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_SphereCone_g_g_g_g_g_g_g_g, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 322, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_r = __pyx_t_8;
+  __pyx_t_8 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":321
+ *         def __get__(self): return [self]
+ * 
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         return 'SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":324
+ *         return 'SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1)
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_3set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_3set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_2set_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), ((PyObject *)__pyx_v_clips));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_2set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("set_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":325
+ * 
+ *     def set_clip(self, clips):
+ *         self.clips = clips             # <<<<<<<<<<<<<<
+ *     def get_clip(self):
+ *         return self.clips
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_clips))||((__pyx_v_clips) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_clips)->tp_name), 0))) __PYX_ERR(0, 325, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_clips;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":324
+ *         return 'SphereCone(%g, %g, %g, %g, %g, %g, %g, %g)' % (self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1)
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.set_clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":326
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_5get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_5get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_4get_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_4get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":327
+ *         self.clips = clips
+ *     def get_clip(self):
+ *         return self.clips             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __pyx_r = __pyx_v_self->clips;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":326
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":330
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):             # <<<<<<<<<<<<<<
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_7__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_7__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_r0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_r1;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x0,&__pyx_n_s_y0,&__pyx_n_s_z0,&__pyx_n_s_r0,&__pyx_n_s_x1,&__pyx_n_s_y1,&__pyx_n_s_z1,&__pyx_n_s_r1,0};
+    PyObject* values[8] = {0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x0)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 1); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 2); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 3); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 4); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 5); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 6); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 7); __PYX_ERR(0, 330, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 330, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+    }
+    __pyx_v_x0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_y0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_z0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_r0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_r0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_x1 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_x1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_y1 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_y1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_z1 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_z1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+    __pyx_v_r1 = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_r1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 330, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_6__init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_6__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1) {
+  double __pyx_v_r0b;
+  double __pyx_v_s;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  double __pyx_t_5;
+  double __pyx_t_6;
+  double __pyx_t_7;
+  double __pyx_t_8;
+  double __pyx_t_9;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":331
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ * 
+ */
+  __pyx_t_1 = ((__pyx_v_r1 > __pyx_v_r0) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":332
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0             # <<<<<<<<<<<<<<
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ */
+    __pyx_t_2 = __pyx_v_x1;
+    __pyx_t_3 = __pyx_v_y1;
+    __pyx_t_4 = __pyx_v_z1;
+    __pyx_t_5 = __pyx_v_r1;
+    __pyx_t_6 = __pyx_v_x0;
+    __pyx_t_7 = __pyx_v_y0;
+    __pyx_t_8 = __pyx_v_z0;
+    __pyx_t_9 = __pyx_v_r0;
+    __pyx_v_x0 = __pyx_t_2;
+    __pyx_v_y0 = __pyx_t_3;
+    __pyx_v_z0 = __pyx_t_4;
+    __pyx_v_r0 = __pyx_t_5;
+    __pyx_v_x1 = __pyx_t_6;
+    __pyx_v_y1 = __pyx_t_7;
+    __pyx_v_z1 = __pyx_t_8;
+    __pyx_v_r1 = __pyx_t_9;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":331
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ * 
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":334
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1             # <<<<<<<<<<<<<<
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ */
+  __pyx_t_9 = __pyx_v_x0;
+  __pyx_t_8 = __pyx_v_y0;
+  __pyx_t_7 = __pyx_v_z0;
+  __pyx_t_6 = __pyx_v_r0;
+  __pyx_t_5 = __pyx_v_x1;
+  __pyx_t_4 = __pyx_v_y1;
+  __pyx_t_3 = __pyx_v_z1;
+  __pyx_t_2 = __pyx_v_r1;
+  __pyx_v_self->x0 = __pyx_t_9;
+  __pyx_v_self->y0 = __pyx_t_8;
+  __pyx_v_self->z0 = __pyx_t_7;
+  __pyx_v_self->r0 = __pyx_t_6;
+  __pyx_v_self->x1 = __pyx_t_5;
+  __pyx_v_self->y1 = __pyx_t_4;
+  __pyx_v_self->z1 = __pyx_t_3;
+  __pyx_v_self->r1 = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":336
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1             # <<<<<<<<<<<<<<
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ */
+  __pyx_t_2 = (__pyx_v_r0 * __pyx_v_r0);
+  __pyx_t_3 = (__pyx_v_r1 * __pyx_v_r1);
+  __pyx_v_self->rra = __pyx_t_2;
+  __pyx_v_self->rrb = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":337
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)             # <<<<<<<<<<<<<<
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ */
+  __pyx_t_3 = (__pyx_v_x1 - __pyx_v_x0);
+  __pyx_t_2 = (__pyx_v_y1 - __pyx_v_y0);
+  __pyx_t_4 = (__pyx_v_z1 - __pyx_v_z0);
+  __pyx_v_self->axisx = __pyx_t_3;
+  __pyx_v_self->axisy = __pyx_t_2;
+  __pyx_v_self->axisz = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":338
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)             # <<<<<<<<<<<<<<
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ */
+  __pyx_v_self->length = sqrt(((pow(__pyx_v_self->axisx, 2.0) + pow(__pyx_v_self->axisy, 2.0)) + pow(__pyx_v_self->axisz, 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":340
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ *         self.axisx /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 340, __pyx_L1_error)
+  }
+  __pyx_v_self->axisx = (__pyx_v_self->axisx / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":341
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisz /= self.length
+ *         """
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 341, __pyx_L1_error)
+  }
+  __pyx_v_self->axisy = (__pyx_v_self->axisy / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":342
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length             # <<<<<<<<<<<<<<
+ *         """
+ *         rab = r0 - r1
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 342, __pyx_L1_error)
+  }
+  __pyx_v_self->axisz = (__pyx_v_self->axisz / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":354
+ *         self.conelength = self.length * self.hra / self.r0
+ *         """
+ *         self.r0 = r0             # <<<<<<<<<<<<<<
+ *         self.r1 = r1
+ *         self.rrb = r1 * r1
+ */
+  __pyx_v_self->r0 = __pyx_v_r0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":355
+ *         """
+ *         self.r0 = r0
+ *         self.r1 = r1             # <<<<<<<<<<<<<<
+ *         self.rrb = r1 * r1
+ *         self.rra = r0 * r0
+ */
+  __pyx_v_self->r1 = __pyx_v_r1;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":356
+ *         self.r0 = r0
+ *         self.r1 = r1
+ *         self.rrb = r1 * r1             # <<<<<<<<<<<<<<
+ *         self.rra = r0 * r0
+ *         r0b = r0 - r1
+ */
+  __pyx_v_self->rrb = (__pyx_v_r1 * __pyx_v_r1);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":357
+ *         self.r1 = r1
+ *         self.rrb = r1 * r1
+ *         self.rra = r0 * r0             # <<<<<<<<<<<<<<
+ *         r0b = r0 - r1
+ *         s = sqrt(self.length * self.length - r0b * r0b)
+ */
+  __pyx_v_self->rra = (__pyx_v_r0 * __pyx_v_r0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":358
+ *         self.rrb = r1 * r1
+ *         self.rra = r0 * r0
+ *         r0b = r0 - r1             # <<<<<<<<<<<<<<
+ *         s = sqrt(self.length * self.length - r0b * r0b)
+ *         self.ha = self.r0 * r0b / self.length
+ */
+  __pyx_v_r0b = (__pyx_v_r0 - __pyx_v_r1);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":359
+ *         self.rra = r0 * r0
+ *         r0b = r0 - r1
+ *         s = sqrt(self.length * self.length - r0b * r0b)             # <<<<<<<<<<<<<<
+ *         self.ha = self.r0 * r0b / self.length
+ *         self.hb = self.r1 * r0b / self.length
+ */
+  __pyx_v_s = sqrt(((__pyx_v_self->length * __pyx_v_self->length) - (__pyx_v_r0b * __pyx_v_r0b)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":360
+ *         r0b = r0 - r1
+ *         s = sqrt(self.length * self.length - r0b * r0b)
+ *         self.ha = self.r0 * r0b / self.length             # <<<<<<<<<<<<<<
+ *         self.hb = self.r1 * r0b / self.length
+ *         self.hra = self.r0 * s / self.length
+ */
+  __pyx_t_4 = (__pyx_v_self->r0 * __pyx_v_r0b);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 360, __pyx_L1_error)
+  }
+  __pyx_v_self->ha = (__pyx_t_4 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":361
+ *         s = sqrt(self.length * self.length - r0b * r0b)
+ *         self.ha = self.r0 * r0b / self.length
+ *         self.hb = self.r1 * r0b / self.length             # <<<<<<<<<<<<<<
+ *         self.hra = self.r0 * s / self.length
+ *         self.hrb = self.r1 * s / self.length
+ */
+  __pyx_t_4 = (__pyx_v_self->r1 * __pyx_v_r0b);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 361, __pyx_L1_error)
+  }
+  __pyx_v_self->hb = (__pyx_t_4 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":362
+ *         self.ha = self.r0 * r0b / self.length
+ *         self.hb = self.r1 * r0b / self.length
+ *         self.hra = self.r0 * s / self.length             # <<<<<<<<<<<<<<
+ *         self.hrb = self.r1 * s / self.length
+ *         self.side1 = -self.ha / self.r0
+ */
+  __pyx_t_4 = (__pyx_v_self->r0 * __pyx_v_s);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 362, __pyx_L1_error)
+  }
+  __pyx_v_self->hra = (__pyx_t_4 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":363
+ *         self.hb = self.r1 * r0b / self.length
+ *         self.hra = self.r0 * s / self.length
+ *         self.hrb = self.r1 * s / self.length             # <<<<<<<<<<<<<<
+ *         self.side1 = -self.ha / self.r0
+ *         self.side2 = self.hra / self.r0
+ */
+  __pyx_t_4 = (__pyx_v_self->r1 * __pyx_v_s);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 363, __pyx_L1_error)
+  }
+  __pyx_v_self->hrb = (__pyx_t_4 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":364
+ *         self.hra = self.r0 * s / self.length
+ *         self.hrb = self.r1 * s / self.length
+ *         self.side1 = -self.ha / self.r0             # <<<<<<<<<<<<<<
+ *         self.side2 = self.hra / self.r0
+ *         self.conelength = self.length * self.hra / self.r0
+ */
+  __pyx_t_4 = (-__pyx_v_self->ha);
+  if (unlikely(__pyx_v_self->r0 == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 364, __pyx_L1_error)
+  }
+  __pyx_v_self->side1 = (__pyx_t_4 / __pyx_v_self->r0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":365
+ *         self.hrb = self.r1 * s / self.length
+ *         self.side1 = -self.ha / self.r0
+ *         self.side2 = self.hra / self.r0             # <<<<<<<<<<<<<<
+ *         self.conelength = self.length * self.hra / self.r0
+ * 
+ */
+  if (unlikely(__pyx_v_self->r0 == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 365, __pyx_L1_error)
+  }
+  __pyx_v_self->side2 = (__pyx_v_self->hra / __pyx_v_self->r0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":366
+ *         self.side1 = -self.ha / self.r0
+ *         self.side2 = self.hra / self.r0
+ *         self.conelength = self.length * self.hra / self.r0             # <<<<<<<<<<<<<<
+ * 
+ *         self._xlo = min(x0 - r0, x1 - r1)
+ */
+  __pyx_t_4 = (__pyx_v_self->length * __pyx_v_self->hra);
+  if (unlikely(__pyx_v_self->r0 == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 366, __pyx_L1_error)
+  }
+  __pyx_v_self->conelength = (__pyx_t_4 / __pyx_v_self->r0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":368
+ *         self.conelength = self.length * self.hra / self.r0
+ * 
+ *         self._xlo = min(x0 - r0, x1 - r1)             # <<<<<<<<<<<<<<
+ *         self._xhi = max(x0 + r0, x1 + r1)
+ *         self._ylo = min(y0 - r0, y1 - r1)
+ */
+  __pyx_t_4 = (__pyx_v_x1 - __pyx_v_r1);
+  __pyx_t_2 = (__pyx_v_x0 - __pyx_v_r0);
+  if (((__pyx_t_4 < __pyx_t_2) != 0)) {
+    __pyx_t_3 = __pyx_t_4;
+  } else {
+    __pyx_t_3 = __pyx_t_2;
+  }
+  __pyx_v_self->_xlo = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":369
+ * 
+ *         self._xlo = min(x0 - r0, x1 - r1)
+ *         self._xhi = max(x0 + r0, x1 + r1)             # <<<<<<<<<<<<<<
+ *         self._ylo = min(y0 - r0, y1 - r1)
+ *         self._yhi = max(y0 + r0, y1 + r1)
+ */
+  __pyx_t_3 = (__pyx_v_x1 + __pyx_v_r1);
+  __pyx_t_4 = (__pyx_v_x0 + __pyx_v_r0);
+  if (((__pyx_t_3 > __pyx_t_4) != 0)) {
+    __pyx_t_2 = __pyx_t_3;
+  } else {
+    __pyx_t_2 = __pyx_t_4;
+  }
+  __pyx_v_self->_xhi = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":370
+ *         self._xlo = min(x0 - r0, x1 - r1)
+ *         self._xhi = max(x0 + r0, x1 + r1)
+ *         self._ylo = min(y0 - r0, y1 - r1)             # <<<<<<<<<<<<<<
+ *         self._yhi = max(y0 + r0, y1 + r1)
+ *         self._zlo = min(z0 - r0, z1 - r1)
+ */
+  __pyx_t_2 = (__pyx_v_y1 - __pyx_v_r1);
+  __pyx_t_3 = (__pyx_v_y0 - __pyx_v_r0);
+  if (((__pyx_t_2 < __pyx_t_3) != 0)) {
+    __pyx_t_4 = __pyx_t_2;
+  } else {
+    __pyx_t_4 = __pyx_t_3;
+  }
+  __pyx_v_self->_ylo = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":371
+ *         self._xhi = max(x0 + r0, x1 + r1)
+ *         self._ylo = min(y0 - r0, y1 - r1)
+ *         self._yhi = max(y0 + r0, y1 + r1)             # <<<<<<<<<<<<<<
+ *         self._zlo = min(z0 - r0, z1 - r1)
+ *         self._zhi = max(z0 + r0, z1 + r1)
+ */
+  __pyx_t_4 = (__pyx_v_y1 + __pyx_v_r1);
+  __pyx_t_2 = (__pyx_v_y0 + __pyx_v_r0);
+  if (((__pyx_t_4 > __pyx_t_2) != 0)) {
+    __pyx_t_3 = __pyx_t_4;
+  } else {
+    __pyx_t_3 = __pyx_t_2;
+  }
+  __pyx_v_self->_yhi = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":372
+ *         self._ylo = min(y0 - r0, y1 - r1)
+ *         self._yhi = max(y0 + r0, y1 + r1)
+ *         self._zlo = min(z0 - r0, z1 - r1)             # <<<<<<<<<<<<<<
+ *         self._zhi = max(z0 + r0, z1 + r1)
+ *         self.clips = []
+ */
+  __pyx_t_3 = (__pyx_v_z1 - __pyx_v_r1);
+  __pyx_t_4 = (__pyx_v_z0 - __pyx_v_r0);
+  if (((__pyx_t_3 < __pyx_t_4) != 0)) {
+    __pyx_t_2 = __pyx_t_3;
+  } else {
+    __pyx_t_2 = __pyx_t_4;
+  }
+  __pyx_v_self->_zlo = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":373
+ *         self._yhi = max(y0 + r0, y1 + r1)
+ *         self._zlo = min(z0 - r0, z1 - r1)
+ *         self._zhi = max(z0 + r0, z1 + r1)             # <<<<<<<<<<<<<<
+ *         self.clips = []
+ * 
+ */
+  __pyx_t_2 = (__pyx_v_z1 + __pyx_v_r1);
+  __pyx_t_3 = (__pyx_v_z0 + __pyx_v_r0);
+  if (((__pyx_t_2 > __pyx_t_3) != 0)) {
+    __pyx_t_4 = __pyx_t_2;
+  } else {
+    __pyx_t_4 = __pyx_t_3;
+  }
+  __pyx_v_self->_zhi = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":374
+ *         self._zlo = min(z0 - r0, z1 - r1)
+ *         self._zhi = max(z0 + r0, z1 + r1)
+ *         self.clips = []             # <<<<<<<<<<<<<<
+ * 
+ *     def starting_points(self, xs, ys, zs):
+ */
+  __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 374, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_10);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_10);
+  __pyx_t_10 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":330
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):             # <<<<<<<<<<<<<<
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":376
+ *         self.clips = []
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self.x0 - self.axisx * self.r0), bisect.bisect_left(ys, self.y0 - self.axisy * self.r0), bisect.bisect_left(zs, self.z0 - self.axisz * self.r0))])
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_9starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_9starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 376, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 376, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 376, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 376, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_8starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_8starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":378
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self.x0 - self.axisx * self.r0), bisect.bisect_left(ys, self.y0 - self.axisy * self.r0), bisect.bisect_left(zs, self.z0 - self.axisz * self.r0))])             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 378, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 378, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = NULL;
+    __pyx_t_7 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+        __pyx_t_7 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 378, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_6) {
+        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_zs);
+      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_bisect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_self->x0 - (__pyx_v_self->axisx * __pyx_v_self->r0))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_bisect); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble((__pyx_v_self->y0 - (__pyx_v_self->axisy * __pyx_v_self->r0))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble((__pyx_v_self->z0 - (__pyx_v_self->axisz * __pyx_v_self->r0))); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);
+  __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
+  __pyx_t_1 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_r = __pyx_t_4;
+  __pyx_t_4 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":376
+ *         self.clips = []
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self.x0 - self.axisx * self.r0), bisect.bisect_left(ys, self.y0 - self.axisy * self.r0), bisect.bisect_left(zs, self.z0 - self.axisz * self.r0))])
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":381
+ * 
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, nn, x, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_11distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  double __pyx_v_yy;
+  double __pyx_v_xx;
+  double __pyx_v_ry;
+  double __pyx_v_rx;
+  double __pyx_v_nn;
+  double __pyx_v_x;
+  double __pyx_v_d;
+  PyObject *__pyx_v_clip = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_t_13;
+  Py_ssize_t __pyx_t_14;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_11distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 381, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 381, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 381, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":383
+ *     cpdef double distance(self, double px, double py, double pz):
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, nn, x, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0             # <<<<<<<<<<<<<<
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         nn = nx * nx + ny * ny + nz * nz
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->x0);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->y0);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->z0);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":384
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, nn, x, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz             # <<<<<<<<<<<<<<
+ *         nn = nx * nx + ny * ny + nz * nz
+ * 
+ */
+  __pyx_v_y = (((__pyx_v_nx * __pyx_v_self->axisx) + (__pyx_v_ny * __pyx_v_self->axisy)) + (__pyx_v_nz * __pyx_v_self->axisz));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":385
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         nn = nx * nx + ny * ny + nz * nz             # <<<<<<<<<<<<<<
+ * 
+ *         yy = y * y
+ */
+  __pyx_v_nn = (((__pyx_v_nx * __pyx_v_nx) + (__pyx_v_ny * __pyx_v_ny)) + (__pyx_v_nz * __pyx_v_nz));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":387
+ *         nn = nx * nx + ny * ny + nz * nz
+ * 
+ *         yy = y * y             # <<<<<<<<<<<<<<
+ *         xx = nn - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ */
+  __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":388
+ * 
+ *         yy = y * y
+ *         xx = nn - yy             # <<<<<<<<<<<<<<
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0
+ */
+  __pyx_v_xx = (__pyx_v_nn - __pyx_v_yy);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":390
+ *         xx = nn - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0             # <<<<<<<<<<<<<<
+ *         x = sqrt(xx)
+ *         ry = x * self.side1 + y * self.side2
+ */
+  __pyx_t_13 = ((__pyx_v_xx < 0.0) != 0);
+  if (__pyx_t_13) {
+    __pyx_v_xx = 0.0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":391
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0
+ *         x = sqrt(xx)             # <<<<<<<<<<<<<<
+ *         ry = x * self.side1 + y * self.side2
+ *         if ry < 0:
+ */
+  __pyx_v_x = sqrt(__pyx_v_xx);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":392
+ *         if xx < 0: xx = 0
+ *         x = sqrt(xx)
+ *         ry = x * self.side1 + y * self.side2             # <<<<<<<<<<<<<<
+ *         if ry < 0:
+ *             d = sqrt(nn) - self.r0
+ */
+  __pyx_v_ry = ((__pyx_v_x * __pyx_v_self->side1) + (__pyx_v_y * __pyx_v_self->side2));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":393
+ *         x = sqrt(xx)
+ *         ry = x * self.side1 + y * self.side2
+ *         if ry < 0:             # <<<<<<<<<<<<<<
+ *             d = sqrt(nn) - self.r0
+ *         elif ry > self.conelength:
+ */
+  __pyx_t_13 = ((__pyx_v_ry < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":394
+ *         ry = x * self.side1 + y * self.side2
+ *         if ry < 0:
+ *             d = sqrt(nn) - self.r0             # <<<<<<<<<<<<<<
+ *         elif ry > self.conelength:
+ *             y = y - self.length
+ */
+    __pyx_v_d = (sqrt(__pyx_v_nn) - __pyx_v_self->r0);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":393
+ *         x = sqrt(xx)
+ *         ry = x * self.side1 + y * self.side2
+ *         if ry < 0:             # <<<<<<<<<<<<<<
+ *             d = sqrt(nn) - self.r0
+ *         elif ry > self.conelength:
+ */
+    goto __pyx_L4;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":395
+ *         if ry < 0:
+ *             d = sqrt(nn) - self.r0
+ *         elif ry > self.conelength:             # <<<<<<<<<<<<<<
+ *             y = y - self.length
+ *             yy = y * y
+ */
+  __pyx_t_13 = ((__pyx_v_ry > __pyx_v_self->conelength) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":396
+ *             d = sqrt(nn) - self.r0
+ *         elif ry > self.conelength:
+ *             y = y - self.length             # <<<<<<<<<<<<<<
+ *             yy = y * y
+ *             nn = xx + yy
+ */
+    __pyx_v_y = (__pyx_v_y - __pyx_v_self->length);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":397
+ *         elif ry > self.conelength:
+ *             y = y - self.length
+ *             yy = y * y             # <<<<<<<<<<<<<<
+ *             nn = xx + yy
+ *             d = sqrt(nn) - self.r1
+ */
+    __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":398
+ *             y = y - self.length
+ *             yy = y * y
+ *             nn = xx + yy             # <<<<<<<<<<<<<<
+ *             d = sqrt(nn) - self.r1
+ *         else:
+ */
+    __pyx_v_nn = (__pyx_v_xx + __pyx_v_yy);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":399
+ *             yy = y * y
+ *             nn = xx + yy
+ *             d = sqrt(nn) - self.r1             # <<<<<<<<<<<<<<
+ *         else:
+ *             rx = x * self.side2 - y * self.side1
+ */
+    __pyx_v_d = (sqrt(__pyx_v_nn) - __pyx_v_self->r1);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":395
+ *         if ry < 0:
+ *             d = sqrt(nn) - self.r0
+ *         elif ry > self.conelength:             # <<<<<<<<<<<<<<
+ *             y = y - self.length
+ *             yy = y * y
+ */
+    goto __pyx_L4;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":401
+ *             d = sqrt(nn) - self.r1
+ *         else:
+ *             rx = x * self.side2 - y * self.side1             # <<<<<<<<<<<<<<
+ *             d = rx - self.r0
+ * 
+ */
+  /*else*/ {
+    __pyx_v_rx = ((__pyx_v_x * __pyx_v_self->side2) - (__pyx_v_y * __pyx_v_self->side1));
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":402
+ *         else:
+ *             rx = x * self.side2 - y * self.side1
+ *             d = rx - self.r0             # <<<<<<<<<<<<<<
+ * 
+ *         for clip in self.clips:
+ */
+    __pyx_v_d = (__pyx_v_rx - __pyx_v_self->r0);
+  }
+  __pyx_L4:;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":404
+ *             d = rx - self.r0
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 404, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_1); __pyx_t_14 = 0;
+  for (;;) {
+    if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_14); __Pyx_INCREF(__pyx_t_2); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 404, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_clip, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":405
+ * 
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))             # <<<<<<<<<<<<<<
+ *         return d
+ * 
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_clip, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_7 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 405, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      if (__pyx_t_3) {
+        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_9);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_4);
+      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_4);
+      __pyx_t_9 = 0;
+      __pyx_t_5 = 0;
+      __pyx_t_4 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_12 = __pyx_v_d;
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_13) {
+      __Pyx_INCREF(__pyx_t_2);
+      __pyx_t_6 = __pyx_t_2;
+    } else {
+      __pyx_t_4 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_6 = __pyx_t_4;
+      __pyx_t_4 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 405, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_v_d = __pyx_t_12;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":404
+ *             d = rx - self.r0
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":406
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_d;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":381
+ * 
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, nn, x, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_clip);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_11distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_11distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 381, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 381, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 381, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 381, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":410
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_13overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 410, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_13overlaps_x)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 410, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 410, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 410, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":411
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_xhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_xlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":410
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_13overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_13overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_x (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, 1); __PYX_ERR(0, 410, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_x") < 0)) __PYX_ERR(0, 410, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 410, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 410, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 410, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_12overlaps_x(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_12overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_x(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 410, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":412
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_15overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_15overlaps_y)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 412, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 412, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":413
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_yhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_ylo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":412
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_15overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_15overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_y (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, 1); __PYX_ERR(0, 412, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_y") < 0)) __PYX_ERR(0, 412, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 412, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 412, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 412, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_14overlaps_y(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_14overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_y(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":414
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_17overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_17overlaps_z)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 414, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 414, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 414, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 414, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":415
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_zhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_zlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":414
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_17overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_17overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_z (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, 1); __PYX_ERR(0, 414, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_z") < 0)) __PYX_ERR(0, 414, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 414, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 414, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 414, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_16overlaps_z(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_16overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_z(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_18__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_18__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  PyObject *__pyx_t_24 = NULL;
+  PyObject *__pyx_t_25 = NULL;
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  int __pyx_t_29;
+  int __pyx_t_30;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.ha, self.hb, self.hra, self.hrb, self.length, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_self->conelength); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_self->ha); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __pyx_t_12 = PyFloat_FromDouble(__pyx_v_self->hb); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_self->hra); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_14 = PyFloat_FromDouble(__pyx_v_self->hrb); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __pyx_t_15 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_16 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_17 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_18 = PyFloat_FromDouble(__pyx_v_self->rra); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_19 = PyFloat_FromDouble(__pyx_v_self->rrb); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_19);
+  __pyx_t_20 = PyFloat_FromDouble(__pyx_v_self->side1); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __pyx_t_21 = PyFloat_FromDouble(__pyx_v_self->side2); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_21);
+  __pyx_t_22 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_22);
+  __pyx_t_23 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __pyx_t_24 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_24);
+  __pyx_t_25 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_25)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_25);
+  __pyx_t_26 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __pyx_t_27 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  __pyx_t_28 = PyTuple_New(28); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_28, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_28, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_28, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_28, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_28, 7, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyTuple_SET_ITEM(__pyx_t_28, 8, __pyx_t_9);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_v_self->clips);
+  PyTuple_SET_ITEM(__pyx_t_28, 9, __pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyTuple_SET_ITEM(__pyx_t_28, 10, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyTuple_SET_ITEM(__pyx_t_28, 11, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyTuple_SET_ITEM(__pyx_t_28, 12, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyTuple_SET_ITEM(__pyx_t_28, 13, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyTuple_SET_ITEM(__pyx_t_28, 14, __pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyTuple_SET_ITEM(__pyx_t_28, 15, __pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_16);
+  PyTuple_SET_ITEM(__pyx_t_28, 16, __pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_17);
+  PyTuple_SET_ITEM(__pyx_t_28, 17, __pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_18);
+  PyTuple_SET_ITEM(__pyx_t_28, 18, __pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_19);
+  PyTuple_SET_ITEM(__pyx_t_28, 19, __pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_20);
+  PyTuple_SET_ITEM(__pyx_t_28, 20, __pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_21);
+  PyTuple_SET_ITEM(__pyx_t_28, 21, __pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_22);
+  PyTuple_SET_ITEM(__pyx_t_28, 22, __pyx_t_22);
+  __Pyx_GIVEREF(__pyx_t_23);
+  PyTuple_SET_ITEM(__pyx_t_28, 23, __pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_24);
+  PyTuple_SET_ITEM(__pyx_t_28, 24, __pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_25);
+  PyTuple_SET_ITEM(__pyx_t_28, 25, __pyx_t_25);
+  __Pyx_GIVEREF(__pyx_t_26);
+  PyTuple_SET_ITEM(__pyx_t_28, 26, __pyx_t_26);
+  __Pyx_GIVEREF(__pyx_t_27);
+  PyTuple_SET_ITEM(__pyx_t_28, 27, __pyx_t_27);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_t_16 = 0;
+  __pyx_t_17 = 0;
+  __pyx_t_18 = 0;
+  __pyx_t_19 = 0;
+  __pyx_t_20 = 0;
+  __pyx_t_21 = 0;
+  __pyx_t_22 = 0;
+  __pyx_t_23 = 0;
+  __pyx_t_24 = 0;
+  __pyx_t_25 = 0;
+  __pyx_t_26 = 0;
+  __pyx_t_27 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_28);
+  __pyx_t_28 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.ha, self.hb, self.hra, self.hrb, self.length, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_28 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __pyx_v__dict = __pyx_t_28;
+  __pyx_t_28 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.ha, self.hb, self.hra, self.hrb, self.length, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_29 = (__pyx_v__dict != Py_None);
+  __pyx_t_30 = (__pyx_t_29 != 0);
+  if (__pyx_t_30) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_28 = PyTuple_New(1); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_v__dict);
+    __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_28); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_27));
+    __pyx_t_27 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self.clips is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.ha, self.hb, self.hra, self.hrb, self.length, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self.clips is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, None), state
+ */
+  /*else*/ {
+    __pyx_t_30 = (__pyx_v_self->clips != ((PyObject*)Py_None));
+    __pyx_v_use_setstate = __pyx_t_30;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, None), state
+ *     else:
+ */
+  __pyx_t_30 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_30) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self.clips is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_pyx_unpickle_SphereCone); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_28, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_99548530);
+    __Pyx_GIVEREF(__pyx_int_99548530);
+    PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_int_99548530);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_28, 2, Py_None);
+    __pyx_t_26 = PyTuple_New(3); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __Pyx_GIVEREF(__pyx_t_27);
+    PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_28);
+    PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_28);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_26, 2, __pyx_v_state);
+    __pyx_t_27 = 0;
+    __pyx_t_28 = 0;
+    __pyx_r = __pyx_t_26;
+    __pyx_t_26 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, None), state
+ *     else:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_SphereCone__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_pyx_unpickle_SphereCone); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_28, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_99548530);
+    __Pyx_GIVEREF(__pyx_int_99548530);
+    PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_int_99548530);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_v_state);
+    __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_26);
+    PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_26);
+    __Pyx_GIVEREF(__pyx_t_28);
+    PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_28);
+    __pyx_t_26 = 0;
+    __pyx_t_28 = 0;
+    __pyx_r = __pyx_t_27;
+    __pyx_t_27 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_24);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_SphereCone__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_20__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_20__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_SphereCone__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SphereCone__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_SphereCone, (type(self), 0x5eefd72, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_SphereCone__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SphereCone.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":425
+ *     cdef bint reversed
+ *     property xlo:
+ *         def __get__(self): return self._xlo             # <<<<<<<<<<<<<<
+ *     property xhi:
+ *         def __get__(self): return self._xhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.xlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":427
+ *         def __get__(self): return self._xlo
+ *     property xhi:
+ *         def __get__(self): return self._xhi             # <<<<<<<<<<<<<<
+ *     property ylo:
+ *         def __get__(self): return self._ylo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.xhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":429
+ *         def __get__(self): return self._xhi
+ *     property ylo:
+ *         def __get__(self): return self._ylo             # <<<<<<<<<<<<<<
+ *     property yhi:
+ *         def __get__(self): return self._yhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.ylo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":431
+ *         def __get__(self): return self._ylo
+ *     property yhi:
+ *         def __get__(self): return self._yhi             # <<<<<<<<<<<<<<
+ *     property zlo:
+ *         def __get__(self): return self._zlo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.yhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":433
+ *         def __get__(self): return self._yhi
+ *     property zlo:
+ *         def __get__(self): return self._zlo             # <<<<<<<<<<<<<<
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.zlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":435
+ *         def __get__(self): return self._zlo
+ *     property zhi:
+ *         def __get__(self): return self._zhi             # <<<<<<<<<<<<<<
+ * 
+ *     def __repr__(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.zhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":437
+ *         def __get__(self): return self._zhi
+ * 
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         cdef list order
+ *         if self.reversed:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_1__repr__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_1__repr__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone___repr__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone___repr__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_v_order = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__repr__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":439
+ *     def __repr__(self):
+ *         cdef list order
+ *         if self.reversed:             # <<<<<<<<<<<<<<
+ *             order = [self.x1, self.y1, self.z1, self.r1, self.x0, self.y0, self.z0, self.r0]
+ *         else:
+ */
+  __pyx_t_1 = (__pyx_v_self->reversed != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":440
+ *         cdef list order
+ *         if self.reversed:
+ *             order = [self.x1, self.y1, self.z1, self.r1, self.x0, self.y0, self.z0, self.r0]             # <<<<<<<<<<<<<<
+ *         else:
+ *             order = [self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1]
+ */
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_10 = PyList_New(8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 440, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyList_SET_ITEM(__pyx_t_10, 3, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyList_SET_ITEM(__pyx_t_10, 4, __pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyList_SET_ITEM(__pyx_t_10, 5, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyList_SET_ITEM(__pyx_t_10, 6, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyList_SET_ITEM(__pyx_t_10, 7, __pyx_t_9);
+    __pyx_t_2 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_7 = 0;
+    __pyx_t_8 = 0;
+    __pyx_t_9 = 0;
+    __pyx_v_order = ((PyObject*)__pyx_t_10);
+    __pyx_t_10 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":439
+ *     def __repr__(self):
+ *         cdef list order
+ *         if self.reversed:             # <<<<<<<<<<<<<<
+ *             order = [self.x1, self.y1, self.z1, self.r1, self.x0, self.y0, self.z0, self.r0]
+ *         else:
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":442
+ *             order = [self.x1, self.y1, self.z1, self.r1, self.x0, self.y0, self.z0, self.r0]
+ *         else:
+ *             order = [self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1]             # <<<<<<<<<<<<<<
+ *         if self.clips:
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)' % tuple(order + [self.clips])
+ */
+  /*else*/ {
+    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 442, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_10);
+    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_10);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyList_SET_ITEM(__pyx_t_2, 3, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyList_SET_ITEM(__pyx_t_2, 4, __pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyList_SET_ITEM(__pyx_t_2, 5, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyList_SET_ITEM(__pyx_t_2, 6, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyList_SET_ITEM(__pyx_t_2, 7, __pyx_t_3);
+    __pyx_t_10 = 0;
+    __pyx_t_9 = 0;
+    __pyx_t_8 = 0;
+    __pyx_t_7 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_3 = 0;
+    __pyx_v_order = ((PyObject*)__pyx_t_2);
+    __pyx_t_2 = 0;
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":443
+ *         else:
+ *             order = [self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1]
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)' % tuple(order + [self.clips])
+ *         else:
+ */
+  __pyx_t_1 = (__pyx_v_self->clips != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->clips) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":444
+ *             order = [self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1]
+ *         if self.clips:
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)' % tuple(order + [self.clips])             # <<<<<<<<<<<<<<
+ *         else:
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g)' % tuple(order)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_INCREF(__pyx_v_self->clips);
+    __Pyx_GIVEREF(__pyx_v_self->clips);
+    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->clips);
+    __pyx_t_3 = PyNumber_Add(__pyx_v_order, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Cone_g_g_g_g_g_g_g_g_clips_r, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_r = __pyx_t_3;
+    __pyx_t_3 = 0;
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":443
+ *         else:
+ *             order = [self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1]
+ *         if self.clips:             # <<<<<<<<<<<<<<
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)' % tuple(order + [self.clips])
+ *         else:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":446
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g; clips=%r)' % tuple(order + [self.clips])
+ *         else:
+ *             return 'Cone(%g, %g, %g, %g, %g, %g, %g, %g)' % tuple(order)             # <<<<<<<<<<<<<<
+ * 
+ *     property _x0:
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_3 = PyList_AsTuple(__pyx_v_order); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 446, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Cone_g_g_g_g_g_g_g_g, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_r = __pyx_t_2;
+    __pyx_t_2 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":437
+ *         def __get__(self): return self._zhi
+ * 
+ *     def __repr__(self):             # <<<<<<<<<<<<<<
+ *         cdef list order
+ *         if self.reversed:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_order);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":449
+ * 
+ *     property _x0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x1 if self.reversed else self.x0
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":450
+ *     property _x0:
+ *         def __get__(self):
+ *             return self.x1 if self.reversed else self.x0             # <<<<<<<<<<<<<<
+ * 
+ *     property _y0:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 450, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 450, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":449
+ * 
+ *     property _x0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x1 if self.reversed else self.x0
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._x0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":453
+ * 
+ *     property _y0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y1 if self.reversed else self.y0
+ *     property _z0:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":454
+ *     property _y0:
+ *         def __get__(self):
+ *             return self.y1 if self.reversed else self.y0             # <<<<<<<<<<<<<<
+ *     property _z0:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":453
+ * 
+ *     property _y0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y1 if self.reversed else self.y0
+ *     property _z0:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._y0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":456
+ *             return self.y1 if self.reversed else self.y0
+ *     property _z0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z1 if self.reversed else self.z0
+ *     property _r0:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":457
+ *     property _z0:
+ *         def __get__(self):
+ *             return self.z1 if self.reversed else self.z0             # <<<<<<<<<<<<<<
+ *     property _r0:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":456
+ *             return self.y1 if self.reversed else self.y0
+ *     property _z0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z1 if self.reversed else self.z0
+ *     property _r0:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._z0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":459
+ *             return self.z1 if self.reversed else self.z0
+ *     property _r0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r1 if self.reversed else self.r0
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":460
+ *     property _r0:
+ *         def __get__(self):
+ *             return self.r1 if self.reversed else self.r0             # <<<<<<<<<<<<<<
+ * 
+ *     property _x1:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":459
+ *             return self.z1 if self.reversed else self.z0
+ *     property _r0:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r1 if self.reversed else self.r0
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._r0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":463
+ * 
+ *     property _x1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x0 if self.reversed else self.x1
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":464
+ *     property _x1:
+ *         def __get__(self):
+ *             return self.x0 if self.reversed else self.x1             # <<<<<<<<<<<<<<
+ * 
+ *     property _y1:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":463
+ * 
+ *     property _x1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.x0 if self.reversed else self.x1
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._x1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":467
+ * 
+ *     property _y1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y0 if self.reversed else self.y1
+ *     property _z1:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":468
+ *     property _y1:
+ *         def __get__(self):
+ *             return self.y0 if self.reversed else self.y1             # <<<<<<<<<<<<<<
+ *     property _z1:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":467
+ * 
+ *     property _y1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.y0 if self.reversed else self.y1
+ *     property _z1:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._y1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":470
+ *             return self.y0 if self.reversed else self.y1
+ *     property _z1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z0 if self.reversed else self.z1
+ *     property _r1:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":471
+ *     property _z1:
+ *         def __get__(self):
+ *             return self.z0 if self.reversed else self.z1             # <<<<<<<<<<<<<<
+ *     property _r1:
+ *         def __get__(self):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":470
+ *             return self.y0 if self.reversed else self.y1
+ *     property _z1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.z0 if self.reversed else self.z1
+ *     property _r1:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._z1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":473
+ *             return self.z0 if self.reversed else self.z1
+ *     property _r1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r0 if self.reversed else self.r1
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":474
+ *     property _r1:
+ *         def __get__(self):
+ *             return self.r0 if self.reversed else self.r1             # <<<<<<<<<<<<<<
+ * 
+ *     property axislength:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if ((__pyx_v_self->reversed != 0)) {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  } else {
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_t_2 = 0;
+  }
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":473
+ *             return self.z0 if self.reversed else self.z1
+ *     property _r1:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.r0 if self.reversed else self.r1
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone._r1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":477
+ * 
+ *     property axislength:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.length
+ *     property primitives:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":478
+ *     property axislength:
+ *         def __get__(self):
+ *             return self.length             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return [self]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":477
+ * 
+ *     property axislength:
+ *         def __get__(self):             # <<<<<<<<<<<<<<
+ *             return self.length
+ *     property primitives:
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.axislength.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":480
+ *             return self.length
+ *     property primitives:
+ *         def __get__(self): return [self]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 480, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":483
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):             # <<<<<<<<<<<<<<
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_r0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_r1;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x0,&__pyx_n_s_y0,&__pyx_n_s_z0,&__pyx_n_s_r0,&__pyx_n_s_x1,&__pyx_n_s_y1,&__pyx_n_s_z1,&__pyx_n_s_r1,0};
+    PyObject* values[8] = {0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x0)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 1); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 2); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 3); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 4); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 5); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 6); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, 7); __PYX_ERR(0, 483, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 483, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+    }
+    __pyx_v_x0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_y0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_z0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_r0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_r0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_x1 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_x1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_y1 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_y1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_z1 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_z1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+    __pyx_v_r1 = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_r1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 483, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 483, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_2__init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1) {
+  double __pyx_v_axisx;
+  double __pyx_v_axisy;
+  double __pyx_v_axisz;
+  double __pyx_v_length;
+  double __pyx_v_f;
+  double __pyx_v_rmax;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  double __pyx_t_5;
+  double __pyx_t_6;
+  double __pyx_t_7;
+  double __pyx_t_8;
+  double __pyx_t_9;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":484
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ *             self.reversed = True
+ */
+  __pyx_t_1 = ((__pyx_v_r1 > __pyx_v_r0) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":485
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0             # <<<<<<<<<<<<<<
+ *             self.reversed = True
+ *         else:
+ */
+    __pyx_t_2 = __pyx_v_x1;
+    __pyx_t_3 = __pyx_v_y1;
+    __pyx_t_4 = __pyx_v_z1;
+    __pyx_t_5 = __pyx_v_r1;
+    __pyx_t_6 = __pyx_v_x0;
+    __pyx_t_7 = __pyx_v_y0;
+    __pyx_t_8 = __pyx_v_z0;
+    __pyx_t_9 = __pyx_v_r0;
+    __pyx_v_x0 = __pyx_t_2;
+    __pyx_v_y0 = __pyx_t_3;
+    __pyx_v_z0 = __pyx_t_4;
+    __pyx_v_r0 = __pyx_t_5;
+    __pyx_v_x1 = __pyx_t_6;
+    __pyx_v_y1 = __pyx_t_7;
+    __pyx_v_z1 = __pyx_t_8;
+    __pyx_v_r1 = __pyx_t_9;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":486
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ *             self.reversed = True             # <<<<<<<<<<<<<<
+ *         else:
+ *             self.reversed = False
+ */
+    __pyx_v_self->reversed = 1;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":484
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ *             self.reversed = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":488
+ *             self.reversed = True
+ *         else:
+ *             self.reversed = False             # <<<<<<<<<<<<<<
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ */
+  /*else*/ {
+    __pyx_v_self->reversed = 0;
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":490
+ *             self.reversed = False
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1             # <<<<<<<<<<<<<<
+ * 
+ *         if r0 < 0:
+ */
+  __pyx_t_9 = __pyx_v_x0;
+  __pyx_t_8 = __pyx_v_y0;
+  __pyx_t_7 = __pyx_v_z0;
+  __pyx_t_6 = __pyx_v_r0;
+  __pyx_t_5 = __pyx_v_x1;
+  __pyx_t_4 = __pyx_v_y1;
+  __pyx_t_3 = __pyx_v_z1;
+  __pyx_t_2 = __pyx_v_r1;
+  __pyx_v_self->x0 = __pyx_t_9;
+  __pyx_v_self->y0 = __pyx_t_8;
+  __pyx_v_self->z0 = __pyx_t_7;
+  __pyx_v_self->r0 = __pyx_t_6;
+  __pyx_v_self->x1 = __pyx_t_5;
+  __pyx_v_self->y1 = __pyx_t_4;
+  __pyx_v_self->z1 = __pyx_t_3;
+  __pyx_v_self->r1 = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":492
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ * 
+ *         if r0 < 0:             # <<<<<<<<<<<<<<
+ *             raise Exception('At least one Cone radius must be positive')
+ *         if r1 < 0:
+ */
+  __pyx_t_1 = ((__pyx_v_r0 < 0.0) != 0);
+  if (unlikely(__pyx_t_1)) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":493
+ * 
+ *         if r0 < 0:
+ *             raise Exception('At least one Cone radius must be positive')             # <<<<<<<<<<<<<<
+ *         if r1 < 0:
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ */
+    __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple_, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 493, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_Raise(__pyx_t_10, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __PYX_ERR(0, 493, __pyx_L1_error)
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":492
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ * 
+ *         if r0 < 0:             # <<<<<<<<<<<<<<
+ *             raise Exception('At least one Cone radius must be positive')
+ *         if r1 < 0:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":494
+ *         if r0 < 0:
+ *             raise Exception('At least one Cone radius must be positive')
+ *         if r1 < 0:             # <<<<<<<<<<<<<<
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)
+ */
+  __pyx_t_1 = ((__pyx_v_r1 < 0.0) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":495
+ *             raise Exception('At least one Cone radius must be positive')
+ *         if r1 < 0:
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)             # <<<<<<<<<<<<<<
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)
+ *             axisx /= length; axisy /= length; axisz /= length
+ */
+    __pyx_t_2 = (__pyx_v_x1 - __pyx_v_x0);
+    __pyx_t_3 = (__pyx_v_y1 - __pyx_v_y0);
+    __pyx_t_4 = (__pyx_v_z1 - __pyx_v_z0);
+    __pyx_v_axisx = __pyx_t_2;
+    __pyx_v_axisy = __pyx_t_3;
+    __pyx_v_axisz = __pyx_t_4;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":496
+ *         if r1 < 0:
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)             # <<<<<<<<<<<<<<
+ *             axisx /= length; axisy /= length; axisz /= length
+ *             f = r1 / (r1 - r0)
+ */
+    __pyx_v_length = sqrt(((pow(__pyx_v_axisx, 2.0) + pow(__pyx_v_axisy, 2.0)) + pow(__pyx_v_axisz, 2.0)));
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":497
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)
+ *             axisx /= length; axisy /= length; axisz /= length             # <<<<<<<<<<<<<<
+ *             f = r1 / (r1 - r0)
+ *             x1 -= f * axisx; y1 -= f * axisy; z1 -= f * axisz; r1 = 0
+ */
+    if (unlikely(__pyx_v_length == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 497, __pyx_L1_error)
+    }
+    __pyx_v_axisx = (__pyx_v_axisx / __pyx_v_length);
+    if (unlikely(__pyx_v_length == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 497, __pyx_L1_error)
+    }
+    __pyx_v_axisy = (__pyx_v_axisy / __pyx_v_length);
+    if (unlikely(__pyx_v_length == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 497, __pyx_L1_error)
+    }
+    __pyx_v_axisz = (__pyx_v_axisz / __pyx_v_length);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":498
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)
+ *             axisx /= length; axisy /= length; axisz /= length
+ *             f = r1 / (r1 - r0)             # <<<<<<<<<<<<<<
+ *             x1 -= f * axisx; y1 -= f * axisy; z1 -= f * axisz; r1 = 0
+ * 
+ */
+    __pyx_t_4 = (__pyx_v_r1 - __pyx_v_r0);
+    if (unlikely(__pyx_t_4 == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+      __PYX_ERR(0, 498, __pyx_L1_error)
+    }
+    __pyx_v_f = (__pyx_v_r1 / __pyx_t_4);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":499
+ *             axisx /= length; axisy /= length; axisz /= length
+ *             f = r1 / (r1 - r0)
+ *             x1 -= f * axisx; y1 -= f * axisy; z1 -= f * axisz; r1 = 0             # <<<<<<<<<<<<<<
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ */
+    __pyx_v_x1 = (__pyx_v_x1 - (__pyx_v_f * __pyx_v_axisx));
+    __pyx_v_y1 = (__pyx_v_y1 - (__pyx_v_f * __pyx_v_axisy));
+    __pyx_v_z1 = (__pyx_v_z1 - (__pyx_v_f * __pyx_v_axisz));
+    __pyx_v_r1 = 0.0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":494
+ *         if r0 < 0:
+ *             raise Exception('At least one Cone radius must be positive')
+ *         if r1 < 0:             # <<<<<<<<<<<<<<
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *             length = sqrt(axisx ** 2 + axisy ** 2 + axisz ** 2)
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":501
+ *             x1 -= f * axisx; y1 -= f * axisy; z1 -= f * axisz; r1 = 0
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1             # <<<<<<<<<<<<<<
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ */
+  __pyx_t_4 = (__pyx_v_r0 * __pyx_v_r0);
+  __pyx_t_3 = (__pyx_v_r1 * __pyx_v_r1);
+  __pyx_v_self->rra = __pyx_t_4;
+  __pyx_v_self->rrb = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":502
+ * 
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)             # <<<<<<<<<<<<<<
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ */
+  __pyx_t_3 = (__pyx_v_x1 - __pyx_v_x0);
+  __pyx_t_4 = (__pyx_v_y1 - __pyx_v_y0);
+  __pyx_t_2 = (__pyx_v_z1 - __pyx_v_z0);
+  __pyx_v_self->axisx = __pyx_t_3;
+  __pyx_v_self->axisy = __pyx_t_4;
+  __pyx_v_self->axisz = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":503
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)             # <<<<<<<<<<<<<<
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ */
+  __pyx_v_self->length = sqrt(((pow(__pyx_v_self->axisx, 2.0) + pow(__pyx_v_self->axisy, 2.0)) + pow(__pyx_v_self->axisz, 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":505
+ *         self.length = sqrt(self.axisx ** 2 + self.axisy ** 2 + self.axisz ** 2)
+ *         # normalize the axis
+ *         self.axisx /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 505, __pyx_L1_error)
+  }
+  __pyx_v_self->axisx = (__pyx_v_self->axisx / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":506
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisz /= self.length
+ * 
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 506, __pyx_L1_error)
+  }
+  __pyx_v_self->axisy = (__pyx_v_self->axisy / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":507
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length             # <<<<<<<<<<<<<<
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 507, __pyx_L1_error)
+  }
+  __pyx_v_self->axisz = (__pyx_v_self->axisz / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":509
+ *         self.axisz /= self.length
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)             # <<<<<<<<<<<<<<
+ *         self.side1 = (r1 - r0) / self.conelength
+ *         self.side2 = self.length / self.conelength
+ */
+  __pyx_v_self->conelength = sqrt((pow((__pyx_v_r1 - __pyx_v_r0), 2.0) + pow(__pyx_v_self->length, 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":510
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ *         self.side1 = (r1 - r0) / self.conelength             # <<<<<<<<<<<<<<
+ *         self.side2 = self.length / self.conelength
+ * 
+ */
+  __pyx_t_2 = (__pyx_v_r1 - __pyx_v_r0);
+  if (unlikely(__pyx_v_self->conelength == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 510, __pyx_L1_error)
+  }
+  __pyx_v_self->side1 = (__pyx_t_2 / __pyx_v_self->conelength);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":511
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ *         self.side1 = (r1 - r0) / self.conelength
+ *         self.side2 = self.length / self.conelength             # <<<<<<<<<<<<<<
+ * 
+ *         cdef double rmax = max(r0, r1)
+ */
+  if (unlikely(__pyx_v_self->conelength == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 511, __pyx_L1_error)
+  }
+  __pyx_v_self->side2 = (__pyx_v_self->length / __pyx_v_self->conelength);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":513
+ *         self.side2 = self.length / self.conelength
+ * 
+ *         cdef double rmax = max(r0, r1)             # <<<<<<<<<<<<<<
+ * 
+ *         self._xlo = min(x0 - rmax, x1 - rmax)
+ */
+  __pyx_t_2 = __pyx_v_r1;
+  __pyx_t_4 = __pyx_v_r0;
+  if (((__pyx_t_2 > __pyx_t_4) != 0)) {
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_4;
+  }
+  __pyx_v_rmax = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":515
+ *         cdef double rmax = max(r0, r1)
+ * 
+ *         self._xlo = min(x0 - rmax, x1 - rmax)             # <<<<<<<<<<<<<<
+ *         self._xhi = max(x0 + rmax, x1 + rmax)
+ *         self._ylo = min(y0 - rmax, y1 - rmax)
+ */
+  __pyx_t_3 = (__pyx_v_x1 - __pyx_v_rmax);
+  __pyx_t_2 = (__pyx_v_x0 - __pyx_v_rmax);
+  if (((__pyx_t_3 < __pyx_t_2) != 0)) {
+    __pyx_t_4 = __pyx_t_3;
+  } else {
+    __pyx_t_4 = __pyx_t_2;
+  }
+  __pyx_v_self->_xlo = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":516
+ * 
+ *         self._xlo = min(x0 - rmax, x1 - rmax)
+ *         self._xhi = max(x0 + rmax, x1 + rmax)             # <<<<<<<<<<<<<<
+ *         self._ylo = min(y0 - rmax, y1 - rmax)
+ *         self._yhi = max(y0 + rmax, y1 + rmax)
+ */
+  __pyx_t_4 = (__pyx_v_x1 + __pyx_v_rmax);
+  __pyx_t_3 = (__pyx_v_x0 + __pyx_v_rmax);
+  if (((__pyx_t_4 > __pyx_t_3) != 0)) {
+    __pyx_t_2 = __pyx_t_4;
+  } else {
+    __pyx_t_2 = __pyx_t_3;
+  }
+  __pyx_v_self->_xhi = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":517
+ *         self._xlo = min(x0 - rmax, x1 - rmax)
+ *         self._xhi = max(x0 + rmax, x1 + rmax)
+ *         self._ylo = min(y0 - rmax, y1 - rmax)             # <<<<<<<<<<<<<<
+ *         self._yhi = max(y0 + rmax, y1 + rmax)
+ *         self._zlo = min(z0 - rmax, z1 - rmax)
+ */
+  __pyx_t_2 = (__pyx_v_y1 - __pyx_v_rmax);
+  __pyx_t_4 = (__pyx_v_y0 - __pyx_v_rmax);
+  if (((__pyx_t_2 < __pyx_t_4) != 0)) {
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_4;
+  }
+  __pyx_v_self->_ylo = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":518
+ *         self._xhi = max(x0 + rmax, x1 + rmax)
+ *         self._ylo = min(y0 - rmax, y1 - rmax)
+ *         self._yhi = max(y0 + rmax, y1 + rmax)             # <<<<<<<<<<<<<<
+ *         self._zlo = min(z0 - rmax, z1 - rmax)
+ *         self._zhi = max(z0 + rmax, z1 + rmax)
+ */
+  __pyx_t_3 = (__pyx_v_y1 + __pyx_v_rmax);
+  __pyx_t_2 = (__pyx_v_y0 + __pyx_v_rmax);
+  if (((__pyx_t_3 > __pyx_t_2) != 0)) {
+    __pyx_t_4 = __pyx_t_3;
+  } else {
+    __pyx_t_4 = __pyx_t_2;
+  }
+  __pyx_v_self->_yhi = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":519
+ *         self._ylo = min(y0 - rmax, y1 - rmax)
+ *         self._yhi = max(y0 + rmax, y1 + rmax)
+ *         self._zlo = min(z0 - rmax, z1 - rmax)             # <<<<<<<<<<<<<<
+ *         self._zhi = max(z0 + rmax, z1 + rmax)
+ *         self.neighbors = []
+ */
+  __pyx_t_4 = (__pyx_v_z1 - __pyx_v_rmax);
+  __pyx_t_3 = (__pyx_v_z0 - __pyx_v_rmax);
+  if (((__pyx_t_4 < __pyx_t_3) != 0)) {
+    __pyx_t_2 = __pyx_t_4;
+  } else {
+    __pyx_t_2 = __pyx_t_3;
+  }
+  __pyx_v_self->_zlo = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":520
+ *         self._yhi = max(y0 + rmax, y1 + rmax)
+ *         self._zlo = min(z0 - rmax, z1 - rmax)
+ *         self._zhi = max(z0 + rmax, z1 + rmax)             # <<<<<<<<<<<<<<
+ *         self.neighbors = []
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ */
+  __pyx_t_2 = (__pyx_v_z1 + __pyx_v_rmax);
+  __pyx_t_4 = (__pyx_v_z0 + __pyx_v_rmax);
+  if (((__pyx_t_2 > __pyx_t_4) != 0)) {
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_4;
+  }
+  __pyx_v_self->_zhi = __pyx_t_3;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":521
+ *         self._zlo = min(z0 - rmax, z1 - rmax)
+ *         self._zhi = max(z0 + rmax, z1 + rmax)
+ *         self.neighbors = []             # <<<<<<<<<<<<<<
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.h = self.length * .5
+ */
+  __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 521, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_10);
+  __Pyx_GOTREF(__pyx_v_self->neighbors);
+  __Pyx_DECREF(__pyx_v_self->neighbors);
+  __pyx_v_self->neighbors = ((PyObject*)__pyx_t_10);
+  __pyx_t_10 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":522
+ *         self._zhi = max(z0 + rmax, z1 + rmax)
+ *         self.neighbors = []
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5             # <<<<<<<<<<<<<<
+ *         self.h = self.length * .5
+ *         self.clips = []
+ */
+  __pyx_t_3 = ((__pyx_v_x0 + __pyx_v_x1) * 0.5);
+  __pyx_t_2 = ((__pyx_v_y0 + __pyx_v_y1) * 0.5);
+  __pyx_t_4 = ((__pyx_v_z0 + __pyx_v_z1) * 0.5);
+  __pyx_v_self->cx = __pyx_t_3;
+  __pyx_v_self->cy = __pyx_t_2;
+  __pyx_v_self->cz = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":523
+ *         self.neighbors = []
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.h = self.length * .5             # <<<<<<<<<<<<<<
+ *         self.clips = []
+ *         self.neighbor_regions = []
+ */
+  __pyx_v_self->h = (__pyx_v_self->length * .5);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":524
+ *         self.cx, self.cy, self.cz = (x0 + x1) * 0.5, (y0 + y1) * 0.5, (z0 + z1) * 0.5
+ *         self.h = self.length * .5
+ *         self.clips = []             # <<<<<<<<<<<<<<
+ *         self.neighbor_regions = []
+ * 
+ */
+  __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 524, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_10);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_10);
+  __pyx_t_10 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":525
+ *         self.h = self.length * .5
+ *         self.clips = []
+ *         self.neighbor_regions = []             # <<<<<<<<<<<<<<
+ * 
+ *     def set_clip(self, clips):
+ */
+  __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 525, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_10);
+  __Pyx_GOTREF(__pyx_v_self->neighbor_regions);
+  __Pyx_DECREF(__pyx_v_self->neighbor_regions);
+  __pyx_v_self->neighbor_regions = ((PyObject*)__pyx_t_10);
+  __pyx_t_10 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":483
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1):             # <<<<<<<<<<<<<<
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1 = x1, y1, z1, r1, x0, y0, z0, r0
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":527
+ *         self.neighbor_regions = []
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_5set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_5set_clip(PyObject *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_4set_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), ((PyObject *)__pyx_v_clips));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_4set_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v_clips) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("set_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":528
+ * 
+ *     def set_clip(self, clips):
+ *         self.clips = clips             # <<<<<<<<<<<<<<
+ *     def get_clip(self):
+ *         return self.clips
+ */
+  if (!(likely(PyList_CheckExact(__pyx_v_clips))||((__pyx_v_clips) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_clips)->tp_name), 0))) __PYX_ERR(0, 528, __pyx_L1_error)
+  __pyx_t_1 = __pyx_v_clips;
+  __Pyx_INCREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v_self->clips);
+  __Pyx_DECREF(__pyx_v_self->clips);
+  __pyx_v_self->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":527
+ *         self.neighbor_regions = []
+ * 
+ *     def set_clip(self, clips):             # <<<<<<<<<<<<<<
+ *         self.clips = clips
+ *     def get_clip(self):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.set_clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":529
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_7get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_7get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_6get_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_6get_clip(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":530
+ *         self.clips = clips
+ *     def get_clip(self):
+ *         return self.clips             # <<<<<<<<<<<<<<
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __pyx_r = __pyx_v_self->clips;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":529
+ *     def set_clip(self, clips):
+ *         self.clips = clips
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         return self.clips
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":532
+ *         return self.clips
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_9within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("within_core", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_within_core); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_9within_core)) {
+        __Pyx_XDECREF(__pyx_r);
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 532, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 532, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_r = __pyx_t_2;
+        __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":534
+ *     cpdef within_core(self, double px, double py, double pz):
+ *         cdef double nx, ny, nz, y
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz             # <<<<<<<<<<<<<<
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         return y < self.h
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->cx);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->cy);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->cz);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":535
+ *         cdef double nx, ny, nz, y
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)             # <<<<<<<<<<<<<<
+ *         return y < self.h
+ * 
+ */
+  __pyx_v_y = fabs((((__pyx_v_self->axisx * __pyx_v_nx) + (__pyx_v_self->axisy * __pyx_v_ny)) + (__pyx_v_self->axisz * __pyx_v_nz)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":536
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ *         y = abs(self.axisx * nx + self.axisy * ny + self.axisz * nz)
+ *         return y < self.h             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_y < __pyx_v_self->h)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":532
+ *         return self.clips
+ * 
+ *     cpdef within_core(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         cdef double nx, ny, nz, y
+ *         nx, ny, nz = px - self.cx, py - self.cy, pz - self.cz
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_9within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_9within_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("within_core (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, 1); __PYX_ERR(0, 532, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, 2); __PYX_ERR(0, 532, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "within_core") < 0)) __PYX_ERR(0, 532, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 532, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("within_core", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 532, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_8within_core(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_8within_core(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("within_core", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_within_core(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.within_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":539
+ * 
+ * 
+ *     def axis(self):             # <<<<<<<<<<<<<<
+ *         if self.reversed:
+ *             return -self.axisx, -self.axisy, -self.axisz
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_11axis(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_11axis(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("axis (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axis(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axis(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("axis", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":540
+ * 
+ *     def axis(self):
+ *         if self.reversed:             # <<<<<<<<<<<<<<
+ *             return -self.axisx, -self.axisy, -self.axisz
+ *         else:
+ */
+  __pyx_t_1 = (__pyx_v_self->reversed != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":541
+ *     def axis(self):
+ *         if self.reversed:
+ *             return -self.axisx, -self.axisy, -self.axisz             # <<<<<<<<<<<<<<
+ *         else:
+ *             return (self.axisx, self.axisy, self.axisz)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_2 = PyFloat_FromDouble((-__pyx_v_self->axisx)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = PyFloat_FromDouble((-__pyx_v_self->axisy)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_4 = PyFloat_FromDouble((-__pyx_v_self->axisz)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
+    __pyx_t_2 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_4 = 0;
+    __pyx_r = __pyx_t_5;
+    __pyx_t_5 = 0;
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":540
+ * 
+ *     def axis(self):
+ *         if self.reversed:             # <<<<<<<<<<<<<<
+ *             return -self.axisx, -self.axisy, -self.axisz
+ *         else:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":543
+ *             return -self.axisx, -self.axisy, -self.axisz
+ *         else:
+ *             return (self.axisx, self.axisy, self.axisz)             # <<<<<<<<<<<<<<
+ * 
+ *     def starting_points(self, xs, ys, zs):
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 543, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_3);
+    __pyx_t_5 = 0;
+    __pyx_t_4 = 0;
+    __pyx_t_3 = 0;
+    __pyx_r = __pyx_t_2;
+    __pyx_t_2 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":539
+ * 
+ * 
+ *     def axis(self):             # <<<<<<<<<<<<<<
+ *         if self.reversed:
+ *             return -self.axisx, -self.axisy, -self.axisz
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.axis", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":545
+ *             return (self.axisx, self.axisy, self.axisz)
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_13starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_13starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 545, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 545, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 545, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 545, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_12starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_12starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_v_c = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":547
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],             # <<<<<<<<<<<<<<
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 547, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 547, __pyx_L1_error)
+  }
+  __pyx_t_2 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
+  for (;;) {
+    if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 547, __pyx_L1_error)
+    #else
+    __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_c, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 547, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = NULL;
+    __pyx_t_7 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+        __pyx_t_7 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_GOTREF(__pyx_t_4);
+    } else
+    #endif
+    {
+      __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 547, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      if (__pyx_t_6) {
+        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_zs);
+      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 547, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":548
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),             # <<<<<<<<<<<<<<
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_bisect); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_xs, __pyx_t_4};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_bisect); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_8 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_8)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_8);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_zs, __pyx_t_9};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    if (__pyx_t_8) {
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_4 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":549
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])             # <<<<<<<<<<<<<<
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_bisect); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_xs, __pyx_t_5};
+    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_xs, __pyx_t_5};
+    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_5);
+    __pyx_t_5 = 0;
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bisect); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_ys, __pyx_t_9};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_ys, __pyx_t_9};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_9);
+    __pyx_t_9 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_bisect); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_10 = NULL;
+  __pyx_t_7 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+    if (likely(__pyx_t_10)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __Pyx_INCREF(__pyx_t_10);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_9, function);
+      __pyx_t_7 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_9)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_zs, __pyx_t_8};
+    __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_zs, __pyx_t_8};
+    __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_11 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    if (__pyx_t_10) {
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_t_8);
+    __pyx_t_8 = 0;
+    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 549, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5);
+  __pyx_t_4 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":548
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),             # <<<<<<<<<<<<<<
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ */
+  __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 548, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_9);
+  __pyx_t_6 = 0;
+  __pyx_t_9 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":547
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],             # <<<<<<<<<<<<<<
+ *                     [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0)),
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ */
+  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 547, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_5);
+  __pyx_t_1 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 547, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_r = __pyx_t_5;
+  __pyx_t_5 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":545
+ *             return (self.axisx, self.axisy, self.axisz)
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return sum([c.starting_points(xs, ys, zs) for c in self.clips],
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_c);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":551
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:frustumdist
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, d
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_15distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  double __pyx_v_yy;
+  double __pyx_v_xx;
+  double __pyx_v_ry;
+  double __pyx_v_rx;
+  double __pyx_v_d;
+  double __pyx_v_x;
+  PyObject *__pyx_v_clip = NULL;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_t_13;
+  int __pyx_t_14;
+  Py_ssize_t __pyx_t_15;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_15distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 551, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":554
+ *         # CTNG:frustumdist
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0             # <<<<<<<<<<<<<<
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->x0);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->y0);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->z0);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":555
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, d
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz             # <<<<<<<<<<<<<<
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ */
+  __pyx_v_y = (((__pyx_v_nx * __pyx_v_self->axisx) + (__pyx_v_ny * __pyx_v_self->axisy)) + (__pyx_v_nz * __pyx_v_self->axisz));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":556
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y             # <<<<<<<<<<<<<<
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ */
+  __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":557
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy             # <<<<<<<<<<<<<<
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0
+ */
+  __pyx_v_xx = ((((__pyx_v_nx * __pyx_v_nx) + (__pyx_v_ny * __pyx_v_ny)) + (__pyx_v_nz * __pyx_v_nz)) - __pyx_v_yy);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":559
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0             # <<<<<<<<<<<<<<
+ * 
+ *         if y < 0:
+ */
+  __pyx_t_13 = ((__pyx_v_xx < 0.0) != 0);
+  if (__pyx_t_13) {
+    __pyx_v_xx = 0.0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":561
+ *         if xx < 0: xx = 0
+ * 
+ *         if y < 0:             # <<<<<<<<<<<<<<
+ *             # always nonnegative distance in this case
+ *             if xx < self.rra:
+ */
+  __pyx_t_13 = ((__pyx_v_y < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":563
+ *         if y < 0:
+ *             # always nonnegative distance in this case
+ *             if xx < self.rra:             # <<<<<<<<<<<<<<
+ *                 d = -y
+ *             else:
+ */
+    __pyx_t_13 = ((__pyx_v_xx < __pyx_v_self->rra) != 0);
+    if (__pyx_t_13) {
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":564
+ *             # always nonnegative distance in this case
+ *             if xx < self.rra:
+ *                 d = -y             # <<<<<<<<<<<<<<
+ *             else:
+ *                 x = sqrt(xx) - self.r0
+ */
+      __pyx_v_d = (-__pyx_v_y);
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":563
+ *         if y < 0:
+ *             # always nonnegative distance in this case
+ *             if xx < self.rra:             # <<<<<<<<<<<<<<
+ *                 d = -y
+ *             else:
+ */
+      goto __pyx_L5;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":566
+ *                 d = -y
+ *             else:
+ *                 x = sqrt(xx) - self.r0             # <<<<<<<<<<<<<<
+ *                 d = sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:
+ */
+    /*else*/ {
+      __pyx_v_x = (sqrt(__pyx_v_xx) - __pyx_v_self->r0);
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":567
+ *             else:
+ *                 x = sqrt(xx) - self.r0
+ *                 d = sqrt(x * x + yy)             # <<<<<<<<<<<<<<
+ *         elif xx < self.rrb and y > self.length:
+ *             d = y - self.length
+ */
+      __pyx_v_d = sqrt(((__pyx_v_x * __pyx_v_x) + __pyx_v_yy));
+    }
+    __pyx_L5:;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":561
+ *         if xx < 0: xx = 0
+ * 
+ *         if y < 0:             # <<<<<<<<<<<<<<
+ *             # always nonnegative distance in this case
+ *             if xx < self.rra:
+ */
+    goto __pyx_L4;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":568
+ *                 x = sqrt(xx) - self.r0
+ *                 d = sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:             # <<<<<<<<<<<<<<
+ *             d = y - self.length
+ *         else:
+ */
+  __pyx_t_14 = ((__pyx_v_xx < __pyx_v_self->rrb) != 0);
+  if (__pyx_t_14) {
+  } else {
+    __pyx_t_13 = __pyx_t_14;
+    goto __pyx_L6_bool_binop_done;
+  }
+  __pyx_t_14 = ((__pyx_v_y > __pyx_v_self->length) != 0);
+  __pyx_t_13 = __pyx_t_14;
+  __pyx_L6_bool_binop_done:;
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":569
+ *                 d = sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:
+ *             d = y - self.length             # <<<<<<<<<<<<<<
+ *         else:
+ *             x = sqrt(xx) - self.r0
+ */
+    __pyx_v_d = (__pyx_v_y - __pyx_v_self->length);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":568
+ *                 x = sqrt(xx) - self.r0
+ *                 d = sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:             # <<<<<<<<<<<<<<
+ *             d = y - self.length
+ *         else:
+ */
+    goto __pyx_L4;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":571
+ *             d = y - self.length
+ *         else:
+ *             x = sqrt(xx) - self.r0             # <<<<<<<<<<<<<<
+ *             # y >= 0 always at this point (and if outside, not in the cylinder extending through the small end face)
+ *             ry = x * self.side1 + y * self.side2
+ */
+  /*else*/ {
+    __pyx_v_x = (sqrt(__pyx_v_xx) - __pyx_v_self->r0);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":573
+ *             x = sqrt(xx) - self.r0
+ *             # y >= 0 always at this point (and if outside, not in the cylinder extending through the small end face)
+ *             ry = x * self.side1 + y * self.side2             # <<<<<<<<<<<<<<
+ *             if ry < 0:
+ *                 # if ry < 0 (and y > 0 from above), then outside the cone
+ */
+    __pyx_v_ry = ((__pyx_v_x * __pyx_v_self->side1) + (__pyx_v_y * __pyx_v_self->side2));
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":574
+ *             # y >= 0 always at this point (and if outside, not in the cylinder extending through the small end face)
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:             # <<<<<<<<<<<<<<
+ *                 # if ry < 0 (and y > 0 from above), then outside the cone
+ *                 d = sqrt(x * x + yy)
+ */
+    __pyx_t_13 = ((__pyx_v_ry < 0.0) != 0);
+    if (__pyx_t_13) {
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":576
+ *             if ry < 0:
+ *                 # if ry < 0 (and y > 0 from above), then outside the cone
+ *                 d = sqrt(x * x + yy)             # <<<<<<<<<<<<<<
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ */
+      __pyx_v_d = sqrt(((__pyx_v_x * __pyx_v_x) + __pyx_v_yy));
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":574
+ *             # y >= 0 always at this point (and if outside, not in the cylinder extending through the small end face)
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:             # <<<<<<<<<<<<<<
+ *                 # if ry < 0 (and y > 0 from above), then outside the cone
+ *                 d = sqrt(x * x + yy)
+ */
+      goto __pyx_L8;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":578
+ *                 d = sqrt(x * x + yy)
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1             # <<<<<<<<<<<<<<
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength
+ */
+    /*else*/ {
+      __pyx_v_rx = ((__pyx_v_x * __pyx_v_self->side2) - (__pyx_v_y * __pyx_v_self->side1));
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":579
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:             # <<<<<<<<<<<<<<
+ *                     ry -= self.conelength
+ *                     d = sqrt(rx * rx + ry * ry)
+ */
+      __pyx_t_14 = ((__pyx_v_ry > __pyx_v_self->conelength) != 0);
+      if (__pyx_t_14) {
+      } else {
+        __pyx_t_13 = __pyx_t_14;
+        goto __pyx_L10_bool_binop_done;
+      }
+      __pyx_t_14 = ((__pyx_v_y > __pyx_v_self->length) != 0);
+      __pyx_t_13 = __pyx_t_14;
+      __pyx_L10_bool_binop_done:;
+      if (__pyx_t_13) {
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":580
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength             # <<<<<<<<<<<<<<
+ *                     d = sqrt(rx * rx + ry * ry)
+ *                 else:
+ */
+        __pyx_v_ry = (__pyx_v_ry - __pyx_v_self->conelength);
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":581
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength
+ *                     d = sqrt(rx * rx + ry * ry)             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     d = rx
+ */
+        __pyx_v_d = sqrt(((__pyx_v_rx * __pyx_v_rx) + (__pyx_v_ry * __pyx_v_ry)));
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":579
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:             # <<<<<<<<<<<<<<
+ *                     ry -= self.conelength
+ *                     d = sqrt(rx * rx + ry * ry)
+ */
+        goto __pyx_L9;
+      }
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":583
+ *                     d = sqrt(rx * rx + ry * ry)
+ *                 else:
+ *                     d = rx             # <<<<<<<<<<<<<<
+ *                     if d < 0:
+ *                         # end faces could be closer than the cone itself
+ */
+      /*else*/ {
+        __pyx_v_d = __pyx_v_rx;
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":584
+ *                 else:
+ *                     d = rx
+ *                     if d < 0:             # <<<<<<<<<<<<<<
+ *                         # end faces could be closer than the cone itself
+ *                         d = max(rx, y - self.length)
+ */
+        __pyx_t_13 = ((__pyx_v_d < 0.0) != 0);
+        if (__pyx_t_13) {
+
+          /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":586
+ *                     if d < 0:
+ *                         # end faces could be closer than the cone itself
+ *                         d = max(rx, y - self.length)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+          __pyx_t_12 = (__pyx_v_y - __pyx_v_self->length);
+          __pyx_t_11 = __pyx_v_rx;
+          if (((__pyx_t_12 > __pyx_t_11) != 0)) {
+            __pyx_t_10 = __pyx_t_12;
+          } else {
+            __pyx_t_10 = __pyx_t_11;
+          }
+          __pyx_v_d = __pyx_t_10;
+
+          /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":584
+ *                 else:
+ *                     d = rx
+ *                     if d < 0:             # <<<<<<<<<<<<<<
+ *                         # end faces could be closer than the cone itself
+ *                         d = max(rx, y - self.length)
+ */
+        }
+      }
+      __pyx_L9:;
+    }
+    __pyx_L8:;
+  }
+  __pyx_L4:;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":590
+ * 
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  if (unlikely(__pyx_v_self->clips == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(0, 590, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_self->clips; __Pyx_INCREF(__pyx_t_1); __pyx_t_15 = 0;
+  for (;;) {
+    if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 590, __pyx_L1_error)
+    #else
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_clip, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":591
+ * 
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))             # <<<<<<<<<<<<<<
+ *         return d
+ * 
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_clip, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = NULL;
+    __pyx_t_8 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
+      if (likely(__pyx_t_3)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+        __Pyx_INCREF(__pyx_t_3);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);
+        __pyx_t_8 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_9, __pyx_t_5, __pyx_t_4};
+      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    } else
+    #endif
+    {
+      __pyx_t_7 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 591, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      if (__pyx_t_3) {
+        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
+      }
+      __Pyx_GIVEREF(__pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_9);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_4);
+      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_t_4);
+      __pyx_t_9 = 0;
+      __pyx_t_5 = 0;
+      __pyx_t_4 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_10 = __pyx_v_d;
+    __pyx_t_7 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    if (__pyx_t_13) {
+      __Pyx_INCREF(__pyx_t_2);
+      __pyx_t_6 = __pyx_t_2;
+    } else {
+      __pyx_t_4 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_6 = __pyx_t_4;
+      __pyx_t_4 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 591, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_v_d = __pyx_t_10;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":590
+ * 
+ * 
+ *         for clip in self.clips:             # <<<<<<<<<<<<<<
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":592
+ *         for clip in self.clips:
+ *             d = max(d, clip.distance(px, py, pz))
+ *         return d             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_d;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":551
+ *                      (bisect.bisect_left(xs, self.x1), bisect.bisect_left(ys, self.y1), bisect.bisect_left(zs, self.z1))])
+ * 
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:frustumdist
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, d
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_clip);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_15distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_15distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 551, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 551, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 551, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 551, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_14distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_14distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":596
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_17overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_17overlaps_x)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 596, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 596, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 596, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":597
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_xhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_xlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":596
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_17overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_17overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_x (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, 1); __PYX_ERR(0, 596, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_x") < 0)) __PYX_ERR(0, 596, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 596, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 596, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 596, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_16overlaps_x(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_16overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_x(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":598
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_19overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_19overlaps_y)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 598, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 598, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 598, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":599
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_yhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_ylo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":598
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_19overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_19overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_y (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, 1); __PYX_ERR(0, 598, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_y") < 0)) __PYX_ERR(0, 598, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 598, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 598, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 598, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_18overlaps_y(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_18overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_y(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":600
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_21overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_21overlaps_z)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 600, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 600, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 600, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":601
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_zhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_zlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":600
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_21overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_21overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_z (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, 1); __PYX_ERR(0, 600, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_z") < 0)) __PYX_ERR(0, 600, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 600, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 600, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 600, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_20overlaps_z(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_20overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_z(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_22__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_22__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  PyObject *__pyx_t_24 = NULL;
+  PyObject *__pyx_t_25 = NULL;
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  PyObject *__pyx_t_29 = NULL;
+  int __pyx_t_30;
+  int __pyx_t_31;
+  int __pyx_t_32;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r0, self.r1, self.reversed, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_self->conelength); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_self->cx); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __pyx_t_12 = PyFloat_FromDouble(__pyx_v_self->cy); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_self->cz); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_14 = PyFloat_FromDouble(__pyx_v_self->h); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __pyx_t_15 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_16 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_17 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_18 = __Pyx_PyBool_FromLong(__pyx_v_self->reversed); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_19 = PyFloat_FromDouble(__pyx_v_self->rra); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_19);
+  __pyx_t_20 = PyFloat_FromDouble(__pyx_v_self->rrb); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __pyx_t_21 = PyFloat_FromDouble(__pyx_v_self->side1); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_21);
+  __pyx_t_22 = PyFloat_FromDouble(__pyx_v_self->side2); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_22);
+  __pyx_t_23 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __pyx_t_24 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_24);
+  __pyx_t_25 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_25)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_25);
+  __pyx_t_26 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __pyx_t_27 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  __pyx_t_28 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __pyx_t_29 = PyTuple_New(31); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_29, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_29, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_29, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_29, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_29, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_29, 7, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyTuple_SET_ITEM(__pyx_t_29, 8, __pyx_t_9);
+  __Pyx_INCREF(__pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_v_self->clips);
+  PyTuple_SET_ITEM(__pyx_t_29, 9, __pyx_v_self->clips);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyTuple_SET_ITEM(__pyx_t_29, 10, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyTuple_SET_ITEM(__pyx_t_29, 11, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyTuple_SET_ITEM(__pyx_t_29, 12, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyTuple_SET_ITEM(__pyx_t_29, 13, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyTuple_SET_ITEM(__pyx_t_29, 14, __pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyTuple_SET_ITEM(__pyx_t_29, 15, __pyx_t_15);
+  __Pyx_INCREF(__pyx_v_self->neighbor_regions);
+  __Pyx_GIVEREF(__pyx_v_self->neighbor_regions);
+  PyTuple_SET_ITEM(__pyx_t_29, 16, __pyx_v_self->neighbor_regions);
+  __Pyx_INCREF(__pyx_v_self->neighbors);
+  __Pyx_GIVEREF(__pyx_v_self->neighbors);
+  PyTuple_SET_ITEM(__pyx_t_29, 17, __pyx_v_self->neighbors);
+  __Pyx_GIVEREF(__pyx_t_16);
+  PyTuple_SET_ITEM(__pyx_t_29, 18, __pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_17);
+  PyTuple_SET_ITEM(__pyx_t_29, 19, __pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_18);
+  PyTuple_SET_ITEM(__pyx_t_29, 20, __pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_19);
+  PyTuple_SET_ITEM(__pyx_t_29, 21, __pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_20);
+  PyTuple_SET_ITEM(__pyx_t_29, 22, __pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_21);
+  PyTuple_SET_ITEM(__pyx_t_29, 23, __pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_22);
+  PyTuple_SET_ITEM(__pyx_t_29, 24, __pyx_t_22);
+  __Pyx_GIVEREF(__pyx_t_23);
+  PyTuple_SET_ITEM(__pyx_t_29, 25, __pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_24);
+  PyTuple_SET_ITEM(__pyx_t_29, 26, __pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_25);
+  PyTuple_SET_ITEM(__pyx_t_29, 27, __pyx_t_25);
+  __Pyx_GIVEREF(__pyx_t_26);
+  PyTuple_SET_ITEM(__pyx_t_29, 28, __pyx_t_26);
+  __Pyx_GIVEREF(__pyx_t_27);
+  PyTuple_SET_ITEM(__pyx_t_29, 29, __pyx_t_27);
+  __Pyx_GIVEREF(__pyx_t_28);
+  PyTuple_SET_ITEM(__pyx_t_29, 30, __pyx_t_28);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_t_16 = 0;
+  __pyx_t_17 = 0;
+  __pyx_t_18 = 0;
+  __pyx_t_19 = 0;
+  __pyx_t_20 = 0;
+  __pyx_t_21 = 0;
+  __pyx_t_22 = 0;
+  __pyx_t_23 = 0;
+  __pyx_t_24 = 0;
+  __pyx_t_25 = 0;
+  __pyx_t_26 = 0;
+  __pyx_t_27 = 0;
+  __pyx_t_28 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_29);
+  __pyx_t_29 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r0, self.r1, self.reversed, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_29 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __pyx_v__dict = __pyx_t_29;
+  __pyx_t_29 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r0, self.r1, self.reversed, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_30 = (__pyx_v__dict != Py_None);
+  __pyx_t_31 = (__pyx_t_30 != 0);
+  if (__pyx_t_31) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_29 = PyTuple_New(1); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_v__dict);
+    __pyx_t_28 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_29); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_28));
+    __pyx_t_28 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.clips, self.conelength, self.cx, self.cy, self.cz, self.h, self.length, self.neighbor_regions, self.neighbors, self.r0, self.r1, self.reversed, self.rra, self.rrb, self.side1, self.side2, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, None), state
+ */
+  /*else*/ {
+    __pyx_t_30 = (__pyx_v_self->clips != ((PyObject*)Py_None));
+    __pyx_t_32 = (__pyx_t_30 != 0);
+    if (!__pyx_t_32) {
+    } else {
+      __pyx_t_31 = __pyx_t_32;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_32 = (__pyx_v_self->neighbor_regions != ((PyObject*)Py_None));
+    __pyx_t_30 = (__pyx_t_32 != 0);
+    if (!__pyx_t_30) {
+    } else {
+      __pyx_t_31 = __pyx_t_30;
+      goto __pyx_L4_bool_binop_done;
+    }
+    __pyx_t_30 = (__pyx_v_self->neighbors != ((PyObject*)Py_None));
+    __pyx_t_32 = (__pyx_t_30 != 0);
+    __pyx_t_31 = __pyx_t_32;
+    __pyx_L4_bool_binop_done:;
+    __pyx_v_use_setstate = __pyx_t_31;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, None), state
+ *     else:
+ */
+  __pyx_t_31 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_31) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_28, __pyx_n_s_pyx_unpickle_Cone); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __pyx_t_29 = PyTuple_New(3); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_29, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_153540018);
+    __Pyx_GIVEREF(__pyx_int_153540018);
+    PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_int_153540018);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_29, 2, Py_None);
+    __pyx_t_27 = PyTuple_New(3); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_28);
+    PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_28);
+    __Pyx_GIVEREF(__pyx_t_29);
+    PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_29);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_27, 2, __pyx_v_state);
+    __pyx_t_28 = 0;
+    __pyx_t_29 = 0;
+    __pyx_r = __pyx_t_27;
+    __pyx_t_27 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = self.clips is not None or self.neighbor_regions is not None or self.neighbors is not None
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, None), state
+ *     else:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Cone__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_pyx_unpickle_Cone); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __pyx_t_29 = PyTuple_New(3); if (unlikely(!__pyx_t_29)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_29, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_153540018);
+    __Pyx_GIVEREF(__pyx_int_153540018);
+    PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_int_153540018);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_29, 2, __pyx_v_state);
+    __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_GIVEREF(__pyx_t_27);
+    PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_29);
+    PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_29);
+    __pyx_t_27 = 0;
+    __pyx_t_29 = 0;
+    __pyx_r = __pyx_t_28;
+    __pyx_t_28 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_24);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Cone__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_24__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_24__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_Cone__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cone__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_Cone, (type(self), 0x926d5b2, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_Cone__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.Cone.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":608
+ *     cdef double length, _xlo, _xhi, _ylo, _yhi, _zlo, _zhi, sx, sy, sz, planed
+ *     property _x0:
+ *         def __get__(self): return self.x0             # <<<<<<<<<<<<<<
+ *     property _y0:
+ *         def __get__(self): return self.y0
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone._x0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":610
+ *         def __get__(self): return self.x0
+ *     property _y0:
+ *         def __get__(self): return self.y0             # <<<<<<<<<<<<<<
+ *     property _z0:
+ *         def __get__(self): return self.z0
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone._y0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":612
+ *         def __get__(self): return self.y0
+ *     property _z0:
+ *         def __get__(self): return self.z0             # <<<<<<<<<<<<<<
+ * 
+ *     property xlo:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 612, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone._z0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":615
+ * 
+ *     property xlo:
+ *         def __get__(self): return self._xlo             # <<<<<<<<<<<<<<
+ *     property xhi:
+ *         def __get__(self): return self._xhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 615, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.xlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":617
+ *         def __get__(self): return self._xlo
+ *     property xhi:
+ *         def __get__(self): return self._xhi             # <<<<<<<<<<<<<<
+ *     property ylo:
+ *         def __get__(self): return self._ylo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.xhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":619
+ *         def __get__(self): return self._xhi
+ *     property ylo:
+ *         def __get__(self): return self._ylo             # <<<<<<<<<<<<<<
+ *     property yhi:
+ *         def __get__(self): return self._yhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 619, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.ylo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":621
+ *         def __get__(self): return self._ylo
+ *     property yhi:
+ *         def __get__(self): return self._yhi             # <<<<<<<<<<<<<<
+ *     property zlo:
+ *         def __get__(self): return self._zlo
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.yhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":623
+ *         def __get__(self): return self._yhi
+ *     property zlo:
+ *         def __get__(self): return self._zlo             # <<<<<<<<<<<<<<
+ *     property zhi:
+ *         def __get__(self): return self._zhi
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.zlo.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":625
+ *         def __get__(self): return self._zlo
+ *     property zhi:
+ *         def __get__(self): return self._zhi             # <<<<<<<<<<<<<<
+ *     property primitives:
+ *         def __get__(self): return [self]
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.zhi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":627
+ *         def __get__(self): return self._zhi
+ *     property primitives:
+ *         def __get__(self): return [self]             # <<<<<<<<<<<<<<
+ * 
+ *     def get_clip(self):
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives_1__get__(PyObject *__pyx_v_self); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives_1__get__(PyObject *__pyx_v_self) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives___get__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives___get__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__get__", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.primitives.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":629
+ *         def __get__(self): return [self]
+ * 
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         # TODO: change this if ever expand to allow clipping
+ *         return []
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_1get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_1get_clip(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("get_clip (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_get_clip(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_get_clip(CYTHON_UNUSED struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("get_clip", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":631
+ *     def get_clip(self):
+ *         # TODO: change this if ever expand to allow clipping
+ *         return []             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":629
+ *         def __get__(self): return [self]
+ * 
+ *     def get_clip(self):             # <<<<<<<<<<<<<<
+ *         # TODO: change this if ever expand to allow clipping
+ *         return []
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.get_clip", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":634
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2):             # <<<<<<<<<<<<<<
+ *         """(x2, y2, z2) denotes point to skew (x1, y1, z1) to"""
+ * 
+ */
+
+/* Python wrapper */
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__[] = "(x2, y2, z2) denotes point to skew (x1, y1, z1) to";
+#if CYTHON_UPDATE_DESCRIPTOR_DOC
+struct wrapperbase __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__;
+#endif
+static int __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_r0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_r1;
+  double __pyx_v_x2;
+  double __pyx_v_y2;
+  double __pyx_v_z2;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x0,&__pyx_n_s_y0,&__pyx_n_s_z0,&__pyx_n_s_r0,&__pyx_n_s_x1,&__pyx_n_s_y1,&__pyx_n_s_z1,&__pyx_n_s_r1,&__pyx_n_s_x2,&__pyx_n_s_y2,&__pyx_n_s_z2,0};
+    PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        CYTHON_FALLTHROUGH;
+        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        CYTHON_FALLTHROUGH;
+        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        CYTHON_FALLTHROUGH;
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x0)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 1); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 2); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r0)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 3); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 4); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 5); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 6); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r1)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 7); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  8:
+        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_x2)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 8); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  9:
+        if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y2)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 9); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case 10:
+        if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_z2)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, 10); __PYX_ERR(0, 634, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 634, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 11) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+      values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+      values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+    }
+    __pyx_v_x0 = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_x0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_y0 = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_z0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_z0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_r0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_r0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_x1 = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_x1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_y1 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_y1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_z1 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_z1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_r1 = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_r1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_x2 = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_x2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_y2 = __pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_y2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+    __pyx_v_z2 = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_z2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__init__", 1, 11, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 634, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_x0, __pyx_v_y0, __pyx_v_z0, __pyx_v_r0, __pyx_v_x1, __pyx_v_y1, __pyx_v_z1, __pyx_v_r1, __pyx_v_x2, __pyx_v_y2, __pyx_v_z2);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_x0, double __pyx_v_y0, double __pyx_v_z0, double __pyx_v_r0, double __pyx_v_x1, double __pyx_v_y1, double __pyx_v_z1, double __pyx_v_r1, double __pyx_v_x2, double __pyx_v_y2, double __pyx_v_z2) {
+  double __pyx_v_rmax;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  double __pyx_t_2;
+  double __pyx_t_3;
+  double __pyx_t_4;
+  double __pyx_t_5;
+  double __pyx_t_6;
+  double __pyx_t_7;
+  double __pyx_t_8;
+  double __pyx_t_9;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":638
+ * 
+ * 
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2 = x2, y2, z2, r1, x2 - (x1 - x0), y2 - (y1 - y0), z2 - (z1 - z0), r0, x0, y0, z0
+ * 
+ */
+  __pyx_t_1 = ((__pyx_v_r1 > __pyx_v_r0) != 0);
+  if (__pyx_t_1) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":639
+ * 
+ *         if r1 > r0:
+ *             x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2 = x2, y2, z2, r1, x2 - (x1 - x0), y2 - (y1 - y0), z2 - (z1 - z0), r0, x0, y0, z0             # <<<<<<<<<<<<<<
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ */
+    __pyx_t_2 = __pyx_v_x2;
+    __pyx_t_3 = __pyx_v_y2;
+    __pyx_t_4 = __pyx_v_z2;
+    __pyx_t_5 = __pyx_v_r1;
+    __pyx_t_6 = (__pyx_v_x2 - (__pyx_v_x1 - __pyx_v_x0));
+    __pyx_t_7 = (__pyx_v_y2 - (__pyx_v_y1 - __pyx_v_y0));
+    __pyx_t_8 = (__pyx_v_z2 - (__pyx_v_z1 - __pyx_v_z0));
+    __pyx_t_9 = __pyx_v_r0;
+    __pyx_t_10 = __pyx_v_x0;
+    __pyx_t_11 = __pyx_v_y0;
+    __pyx_t_12 = __pyx_v_z0;
+    __pyx_v_x0 = __pyx_t_2;
+    __pyx_v_y0 = __pyx_t_3;
+    __pyx_v_z0 = __pyx_t_4;
+    __pyx_v_r0 = __pyx_t_5;
+    __pyx_v_x1 = __pyx_t_6;
+    __pyx_v_y1 = __pyx_t_7;
+    __pyx_v_z1 = __pyx_t_8;
+    __pyx_v_r1 = __pyx_t_9;
+    __pyx_v_x2 = __pyx_t_10;
+    __pyx_v_y2 = __pyx_t_11;
+    __pyx_v_z2 = __pyx_t_12;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":638
+ * 
+ * 
+ *         if r1 > r0:             # <<<<<<<<<<<<<<
+ *             x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2 = x2, y2, z2, r1, x2 - (x1 - x0), y2 - (y1 - y0), z2 - (z1 - z0), r0, x0, y0, z0
+ * 
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":641
+ *             x0, y0, z0, r0, x1, y1, z1, r1, x2, y2, z2 = x2, y2, z2, r1, x2 - (x1 - x0), y2 - (y1 - y0), z2 - (z1 - z0), r0, x0, y0, z0
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1             # <<<<<<<<<<<<<<
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ */
+  __pyx_t_12 = __pyx_v_x0;
+  __pyx_t_11 = __pyx_v_y0;
+  __pyx_t_10 = __pyx_v_z0;
+  __pyx_t_9 = __pyx_v_r0;
+  __pyx_t_8 = __pyx_v_x1;
+  __pyx_t_7 = __pyx_v_y1;
+  __pyx_t_6 = __pyx_v_z1;
+  __pyx_t_5 = __pyx_v_r1;
+  __pyx_v_self->x0 = __pyx_t_12;
+  __pyx_v_self->y0 = __pyx_t_11;
+  __pyx_v_self->z0 = __pyx_t_10;
+  __pyx_v_self->r0 = __pyx_t_9;
+  __pyx_v_self->x1 = __pyx_t_8;
+  __pyx_v_self->y1 = __pyx_t_7;
+  __pyx_v_self->z1 = __pyx_t_6;
+  __pyx_v_self->r1 = __pyx_t_5;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":642
+ * 
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ *         self.rra, self.rrb = r0 * r0, r1 * r1             # <<<<<<<<<<<<<<
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ * 
+ */
+  __pyx_t_5 = (__pyx_v_r0 * __pyx_v_r0);
+  __pyx_t_6 = (__pyx_v_r1 * __pyx_v_r1);
+  __pyx_v_self->rra = __pyx_t_5;
+  __pyx_v_self->rrb = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":643
+ *         self.x0, self.y0, self.z0, self.r0, self.x1, self.y1, self.z1, self.r1 = x0, y0, z0, r0, x1, y1, z1, r1
+ *         self.rra, self.rrb = r0 * r0, r1 * r1
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)             # <<<<<<<<<<<<<<
+ * 
+ *         self.length = sqrt((x1 - x0) ** 2 + (y1 - y0) ** 2 + (z1 - z0) ** 2)
+ */
+  __pyx_t_6 = (__pyx_v_x1 - __pyx_v_x0);
+  __pyx_t_5 = (__pyx_v_y1 - __pyx_v_y0);
+  __pyx_t_7 = (__pyx_v_z1 - __pyx_v_z0);
+  __pyx_v_self->axisx = __pyx_t_6;
+  __pyx_v_self->axisy = __pyx_t_5;
+  __pyx_v_self->axisz = __pyx_t_7;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":645
+ *         self.axisx, self.axisy, self.axisz = (x1 - x0, y1 - y0, z1 - z0)
+ * 
+ *         self.length = sqrt((x1 - x0) ** 2 + (y1 - y0) ** 2 + (z1 - z0) ** 2)             # <<<<<<<<<<<<<<
+ *         # skew data
+ *         self.sx = (x2 - x1) / self.length
+ */
+  __pyx_v_self->length = sqrt(((pow((__pyx_v_x1 - __pyx_v_x0), 2.0) + pow((__pyx_v_y1 - __pyx_v_y0), 2.0)) + pow((__pyx_v_z1 - __pyx_v_z0), 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":647
+ *         self.length = sqrt((x1 - x0) ** 2 + (y1 - y0) ** 2 + (z1 - z0) ** 2)
+ *         # skew data
+ *         self.sx = (x2 - x1) / self.length             # <<<<<<<<<<<<<<
+ *         self.sy = (y2 - y1) / self.length
+ *         self.sz = (z2 - z1) / self.length
+ */
+  __pyx_t_7 = (__pyx_v_x2 - __pyx_v_x1);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 647, __pyx_L1_error)
+  }
+  __pyx_v_self->sx = (__pyx_t_7 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":648
+ *         # skew data
+ *         self.sx = (x2 - x1) / self.length
+ *         self.sy = (y2 - y1) / self.length             # <<<<<<<<<<<<<<
+ *         self.sz = (z2 - z1) / self.length
+ * 
+ */
+  __pyx_t_7 = (__pyx_v_y2 - __pyx_v_y1);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 648, __pyx_L1_error)
+  }
+  __pyx_v_self->sy = (__pyx_t_7 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":649
+ *         self.sx = (x2 - x1) / self.length
+ *         self.sy = (y2 - y1) / self.length
+ *         self.sz = (z2 - z1) / self.length             # <<<<<<<<<<<<<<
+ * 
+ *         # normalize the axis
+ */
+  __pyx_t_7 = (__pyx_v_z2 - __pyx_v_z1);
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 649, __pyx_L1_error)
+  }
+  __pyx_v_self->sz = (__pyx_t_7 / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":652
+ * 
+ *         # normalize the axis
+ *         self.axisx /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 652, __pyx_L1_error)
+  }
+  __pyx_v_self->axisx = (__pyx_v_self->axisx / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":653
+ *         # normalize the axis
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length             # <<<<<<<<<<<<<<
+ *         self.axisz /= self.length
+ * 
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 653, __pyx_L1_error)
+  }
+  __pyx_v_self->axisy = (__pyx_v_self->axisy / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":654
+ *         self.axisx /= self.length
+ *         self.axisy /= self.length
+ *         self.axisz /= self.length             # <<<<<<<<<<<<<<
+ * 
+ *         self.planed = - (self.axisx * x0 + self.axisy * y0 + self.axisz * z0)
+ */
+  if (unlikely(__pyx_v_self->length == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 654, __pyx_L1_error)
+  }
+  __pyx_v_self->axisz = (__pyx_v_self->axisz / __pyx_v_self->length);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":656
+ *         self.axisz /= self.length
+ * 
+ *         self.planed = - (self.axisx * x0 + self.axisy * y0 + self.axisz * z0)             # <<<<<<<<<<<<<<
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ */
+  __pyx_v_self->planed = (-(((__pyx_v_self->axisx * __pyx_v_x0) + (__pyx_v_self->axisy * __pyx_v_y0)) + (__pyx_v_self->axisz * __pyx_v_z0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":658
+ *         self.planed = - (self.axisx * x0 + self.axisy * y0 + self.axisz * z0)
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)             # <<<<<<<<<<<<<<
+ *         self.side1 = (r1 - r0) / self.conelength
+ *         self.side2 = self.length / self.conelength
+ */
+  __pyx_v_self->conelength = sqrt((pow((__pyx_v_r1 - __pyx_v_r0), 2.0) + pow(__pyx_v_self->length, 2.0)));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":659
+ * 
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ *         self.side1 = (r1 - r0) / self.conelength             # <<<<<<<<<<<<<<
+ *         self.side2 = self.length / self.conelength
+ *         cdef double rmax = max(r0, r1)
+ */
+  __pyx_t_7 = (__pyx_v_r1 - __pyx_v_r0);
+  if (unlikely(__pyx_v_self->conelength == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 659, __pyx_L1_error)
+  }
+  __pyx_v_self->side1 = (__pyx_t_7 / __pyx_v_self->conelength);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":660
+ *         self.conelength = sqrt((r1 - r0) ** 2 + self.length ** 2)
+ *         self.side1 = (r1 - r0) / self.conelength
+ *         self.side2 = self.length / self.conelength             # <<<<<<<<<<<<<<
+ *         cdef double rmax = max(r0, r1)
+ * 
+ */
+  if (unlikely(__pyx_v_self->conelength == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "float division");
+    __PYX_ERR(0, 660, __pyx_L1_error)
+  }
+  __pyx_v_self->side2 = (__pyx_v_self->length / __pyx_v_self->conelength);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":661
+ *         self.side1 = (r1 - r0) / self.conelength
+ *         self.side2 = self.length / self.conelength
+ *         cdef double rmax = max(r0, r1)             # <<<<<<<<<<<<<<
+ * 
+ *         self._xlo = min(x0 - rmax, x2 - rmax)
+ */
+  __pyx_t_7 = __pyx_v_r1;
+  __pyx_t_5 = __pyx_v_r0;
+  if (((__pyx_t_7 > __pyx_t_5) != 0)) {
+    __pyx_t_6 = __pyx_t_7;
+  } else {
+    __pyx_t_6 = __pyx_t_5;
+  }
+  __pyx_v_rmax = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":663
+ *         cdef double rmax = max(r0, r1)
+ * 
+ *         self._xlo = min(x0 - rmax, x2 - rmax)             # <<<<<<<<<<<<<<
+ *         self._xhi = max(x0 + rmax, x2 + rmax)
+ *         self._ylo = min(y0 - rmax, y2 - rmax)
+ */
+  __pyx_t_6 = (__pyx_v_x2 - __pyx_v_rmax);
+  __pyx_t_7 = (__pyx_v_x0 - __pyx_v_rmax);
+  if (((__pyx_t_6 < __pyx_t_7) != 0)) {
+    __pyx_t_5 = __pyx_t_6;
+  } else {
+    __pyx_t_5 = __pyx_t_7;
+  }
+  __pyx_v_self->_xlo = __pyx_t_5;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":664
+ * 
+ *         self._xlo = min(x0 - rmax, x2 - rmax)
+ *         self._xhi = max(x0 + rmax, x2 + rmax)             # <<<<<<<<<<<<<<
+ *         self._ylo = min(y0 - rmax, y2 - rmax)
+ *         self._yhi = max(y0 + rmax, y2 + rmax)
+ */
+  __pyx_t_5 = (__pyx_v_x2 + __pyx_v_rmax);
+  __pyx_t_6 = (__pyx_v_x0 + __pyx_v_rmax);
+  if (((__pyx_t_5 > __pyx_t_6) != 0)) {
+    __pyx_t_7 = __pyx_t_5;
+  } else {
+    __pyx_t_7 = __pyx_t_6;
+  }
+  __pyx_v_self->_xhi = __pyx_t_7;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":665
+ *         self._xlo = min(x0 - rmax, x2 - rmax)
+ *         self._xhi = max(x0 + rmax, x2 + rmax)
+ *         self._ylo = min(y0 - rmax, y2 - rmax)             # <<<<<<<<<<<<<<
+ *         self._yhi = max(y0 + rmax, y2 + rmax)
+ *         self._zlo = min(z0 - rmax, z2 - rmax)
+ */
+  __pyx_t_7 = (__pyx_v_y2 - __pyx_v_rmax);
+  __pyx_t_5 = (__pyx_v_y0 - __pyx_v_rmax);
+  if (((__pyx_t_7 < __pyx_t_5) != 0)) {
+    __pyx_t_6 = __pyx_t_7;
+  } else {
+    __pyx_t_6 = __pyx_t_5;
+  }
+  __pyx_v_self->_ylo = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":666
+ *         self._xhi = max(x0 + rmax, x2 + rmax)
+ *         self._ylo = min(y0 - rmax, y2 - rmax)
+ *         self._yhi = max(y0 + rmax, y2 + rmax)             # <<<<<<<<<<<<<<
+ *         self._zlo = min(z0 - rmax, z2 - rmax)
+ *         self._zhi = max(z0 + rmax, z2 + rmax)
+ */
+  __pyx_t_6 = (__pyx_v_y2 + __pyx_v_rmax);
+  __pyx_t_7 = (__pyx_v_y0 + __pyx_v_rmax);
+  if (((__pyx_t_6 > __pyx_t_7) != 0)) {
+    __pyx_t_5 = __pyx_t_6;
+  } else {
+    __pyx_t_5 = __pyx_t_7;
+  }
+  __pyx_v_self->_yhi = __pyx_t_5;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":667
+ *         self._ylo = min(y0 - rmax, y2 - rmax)
+ *         self._yhi = max(y0 + rmax, y2 + rmax)
+ *         self._zlo = min(z0 - rmax, z2 - rmax)             # <<<<<<<<<<<<<<
+ *         self._zhi = max(z0 + rmax, z2 + rmax)
+ * 
+ */
+  __pyx_t_5 = (__pyx_v_z2 - __pyx_v_rmax);
+  __pyx_t_6 = (__pyx_v_z0 - __pyx_v_rmax);
+  if (((__pyx_t_5 < __pyx_t_6) != 0)) {
+    __pyx_t_7 = __pyx_t_5;
+  } else {
+    __pyx_t_7 = __pyx_t_6;
+  }
+  __pyx_v_self->_zlo = __pyx_t_7;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":668
+ *         self._yhi = max(y0 + rmax, y2 + rmax)
+ *         self._zlo = min(z0 - rmax, z2 - rmax)
+ *         self._zhi = max(z0 + rmax, z2 + rmax)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_7 = (__pyx_v_z2 + __pyx_v_rmax);
+  __pyx_t_5 = (__pyx_v_z0 + __pyx_v_rmax);
+  if (((__pyx_t_7 > __pyx_t_5) != 0)) {
+    __pyx_t_6 = __pyx_t_7;
+  } else {
+    __pyx_t_6 = __pyx_t_5;
+  }
+  __pyx_v_self->_zhi = __pyx_t_6;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":634
+ * 
+ * 
+ *     def __init__(self, double x0, double y0, double z0, double r0, double x1, double y1, double z1, double r1, double x2, double y2, double z2):             # <<<<<<<<<<<<<<
+ *         """(x2, y2, z2) denotes point to skew (x1, y1, z1) to"""
+ * 
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":672
+ * 
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0))]
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_5starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_5starting_points(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("starting_points (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 1); __PYX_ERR(0, 672, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, 2); __PYX_ERR(0, 672, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "starting_points") < 0)) __PYX_ERR(0, 672, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_xs = values[0];
+    __pyx_v_ys = values[1];
+    __pyx_v_zs = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("starting_points", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 672, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_4starting_points(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_4starting_points(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("starting_points", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":674
+ *     def starting_points(self, xs, ys, zs):
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0))]             # <<<<<<<<<<<<<<
+ *         #return sum([c.starting_points(xs, ys, zs) for c in self.clips], [(bisect.bisect_left(xs, self._x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0))])
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_bisect); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_4 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_xs, __pyx_t_2};
+    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_xs, __pyx_t_2};
+    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (__pyx_t_4) {
+      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_v_xs);
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_xs);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
+    __pyx_t_2 = 0;
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_bisect); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_4 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_ys, __pyx_t_6};
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_7 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    if (__pyx_t_4) {
+      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_v_ys);
+    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_5, __pyx_v_ys);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_5, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_bisect); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_4 = NULL;
+  __pyx_t_5 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_4)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_5 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_zs, __pyx_t_7};
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_zs, __pyx_t_7};
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    if (__pyx_t_4) {
+      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
+    }
+    __Pyx_INCREF(__pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_v_zs);
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_v_zs);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_t_7);
+    __pyx_t_7 = 0;
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2);
+  __pyx_t_1 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6);
+  __pyx_t_6 = 0;
+  __pyx_r = __pyx_t_2;
+  __pyx_t_2 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":672
+ * 
+ * 
+ *     def starting_points(self, xs, ys, zs):             # <<<<<<<<<<<<<<
+ *         # TODO: this only works right if the entire object is inside the domain
+ *         return [(bisect.bisect_left(xs, self.x0), bisect.bisect_left(ys, self.y0), bisect.bisect_left(zs, self.z0))]
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.starting_points", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":678
+ * 
+ *     # TODO: allow clipping?
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:shearfrustdist
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, dist
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz, int __pyx_skip_dispatch) {
+  double __pyx_v_nx;
+  double __pyx_v_ny;
+  double __pyx_v_nz;
+  double __pyx_v_y;
+  double __pyx_v_yy;
+  double __pyx_v_xx;
+  double __pyx_v_ry;
+  double __pyx_v_rx;
+  double __pyx_v_dist;
+  double __pyx_v_x;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  double __pyx_t_10;
+  double __pyx_t_11;
+  double __pyx_t_12;
+  int __pyx_t_13;
+  int __pyx_t_14;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_distance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 678, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_7distance)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_px); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 678, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_py); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 678, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_5 = PyFloat_FromDouble(__pyx_v_pz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 678, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_6 = __pyx_t_1; __pyx_t_7 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+          __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+          if (likely(__pyx_t_7)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+            __Pyx_INCREF(__pyx_t_7);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_6, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 678, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 678, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 678, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_9);
+          if (__pyx_t_7) {
+            __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_5 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 678, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_10;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":683
+ * 
+ *         # compute signed distance of point to plane (note: axis vector has length 1)
+ *         dist = px * self.axisx + py * self.axisy + pz * self.axisz + self.planed             # <<<<<<<<<<<<<<
+ * 
+ *         # deskew
+ */
+  __pyx_v_dist = ((((__pyx_v_px * __pyx_v_self->axisx) + (__pyx_v_py * __pyx_v_self->axisy)) + (__pyx_v_pz * __pyx_v_self->axisz)) + __pyx_v_self->planed);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":686
+ * 
+ *         # deskew
+ *         px -= dist * self.sx             # <<<<<<<<<<<<<<
+ *         py -= dist * self.sy
+ *         pz -= dist * self.sz
+ */
+  __pyx_v_px = (__pyx_v_px - (__pyx_v_dist * __pyx_v_self->sx));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":687
+ *         # deskew
+ *         px -= dist * self.sx
+ *         py -= dist * self.sy             # <<<<<<<<<<<<<<
+ *         pz -= dist * self.sz
+ * 
+ */
+  __pyx_v_py = (__pyx_v_py - (__pyx_v_dist * __pyx_v_self->sy));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":688
+ *         px -= dist * self.sx
+ *         py -= dist * self.sy
+ *         pz -= dist * self.sz             # <<<<<<<<<<<<<<
+ * 
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ */
+  __pyx_v_pz = (__pyx_v_pz - (__pyx_v_dist * __pyx_v_self->sz));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":690
+ *         pz -= dist * self.sz
+ * 
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0             # <<<<<<<<<<<<<<
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y
+ */
+  __pyx_t_10 = (__pyx_v_px - __pyx_v_self->x0);
+  __pyx_t_11 = (__pyx_v_py - __pyx_v_self->y0);
+  __pyx_t_12 = (__pyx_v_pz - __pyx_v_self->z0);
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_11;
+  __pyx_v_nz = __pyx_t_12;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":691
+ * 
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz             # <<<<<<<<<<<<<<
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ */
+  __pyx_v_y = (((__pyx_v_nx * __pyx_v_self->axisx) + (__pyx_v_ny * __pyx_v_self->axisy)) + (__pyx_v_nz * __pyx_v_self->axisz));
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":692
+ *         nx, ny, nz = px - self.x0, py - self.y0, pz - self.z0
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y             # <<<<<<<<<<<<<<
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ */
+  __pyx_v_yy = (__pyx_v_y * __pyx_v_y);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":693
+ *         y = nx * self.axisx + ny * self.axisy + nz * self.axisz
+ *         yy = y * y
+ *         xx = nx * nx + ny * ny + nz * nz - yy             # <<<<<<<<<<<<<<
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0
+ */
+  __pyx_v_xx = ((((__pyx_v_nx * __pyx_v_nx) + (__pyx_v_ny * __pyx_v_ny)) + (__pyx_v_nz * __pyx_v_nz)) - __pyx_v_yy);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":695
+ *         xx = nx * nx + ny * ny + nz * nz - yy
+ *         # in principle, xx >= 0, however roundoff errors may cause trouble
+ *         if xx < 0: xx = 0             # <<<<<<<<<<<<<<
+ * 
+ *         if y < 0:
+ */
+  __pyx_t_13 = ((__pyx_v_xx < 0.0) != 0);
+  if (__pyx_t_13) {
+    __pyx_v_xx = 0.0;
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":697
+ *         if xx < 0: xx = 0
+ * 
+ *         if y < 0:             # <<<<<<<<<<<<<<
+ *             if xx < self.rra:
+ *                 return -y
+ */
+  __pyx_t_13 = ((__pyx_v_y < 0.0) != 0);
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":698
+ * 
+ *         if y < 0:
+ *             if xx < self.rra:             # <<<<<<<<<<<<<<
+ *                 return -y
+ *             else:
+ */
+    __pyx_t_13 = ((__pyx_v_xx < __pyx_v_self->rra) != 0);
+    if (__pyx_t_13) {
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":699
+ *         if y < 0:
+ *             if xx < self.rra:
+ *                 return -y             # <<<<<<<<<<<<<<
+ *             else:
+ *                 x = sqrt(xx) - self.r0
+ */
+      __pyx_r = (-__pyx_v_y);
+      goto __pyx_L0;
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":698
+ * 
+ *         if y < 0:
+ *             if xx < self.rra:             # <<<<<<<<<<<<<<
+ *                 return -y
+ *             else:
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":701
+ *                 return -y
+ *             else:
+ *                 x = sqrt(xx) - self.r0             # <<<<<<<<<<<<<<
+ *                 return sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:
+ */
+    /*else*/ {
+      __pyx_v_x = (sqrt(__pyx_v_xx) - __pyx_v_self->r0);
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":702
+ *             else:
+ *                 x = sqrt(xx) - self.r0
+ *                 return sqrt(x * x + yy)             # <<<<<<<<<<<<<<
+ *         elif xx < self.rrb and y > self.length:
+ *             return y - self.length
+ */
+      __pyx_r = sqrt(((__pyx_v_x * __pyx_v_x) + __pyx_v_yy));
+      goto __pyx_L0;
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":697
+ *         if xx < 0: xx = 0
+ * 
+ *         if y < 0:             # <<<<<<<<<<<<<<
+ *             if xx < self.rra:
+ *                 return -y
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":703
+ *                 x = sqrt(xx) - self.r0
+ *                 return sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:             # <<<<<<<<<<<<<<
+ *             return y - self.length
+ *         else:
+ */
+  __pyx_t_14 = ((__pyx_v_xx < __pyx_v_self->rrb) != 0);
+  if (__pyx_t_14) {
+  } else {
+    __pyx_t_13 = __pyx_t_14;
+    goto __pyx_L6_bool_binop_done;
+  }
+  __pyx_t_14 = ((__pyx_v_y > __pyx_v_self->length) != 0);
+  __pyx_t_13 = __pyx_t_14;
+  __pyx_L6_bool_binop_done:;
+  if (__pyx_t_13) {
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":704
+ *                 return sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:
+ *             return y - self.length             # <<<<<<<<<<<<<<
+ *         else:
+ *             x = sqrt(xx) - self.r0
+ */
+    __pyx_r = (__pyx_v_y - __pyx_v_self->length);
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":703
+ *                 x = sqrt(xx) - self.r0
+ *                 return sqrt(x * x + yy)
+ *         elif xx < self.rrb and y > self.length:             # <<<<<<<<<<<<<<
+ *             return y - self.length
+ *         else:
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":706
+ *             return y - self.length
+ *         else:
+ *             x = sqrt(xx) - self.r0             # <<<<<<<<<<<<<<
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:
+ */
+  /*else*/ {
+    __pyx_v_x = (sqrt(__pyx_v_xx) - __pyx_v_self->r0);
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":707
+ *         else:
+ *             x = sqrt(xx) - self.r0
+ *             ry = x * self.side1 + y * self.side2             # <<<<<<<<<<<<<<
+ *             if ry < 0:
+ *                 return sqrt(x * x + yy)
+ */
+    __pyx_v_ry = ((__pyx_v_x * __pyx_v_self->side1) + (__pyx_v_y * __pyx_v_self->side2));
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":708
+ *             x = sqrt(xx) - self.r0
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:             # <<<<<<<<<<<<<<
+ *                 return sqrt(x * x + yy)
+ *             else:
+ */
+    __pyx_t_13 = ((__pyx_v_ry < 0.0) != 0);
+    if (__pyx_t_13) {
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":709
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:
+ *                 return sqrt(x * x + yy)             # <<<<<<<<<<<<<<
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ */
+      __pyx_r = sqrt(((__pyx_v_x * __pyx_v_x) + __pyx_v_yy));
+      goto __pyx_L0;
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":708
+ *             x = sqrt(xx) - self.r0
+ *             ry = x * self.side1 + y * self.side2
+ *             if ry < 0:             # <<<<<<<<<<<<<<
+ *                 return sqrt(x * x + yy)
+ *             else:
+ */
+    }
+
+    /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":711
+ *                 return sqrt(x * x + yy)
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1             # <<<<<<<<<<<<<<
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength
+ */
+    /*else*/ {
+      __pyx_v_rx = ((__pyx_v_x * __pyx_v_self->side2) - (__pyx_v_y * __pyx_v_self->side1));
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":712
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:             # <<<<<<<<<<<<<<
+ *                     ry -= self.conelength
+ *                     return sqrt(rx * rx + ry * ry)
+ */
+      __pyx_t_14 = ((__pyx_v_ry > __pyx_v_self->conelength) != 0);
+      if (__pyx_t_14) {
+      } else {
+        __pyx_t_13 = __pyx_t_14;
+        goto __pyx_L10_bool_binop_done;
+      }
+      __pyx_t_14 = ((__pyx_v_y > __pyx_v_self->length) != 0);
+      __pyx_t_13 = __pyx_t_14;
+      __pyx_L10_bool_binop_done:;
+      if (__pyx_t_13) {
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":713
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength             # <<<<<<<<<<<<<<
+ *                     return sqrt(rx * rx + ry * ry)
+ *                 else:
+ */
+        __pyx_v_ry = (__pyx_v_ry - __pyx_v_self->conelength);
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":714
+ *                 if ry > self.conelength and y > self.length:
+ *                     ry -= self.conelength
+ *                     return sqrt(rx * rx + ry * ry)             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     if rx >= 0:
+ */
+        __pyx_r = sqrt(((__pyx_v_rx * __pyx_v_rx) + (__pyx_v_ry * __pyx_v_ry)));
+        goto __pyx_L0;
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":712
+ *             else:
+ *                 rx = x * self.side2 - y * self.side1
+ *                 if ry > self.conelength and y > self.length:             # <<<<<<<<<<<<<<
+ *                     ry -= self.conelength
+ *                     return sqrt(rx * rx + ry * ry)
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":716
+ *                     return sqrt(rx * rx + ry * ry)
+ *                 else:
+ *                     if rx >= 0:             # <<<<<<<<<<<<<<
+ *                         return rx
+ *                     else:
+ */
+      /*else*/ {
+        __pyx_t_13 = ((__pyx_v_rx >= 0.0) != 0);
+        if (__pyx_t_13) {
+
+          /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":717
+ *                 else:
+ *                     if rx >= 0:
+ *                         return rx             # <<<<<<<<<<<<<<
+ *                     else:
+ *                         return max(rx, y - self.length)
+ */
+          __pyx_r = __pyx_v_rx;
+          goto __pyx_L0;
+
+          /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":716
+ *                     return sqrt(rx * rx + ry * ry)
+ *                 else:
+ *                     if rx >= 0:             # <<<<<<<<<<<<<<
+ *                         return rx
+ *                     else:
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":719
+ *                         return rx
+ *                     else:
+ *                         return max(rx, y - self.length)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+        /*else*/ {
+          __pyx_t_12 = (__pyx_v_y - __pyx_v_self->length);
+          __pyx_t_11 = __pyx_v_rx;
+          if (((__pyx_t_12 > __pyx_t_11) != 0)) {
+            __pyx_t_10 = __pyx_t_12;
+          } else {
+            __pyx_t_10 = __pyx_t_11;
+          }
+          __pyx_r = __pyx_t_10;
+          goto __pyx_L0;
+        }
+      }
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":678
+ * 
+ *     # TODO: allow clipping?
+ *     cpdef double distance(self, double px, double py, double pz):             # <<<<<<<<<<<<<<
+ *         # CTNG:shearfrustdist
+ *         cdef double nx, ny, nz, y, yy, xx, ry, rx, dist
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_7distance(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_px;
+  double __pyx_v_py;
+  double __pyx_v_pz;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("distance (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_px,&__pyx_n_s_py,&__pyx_n_s_pz,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_px)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 1); __PYX_ERR(0, 678, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, 2); __PYX_ERR(0, 678, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distance") < 0)) __PYX_ERR(0, 678, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_px = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_px == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L3_error)
+    __pyx_v_py = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_py == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L3_error)
+    __pyx_v_pz = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_pz == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("distance", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 678, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_6distance(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_px, __pyx_v_py, __pyx_v_pz);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_6distance(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_px, double __pyx_v_py, double __pyx_v_pz) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("distance", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_distance(__pyx_v_self, __pyx_v_px, __pyx_v_py, __pyx_v_pz, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 678, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.distance", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":723
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 723, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_9overlaps_x)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 723, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 723, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 723, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 723, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 723, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":724
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_xhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_xlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":723
+ * 
+ * 
+ *     cpdef bint overlaps_x(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_9overlaps_x(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_x (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, 1); __PYX_ERR(0, 723, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_x") < 0)) __PYX_ERR(0, 723, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 723, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 723, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_x", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 723, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_8overlaps_x(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_8overlaps_x(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_x", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_x(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 723, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_x", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":725
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_11overlaps_y)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 725, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 725, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 725, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 725, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":726
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo             # <<<<<<<<<<<<<<
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_yhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_ylo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":725
+ *     cpdef bint overlaps_x(self, double lo, double hi):
+ *         return lo <= self._xhi and hi >= self._xlo
+ *     cpdef bint overlaps_y(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_11overlaps_y(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_y (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, 1); __PYX_ERR(0, 725, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_y") < 0)) __PYX_ERR(0, 725, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 725, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 725, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_y", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 725, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10overlaps_y(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10overlaps_y(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_y", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_y(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_y", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":727
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi, int __pyx_skip_dispatch) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  /* Check if called by wrapper */
+  if (unlikely(__pyx_skip_dispatch)) ;
+  /* Check if overridden in Python */
+  else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
+      PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      #endif
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_13overlaps_z)) {
+        __pyx_t_3 = PyFloat_FromDouble(__pyx_v_lo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = PyFloat_FromDouble(__pyx_v_hi); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 727, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_1);
+        __pyx_t_5 = __pyx_t_1; __pyx_t_6 = NULL;
+        __pyx_t_7 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+          if (likely(__pyx_t_6)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+            __Pyx_INCREF(__pyx_t_6);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+            __pyx_t_7 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_4};
+          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 727, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          if (__pyx_t_6) {
+            __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+          __pyx_t_3 = 0;
+          __pyx_t_4 = 0;
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 727, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __pyx_r = __pyx_t_9;
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        goto __pyx_L0;
+      }
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
+      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
+      if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) {
+        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
+      }
+      #endif
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
+    }
+    #endif
+  }
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":728
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):
+ *         return lo <= self._zhi and hi >= self._zlo             # <<<<<<<<<<<<<<
+ */
+  __pyx_t_10 = ((__pyx_v_lo <= __pyx_v_self->_zhi) != 0);
+  if (__pyx_t_10) {
+  } else {
+    __pyx_t_9 = __pyx_t_10;
+    goto __pyx_L3_bool_binop_done;
+  }
+  __pyx_t_10 = ((__pyx_v_hi >= __pyx_v_self->_zlo) != 0);
+  __pyx_t_9 = __pyx_t_10;
+  __pyx_L3_bool_binop_done:;
+  __pyx_r = __pyx_t_9;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":727
+ *     cpdef bint overlaps_y(self, double lo, double hi):
+ *         return lo <= self._yhi and hi >= self._ylo
+ *     cpdef bint overlaps_z(self, double lo, double hi):             # <<<<<<<<<<<<<<
+ *         return lo <= self._zhi and hi >= self._zlo
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_13overlaps_z(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  double __pyx_v_lo;
+  double __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("overlaps_z (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[2] = {0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, 1); __PYX_ERR(0, 727, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "overlaps_z") < 0)) __PYX_ERR(0, 727, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+    }
+    __pyx_v_lo = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_lo == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 727, __pyx_L3_error)
+    __pyx_v_hi = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_hi == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 727, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("overlaps_z", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 727, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_12overlaps_z(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_12overlaps_z(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, double __pyx_v_lo, double __pyx_v_hi) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("overlaps_z", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_z(__pyx_v_self, __pyx_v_lo, __pyx_v_hi, 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.overlaps_z", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_14__reduce_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_14__reduce_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self) {
+  PyObject *__pyx_v_state = 0;
+  PyObject *__pyx_v__dict = 0;
+  int __pyx_v_use_setstate;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  PyObject *__pyx_t_24 = NULL;
+  PyObject *__pyx_t_25 = NULL;
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  int __pyx_t_29;
+  int __pyx_t_30;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__reduce_cython__", 0);
+
+  /* "(tree fragment)":5
+ *     cdef object _dict
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.conelength, self.length, self.planed, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.sx, self.sy, self.sz, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)             # <<<<<<<<<<<<<<
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ */
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->_xhi); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_self->_xlo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_self->_yhi); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_self->_ylo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_self->_zhi); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_self->_zlo); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_self->axisx); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyFloat_FromDouble(__pyx_v_self->axisy); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyFloat_FromDouble(__pyx_v_self->axisz); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_10 = PyFloat_FromDouble(__pyx_v_self->conelength); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_self->length); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __pyx_t_12 = PyFloat_FromDouble(__pyx_v_self->planed); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __pyx_t_13 = PyFloat_FromDouble(__pyx_v_self->r0); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_14 = PyFloat_FromDouble(__pyx_v_self->r1); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __pyx_t_15 = PyFloat_FromDouble(__pyx_v_self->rra); if (unlikely(!__pyx_t_15)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __pyx_t_16 = PyFloat_FromDouble(__pyx_v_self->rrb); if (unlikely(!__pyx_t_16)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __pyx_t_17 = PyFloat_FromDouble(__pyx_v_self->side1); if (unlikely(!__pyx_t_17)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_18 = PyFloat_FromDouble(__pyx_v_self->side2); if (unlikely(!__pyx_t_18)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __pyx_t_19 = PyFloat_FromDouble(__pyx_v_self->sx); if (unlikely(!__pyx_t_19)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_19);
+  __pyx_t_20 = PyFloat_FromDouble(__pyx_v_self->sy); if (unlikely(!__pyx_t_20)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __pyx_t_21 = PyFloat_FromDouble(__pyx_v_self->sz); if (unlikely(!__pyx_t_21)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_21);
+  __pyx_t_22 = PyFloat_FromDouble(__pyx_v_self->x0); if (unlikely(!__pyx_t_22)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_22);
+  __pyx_t_23 = PyFloat_FromDouble(__pyx_v_self->x1); if (unlikely(!__pyx_t_23)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __pyx_t_24 = PyFloat_FromDouble(__pyx_v_self->y0); if (unlikely(!__pyx_t_24)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_24);
+  __pyx_t_25 = PyFloat_FromDouble(__pyx_v_self->y1); if (unlikely(!__pyx_t_25)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_25);
+  __pyx_t_26 = PyFloat_FromDouble(__pyx_v_self->z0); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __pyx_t_27 = PyFloat_FromDouble(__pyx_v_self->z1); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  __pyx_t_28 = PyTuple_New(27); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_28, 3, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_28, 4, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_28, 5, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_28, 6, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyTuple_SET_ITEM(__pyx_t_28, 7, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyTuple_SET_ITEM(__pyx_t_28, 8, __pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyTuple_SET_ITEM(__pyx_t_28, 9, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyTuple_SET_ITEM(__pyx_t_28, 10, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyTuple_SET_ITEM(__pyx_t_28, 11, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyTuple_SET_ITEM(__pyx_t_28, 12, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyTuple_SET_ITEM(__pyx_t_28, 13, __pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyTuple_SET_ITEM(__pyx_t_28, 14, __pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_16);
+  PyTuple_SET_ITEM(__pyx_t_28, 15, __pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_17);
+  PyTuple_SET_ITEM(__pyx_t_28, 16, __pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_18);
+  PyTuple_SET_ITEM(__pyx_t_28, 17, __pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_19);
+  PyTuple_SET_ITEM(__pyx_t_28, 18, __pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_20);
+  PyTuple_SET_ITEM(__pyx_t_28, 19, __pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_21);
+  PyTuple_SET_ITEM(__pyx_t_28, 20, __pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_22);
+  PyTuple_SET_ITEM(__pyx_t_28, 21, __pyx_t_22);
+  __Pyx_GIVEREF(__pyx_t_23);
+  PyTuple_SET_ITEM(__pyx_t_28, 22, __pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_24);
+  PyTuple_SET_ITEM(__pyx_t_28, 23, __pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_25);
+  PyTuple_SET_ITEM(__pyx_t_28, 24, __pyx_t_25);
+  __Pyx_GIVEREF(__pyx_t_26);
+  PyTuple_SET_ITEM(__pyx_t_28, 25, __pyx_t_26);
+  __Pyx_GIVEREF(__pyx_t_27);
+  PyTuple_SET_ITEM(__pyx_t_28, 26, __pyx_t_27);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_t_16 = 0;
+  __pyx_t_17 = 0;
+  __pyx_t_18 = 0;
+  __pyx_t_19 = 0;
+  __pyx_t_20 = 0;
+  __pyx_t_21 = 0;
+  __pyx_t_22 = 0;
+  __pyx_t_23 = 0;
+  __pyx_t_24 = 0;
+  __pyx_t_25 = 0;
+  __pyx_t_26 = 0;
+  __pyx_t_27 = 0;
+  __pyx_v_state = ((PyObject*)__pyx_t_28);
+  __pyx_t_28 = 0;
+
+  /* "(tree fragment)":6
+ *     cdef bint use_setstate
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.conelength, self.length, self.planed, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.sx, self.sy, self.sz, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
+ *     if _dict is not None:
+ *         state += (_dict,)
+ */
+  __pyx_t_28 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 6, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __pyx_v__dict = __pyx_t_28;
+  __pyx_t_28 = 0;
+
+  /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.conelength, self.length, self.planed, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.sx, self.sy, self.sz, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+  __pyx_t_29 = (__pyx_v__dict != Py_None);
+  __pyx_t_30 = (__pyx_t_29 != 0);
+  if (__pyx_t_30) {
+
+    /* "(tree fragment)":8
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:
+ *         state += (_dict,)             # <<<<<<<<<<<<<<
+ *         use_setstate = True
+ *     else:
+ */
+    __pyx_t_28 = PyTuple_New(1); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(__pyx_v__dict);
+    __Pyx_GIVEREF(__pyx_v__dict);
+    PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_v__dict);
+    __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_28); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 8, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_27));
+    __pyx_t_27 = 0;
+
+    /* "(tree fragment)":9
+ *     if _dict is not None:
+ *         state += (_dict,)
+ *         use_setstate = True             # <<<<<<<<<<<<<<
+ *     else:
+ *         use_setstate = False
+ */
+    __pyx_v_use_setstate = 1;
+
+    /* "(tree fragment)":7
+ *     state = (self._xhi, self._xlo, self._yhi, self._ylo, self._zhi, self._zlo, self.axisx, self.axisy, self.axisz, self.conelength, self.length, self.planed, self.r0, self.r1, self.rra, self.rrb, self.side1, self.side2, self.sx, self.sy, self.sz, self.x0, self.x1, self.y0, self.y1, self.z0, self.z1)
+ *     _dict = getattr(self, '__dict__', None)
+ *     if _dict is not None:             # <<<<<<<<<<<<<<
+ *         state += (_dict,)
+ *         use_setstate = True
+ */
+    goto __pyx_L3;
+  }
+
+  /* "(tree fragment)":11
+ *         use_setstate = True
+ *     else:
+ *         use_setstate = False             # <<<<<<<<<<<<<<
+ *     if use_setstate:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, None), state
+ */
+  /*else*/ {
+    __pyx_v_use_setstate = 0;
+  }
+  __pyx_L3:;
+
+  /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, None), state
+ *     else:
+ */
+  __pyx_t_30 = (__pyx_v_use_setstate != 0);
+  if (__pyx_t_30) {
+
+    /* "(tree fragment)":13
+ *         use_setstate = False
+ *     if use_setstate:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, None), state             # <<<<<<<<<<<<<<
+ *     else:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, state)
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_pyx_unpickle_SkewCone); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_28, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_238900401);
+    __Pyx_GIVEREF(__pyx_int_238900401);
+    PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_int_238900401);
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    PyTuple_SET_ITEM(__pyx_t_28, 2, Py_None);
+    __pyx_t_26 = PyTuple_New(3); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __Pyx_GIVEREF(__pyx_t_27);
+    PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_28);
+    PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_28);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_26, 2, __pyx_v_state);
+    __pyx_t_27 = 0;
+    __pyx_t_28 = 0;
+    __pyx_r = __pyx_t_26;
+    __pyx_t_26 = 0;
+    goto __pyx_L0;
+
+    /* "(tree fragment)":12
+ *     else:
+ *         use_setstate = False
+ *     if use_setstate:             # <<<<<<<<<<<<<<
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, None), state
+ *     else:
+ */
+  }
+
+  /* "(tree fragment)":15
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, None), state
+ *     else:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, state)             # <<<<<<<<<<<<<<
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_SkewCone__set_state(self, __pyx_state)
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_pyx_unpickle_SkewCone); if (unlikely(!__pyx_t_26)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_28);
+    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    PyTuple_SET_ITEM(__pyx_t_28, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
+    __Pyx_INCREF(__pyx_int_238900401);
+    __Pyx_GIVEREF(__pyx_int_238900401);
+    PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_int_238900401);
+    __Pyx_INCREF(__pyx_v_state);
+    __Pyx_GIVEREF(__pyx_v_state);
+    PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_v_state);
+    __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(1, 15, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_GIVEREF(__pyx_t_26);
+    PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_26);
+    __Pyx_GIVEREF(__pyx_t_28);
+    PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_28);
+    __pyx_t_26 = 0;
+    __pyx_t_28 = 0;
+    __pyx_r = __pyx_t_27;
+    __pyx_t_27 = 0;
+    goto __pyx_L0;
+  }
+
+  /* "(tree fragment)":1
+ * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
+ *     cdef tuple state
+ *     cdef object _dict
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_24);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_state);
+  __Pyx_XDECREF(__pyx_v__dict);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_SkewCone__set_state(self, __pyx_state)
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_16__setstate_cython__(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_16__setstate_cython__(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__setstate_cython__", 0);
+
+  /* "(tree fragment)":17
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, state)
+ * def __setstate_cython__(self, __pyx_state):
+ *     __pyx_unpickle_SkewCone__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
+ */
+  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SkewCone__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":16
+ *     else:
+ *         return __pyx_unpickle_SkewCone, (type(self), 0xe3d54b1, state)
+ * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_unpickle_SkewCone__set_state(self, __pyx_state)
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.SkewCone.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Complement(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_1__pyx_unpickle_Complement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_1__pyx_unpickle_Complement = {"__pyx_unpickle_Complement", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_1__pyx_unpickle_Complement, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_1__pyx_unpickle_Complement(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Complement (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Complement", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Complement", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Complement") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Complement", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Complement", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Complement", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xd41d8cd, 0xe3b0c44, 0xda39a3e):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__2, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xd41d8cd, 0xe3b0c44, 0xda39a3e):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ *     __pyx_result = Complement.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0xd41d8cd, 0xe3b0c44, 0xda39a3e):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Complement.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xd41d8cd, 0xe3b0c44, 0xda39a3e):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ *     __pyx_result = Complement.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ *     __pyx_result = Complement.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Complement.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ *     __pyx_result = Complement.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Complement(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Complement", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[0])
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Complement__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  Py_ssize_t __pyx_t_2;
+  int __pyx_t_3;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Complement__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[0])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __pyx_t_3 = ((__pyx_t_2 > 0) != 0);
+  if (__pyx_t_3) {
+  } else {
+    __pyx_t_1 = __pyx_t_3;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_3 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __pyx_t_4 = (__pyx_t_3 != 0);
+  __pyx_t_1 = __pyx_t_4;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_1) {
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[0])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 13, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_8 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
+      if (likely(__pyx_t_8)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_8);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_7, function);
+      }
+    }
+    __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+    /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[0])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[0])
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Complement__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Union(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_3__pyx_unpickle_Union(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_3__pyx_unpickle_Union = {"__pyx_unpickle_Union", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_3__pyx_unpickle_Union, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_3__pyx_unpickle_Union(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Union (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Union", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Union", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Union") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Union", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Union", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_2__pyx_unpickle_Union(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_2__pyx_unpickle_Union(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Union", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__3, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Union.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Union.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Union.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Union.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Union.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Union__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Union.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Union(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Union", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Union__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  Py_ssize_t __pyx_t_3;
+  int __pyx_t_4;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Union__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->objects);
+  __Pyx_DECREF(__pyx_v___pyx_result->objects);
+  __pyx_v___pyx_result->objects = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_4 = ((__pyx_t_3 > 1) != 0);
+  if (__pyx_t_4) {
+  } else {
+    __pyx_t_2 = __pyx_t_4;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = (__pyx_t_4 != 0);
+  __pyx_t_2 = __pyx_t_5;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[1])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_8 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
+      if (likely(__pyx_t_8)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_8);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_7, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Union__set_state(<Union> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Union__set_state(Union __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Union__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Intersection(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5__pyx_unpickle_Intersection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5__pyx_unpickle_Intersection = {"__pyx_unpickle_Intersection", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5__pyx_unpickle_Intersection, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5__pyx_unpickle_Intersection(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Intersection (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Intersection", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Intersection", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Intersection") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Intersection", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Intersection", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4__pyx_unpickle_Intersection(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4__pyx_unpickle_Intersection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Intersection", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__3, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Intersection.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Intersection.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5891da2, 0xe4cd302, 0xf0f7f39):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Intersection.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Intersection.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Intersection.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Intersection__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5891da2, 0xe4cd302, 0xf0f7f39) = (objects))" % __pyx_checksum)
+ *     __pyx_result = Intersection.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Intersection(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Intersection", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Intersection__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  Py_ssize_t __pyx_t_3;
+  int __pyx_t_4;
+  int __pyx_t_5;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Intersection__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->objects);
+  __Pyx_DECREF(__pyx_v___pyx_result->objects);
+  __pyx_v___pyx_result->objects = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_4 = ((__pyx_t_3 > 1) != 0);
+  if (__pyx_t_4) {
+  } else {
+    __pyx_t_2 = __pyx_t_4;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = (__pyx_t_4 != 0);
+  __pyx_t_2 = __pyx_t_5;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[1])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_8 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
+      if (likely(__pyx_t_8)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_8);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_7, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[1])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Intersection__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Plane(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_7__pyx_unpickle_Plane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_7__pyx_unpickle_Plane = {"__pyx_unpickle_Plane", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_7__pyx_unpickle_Plane, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_7__pyx_unpickle_Plane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Plane (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Plane", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Plane", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Plane") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Plane", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Plane", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6__pyx_unpickle_Plane(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6__pyx_unpickle_Plane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Plane", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x9867a54, 0x65dee06, 0x5beb9fe):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__4, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x9867a54, 0x65dee06, 0x5beb9fe):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ *     __pyx_result = Plane.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x9867a54, 0x65dee06, 0x5beb9fe):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Plane.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x9867a54, 0x65dee06, 0x5beb9fe):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ *     __pyx_result = Plane.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ *     __pyx_result = Plane.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Plane.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Plane__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x9867a54, 0x65dee06, 0x5beb9fe) = (d, mul, nx, ny, nz, px, py, pz))" % __pyx_checksum)
+ *     __pyx_result = Plane.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Plane(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Plane", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Plane__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Plane__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[8])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->d = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->mul = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->nx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->ny = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->nz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->px = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->py = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->pz = __pyx_t_2;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[8])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 8) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[8])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[8])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Plane__set_state(<Plane> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Plane__set_state(Plane __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.d = __pyx_state[0]; __pyx_result.mul = __pyx_state[1]; __pyx_result.nx = __pyx_state[2]; __pyx_result.ny = __pyx_state[3]; __pyx_result.nz = __pyx_state[4]; __pyx_result.px = __pyx_state[5]; __pyx_result.py = __pyx_state[6]; __pyx_result.pz = __pyx_state[7]
+ *     if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Plane__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Sphere(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_9__pyx_unpickle_Sphere(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_9__pyx_unpickle_Sphere = {"__pyx_unpickle_Sphere", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_9__pyx_unpickle_Sphere, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_9__pyx_unpickle_Sphere(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Sphere (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Sphere", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Sphere", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Sphere") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Sphere", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Sphere", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8__pyx_unpickle_Sphere(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8__pyx_unpickle_Sphere(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Sphere", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x2573da8, 0x5a06a8c, 0xe658afb):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__5, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x2573da8, 0x5a06a8c, 0xe658afb):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ *     __pyx_result = Sphere.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x2573da8, 0x5a06a8c, 0xe658afb):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Sphere.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x2573da8, 0x5a06a8c, 0xe658afb):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ *     __pyx_result = Sphere.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ *     __pyx_result = Sphere.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Sphere.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Sphere__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x2573da8, 0x5a06a8c, 0xe658afb) = (_r, _x, _xhi, _xlo, _y, _yhi, _ylo, _z, _zhi, _zlo, clips))" % __pyx_checksum)
+ *     __pyx_result = Sphere.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Sphere(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Sphere", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Sphere__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Sphere__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[11])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_r = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_x = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_xhi);
+  __Pyx_DECREF(__pyx_v___pyx_result->_xhi);
+  __pyx_v___pyx_result->_xhi = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_xlo);
+  __Pyx_DECREF(__pyx_v___pyx_result->_xlo);
+  __pyx_v___pyx_result->_xlo = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_y = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_yhi);
+  __Pyx_DECREF(__pyx_v___pyx_result->_yhi);
+  __pyx_v___pyx_result->_yhi = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_ylo);
+  __Pyx_DECREF(__pyx_v___pyx_result->_ylo);
+  __pyx_v___pyx_result->_ylo = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_z = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_zhi);
+  __Pyx_DECREF(__pyx_v___pyx_result->_zhi);
+  __pyx_v___pyx_result->_zhi = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->_zlo);
+  __Pyx_DECREF(__pyx_v___pyx_result->_zlo);
+  __pyx_v___pyx_result->_zlo = __pyx_t_1;
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->clips);
+  __Pyx_DECREF(__pyx_v___pyx_result->clips);
+  __pyx_v___pyx_result->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[11])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 11) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[11])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[11])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Sphere__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Cylinder(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_11__pyx_unpickle_Cylinder(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_11__pyx_unpickle_Cylinder = {"__pyx_unpickle_Cylinder", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_11__pyx_unpickle_Cylinder, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_11__pyx_unpickle_Cylinder(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cylinder (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cylinder", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cylinder", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Cylinder") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cylinder", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cylinder", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10__pyx_unpickle_Cylinder(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10__pyx_unpickle_Cylinder(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cylinder", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x00a8c38, 0x1d6bd3d, 0x69c601b):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__6, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x00a8c38, 0x1d6bd3d, 0x69c601b):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cylinder.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x00a8c38, 0x1d6bd3d, 0x69c601b):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Cylinder.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x00a8c38, 0x1d6bd3d, 0x69c601b):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cylinder.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cylinder.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Cylinder.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cylinder__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x00a8c38, 0x1d6bd3d, 0x69c601b) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, cx, cy, cz, h, length, neighbor_regions, neighbors, r, rr, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cylinder.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Cylinder(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cylinder", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cylinder__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cylinder__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[25])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_yhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_ylo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->clips);
+  __Pyx_DECREF(__pyx_v___pyx_result->clips);
+  __pyx_v___pyx_result->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->h = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 14, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->length = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 15, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->neighbor_regions);
+  __Pyx_DECREF(__pyx_v___pyx_result->neighbor_regions);
+  __pyx_v___pyx_result->neighbor_regions = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 16, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->neighbors);
+  __Pyx_DECREF(__pyx_v___pyx_result->neighbors);
+  __pyx_v___pyx_result->neighbors = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 17, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rr = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 20, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 21, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 22, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 23, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 24, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z1 = __pyx_t_2;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[25])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 25) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[25])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 25, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[25])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Cylinder__set_state(<Cylinder> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cylinder__set_state(Cylinder __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.cx = __pyx_state[10]; __pyx_result.cy = __pyx_state[11]; __pyx_result.cz = __pyx_state[12]; __pyx_result.h = __pyx_state[13]; __pyx_result.length = __pyx_state[14]; __pyx_result.neighbor_regions = __pyx_state[15]; __pyx_result.neighbors = __pyx_state[16]; __pyx_result.r = __pyx_state[17]; __pyx_result.rr = __pyx_state[18]; __pyx_result.x0 = __pyx_state[19]; __pyx_result.x1 = __pyx_state[20]; __pyx_result.y0 = __pyx_state[21]; __pyx_result.y1 = __pyx_state[22]; __pyx_result.z0 = __pyx_state[23]; __pyx_result.z1 = __pyx_state[24]
+ *     if len(__pyx_state) > 25 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cylinder__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_SphereCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_13__pyx_unpickle_SphereCone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_13__pyx_unpickle_SphereCone = {"__pyx_unpickle_SphereCone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_13__pyx_unpickle_SphereCone, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_13__pyx_unpickle_SphereCone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SphereCone (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SphereCone", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SphereCone", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_SphereCone") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SphereCone", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SphereCone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12__pyx_unpickle_SphereCone(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12__pyx_unpickle_SphereCone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SphereCone", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5eefd72, 0xb25677d, 0x2112acb):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__7, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5eefd72, 0xb25677d, 0x2112acb):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SphereCone.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x5eefd72, 0xb25677d, 0x2112acb):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = SphereCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_6, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x5eefd72, 0xb25677d, 0x2112acb):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SphereCone.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SphereCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = SphereCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SphereCone__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x5eefd72, 0xb25677d, 0x2112acb) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, ha, hb, hra, hrb, length, r0, r1, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SphereCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_SphereCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SphereCone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SphereCone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SphereCone__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[28])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_yhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_ylo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->clips);
+  __Pyx_DECREF(__pyx_v___pyx_result->clips);
+  __pyx_v___pyx_result->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->conelength = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->ha = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->hb = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->hra = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 14, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->hrb = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 15, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->length = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 16, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 17, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rra = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rrb = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 20, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 21, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side2 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 22, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 23, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 24, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 25, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 26, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 27, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z1 = __pyx_t_2;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[28])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 28) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[28])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 28, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[28])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SphereCone__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_Cone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_15__pyx_unpickle_Cone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_15__pyx_unpickle_Cone = {"__pyx_unpickle_Cone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_15__pyx_unpickle_Cone, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_15__pyx_unpickle_Cone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cone (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cone", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cone", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_Cone") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cone", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_14__pyx_unpickle_Cone(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_14__pyx_unpickle_Cone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cone", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x926d5b2, 0xb8e26f6, 0x36c2b77):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x926d5b2, 0xb8e26f6, 0x36c2b77):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cone.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0x926d5b2, 0xb8e26f6, 0x36c2b77):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = Cone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_7, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0x926d5b2, 0xb8e26f6, 0x36c2b77):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cone.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = Cone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cone__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x926d5b2, 0xb8e26f6, 0x36c2b77) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, clips, conelength, cx, cy, cz, h, length, neighbor_regions, neighbors, r0, r1, reversed, rra, rrb, side1, side2, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = Cone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Cone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_Cone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_Cone__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[31])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_yhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_ylo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->clips);
+  __Pyx_DECREF(__pyx_v___pyx_result->clips);
+  __pyx_v___pyx_result->clips = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->conelength = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->cz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 14, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->h = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 15, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->length = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 16, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->neighbor_regions);
+  __Pyx_DECREF(__pyx_v___pyx_result->neighbor_regions);
+  __pyx_v___pyx_result->neighbor_regions = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 17, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GIVEREF(__pyx_t_1);
+  __Pyx_GOTREF(__pyx_v___pyx_result->neighbors);
+  __Pyx_DECREF(__pyx_v___pyx_result->neighbors);
+  __pyx_v___pyx_result->neighbors = ((PyObject*)__pyx_t_1);
+  __pyx_t_1 = 0;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 20, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->reversed = __pyx_t_3;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 21, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rra = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 22, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rrb = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 23, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 24, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side2 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 25, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 26, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 27, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 28, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 29, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 30, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z1 = __pyx_t_2;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[31])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 31) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[31])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 31, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[31])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Cone__set_state(<Cone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Cone__set_state(Cone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.cx = __pyx_state[11]; __pyx_result.cy = __pyx_state[12]; __pyx_result.cz = __pyx_state[13]; __pyx_result.h = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.neighbor_regions = __pyx_state[16]; __pyx_result.neighbors = __pyx_state[17]; __pyx_result.r0 = __pyx_state[18]; __pyx_result.r1 = __pyx_state[19]; __pyx_result.reversed = __pyx_state[20]; __pyx_result.rra = __pyx_state[21]; __pyx_result.rrb = __pyx_state[22]; __pyx_result.side1 = __pyx_state[23]; __pyx_result.side2 = __pyx_state[24]; __pyx_result.x0 = __pyx_state[25]; __pyx_result.x1 = __pyx_state[26]; __pyx_result.y0 = __pyx_state[27]; __pyx_result.y1 = __pyx_state[28]; __pyx_result.z0 = __pyx_state[29]; __pyx_result.z1 = __pyx_state[30]
+ *     if len(__pyx_state) > 31 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_Cone__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":1
+ * def __pyx_unpickle_SkewCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_17__pyx_unpickle_SkewCone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_17__pyx_unpickle_SkewCone = {"__pyx_unpickle_SkewCone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_17__pyx_unpickle_SkewCone, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_17__pyx_unpickle_SkewCone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v___pyx_type = 0;
+  long __pyx_v___pyx_checksum;
+  PyObject *__pyx_v___pyx_state = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SkewCone (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SkewCone", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SkewCone", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_SkewCone") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v___pyx_type = values[0];
+    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
+    __pyx_v___pyx_state = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SkewCone", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SkewCone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_16__pyx_unpickle_SkewCone(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_18graphicsPrimitives_16__pyx_unpickle_SkewCone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_v___pyx_PickleError = 0;
+  PyObject *__pyx_v___pyx_result = 0;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SkewCone", 0);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xe3d54b1, 0x1d2a4e2, 0x1e290e5):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__9, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_3 = (__pyx_t_2 != 0);
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":5
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xe3d54b1, 0x1d2a4e2, 0x1e290e5):
+ *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SkewCone.__new__(__pyx_type)
+ */
+    __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_n_s_PickleError);
+    __Pyx_GIVEREF(__pyx_n_s_PickleError);
+    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError);
+    __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_INCREF(__pyx_t_1);
+    __pyx_v___pyx_PickleError = __pyx_t_1;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":6
+ *     if __pyx_checksum not in (0xe3d54b1, 0x1d2a4e2, 0x1e290e5):
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)             # <<<<<<<<<<<<<<
+ *     __pyx_result = SkewCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ */
+    __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_8, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_INCREF(__pyx_v___pyx_PickleError);
+    __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_6)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_6);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+      }
+    }
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __PYX_ERR(1, 6, __pyx_L1_error)
+
+    /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xe3d54b1, 0x1d2a4e2, 0x1e290e5):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ */
+  }
+
+  /* "(tree fragment)":7
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SkewCone.__new__(__pyx_type)             # <<<<<<<<<<<<<<
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SkewCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  __pyx_t_3 = (__pyx_v___pyx_state != Py_None);
+  __pyx_t_2 = (__pyx_t_3 != 0);
+  if (__pyx_t_2) {
+
+    /* "(tree fragment)":9
+ *     __pyx_result = SkewCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):
+ */
+    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
+    __pyx_t_4 = __pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SkewCone__set_state(((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "(tree fragment)":8
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xe3d54b1, 0x1d2a4e2, 0x1e290e5) = (_xhi, _xlo, _yhi, _ylo, _zhi, _zlo, axisx, axisy, axisz, conelength, length, planed, r0, r1, rra, rrb, side1, side2, sx, sy, sz, x0, x1, y0, y1, z0, z1))" % __pyx_checksum)
+ *     __pyx_result = SkewCone.__new__(__pyx_type)
+ *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ */
+  }
+
+  /* "(tree fragment)":10
+ *     if __pyx_state is not None:
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ *     return __pyx_result             # <<<<<<<<<<<<<<
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(__pyx_v___pyx_result);
+  __pyx_r = __pyx_v___pyx_result;
+  goto __pyx_L0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_SkewCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SkewCone", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
+  __Pyx_XDECREF(__pyx_v___pyx_result);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "(tree fragment)":11
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives___pyx_unpickle_SkewCone__set_state(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  double __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__pyx_unpickle_SkewCone__set_state", 0);
+
+  /* "(tree fragment)":12
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[27])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_xlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_yhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_ylo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zhi = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->_zlo = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->axisz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->conelength = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->length = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->planed = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->r1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 14, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rra = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 15, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->rrb = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 16, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 17, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->side2 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->sx = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->sy = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 20, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->sz = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 21, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 22, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->x1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 23, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 24, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->y1 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 25, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z0 = __pyx_t_2;
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+    __PYX_ERR(1, 12, __pyx_L1_error)
+  }
+  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 26, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v___pyx_result->z1 = __pyx_t_2;
+
+  /* "(tree fragment)":13
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[27])
+ */
+  if (unlikely(__pyx_v___pyx_state == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+    __PYX_ERR(1, 13, __pyx_L1_error)
+  }
+  __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_5 = ((__pyx_t_4 > 27) != 0);
+  if (__pyx_t_5) {
+  } else {
+    __pyx_t_3 = __pyx_t_5;
+    goto __pyx_L4_bool_binop_done;
+  }
+  __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
+  __pyx_t_6 = (__pyx_t_5 != 0);
+  __pyx_t_3 = __pyx_t_6;
+  __pyx_L4_bool_binop_done:;
+  if (__pyx_t_3) {
+
+    /* "(tree fragment)":14
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[27])             # <<<<<<<<<<<<<<
+ */
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(__pyx_v___pyx_state == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 14, __pyx_L1_error)
+    }
+    __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 27, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_9 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
+      if (likely(__pyx_t_9)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);
+    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "(tree fragment)":13
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
+ *         __pyx_result.__dict__.update(__pyx_state[27])
+ */
+  }
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_SkewCone__set_state(<SkewCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SkewCone__set_state(SkewCone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.conelength = __pyx_state[9]; __pyx_result.length = __pyx_state[10]; __pyx_result.planed = __pyx_state[11]; __pyx_result.r0 = __pyx_state[12]; __pyx_result.r1 = __pyx_state[13]; __pyx_result.rra = __pyx_state[14]; __pyx_result.rrb = __pyx_state[15]; __pyx_result.side1 = __pyx_state[16]; __pyx_result.side2 = __pyx_state[17]; __pyx_result.sx = __pyx_state[18]; __pyx_result.sy = __pyx_state[19]; __pyx_result.sz = __pyx_state[20]; __pyx_result.x0 = __pyx_state[21]; __pyx_result.x1 = __pyx_state[22]; __pyx_result.y0 = __pyx_state[23]; __pyx_result.y1 = __pyx_state[24]; __pyx_result.z0 = __pyx_state[25]; __pyx_result.z1 = __pyx_state[26]
+ *     if len(__pyx_state) > 27 and hasattr(__pyx_result, '__dict__'):
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.graphicsPrimitives.__pyx_unpickle_SkewCone__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement(PyObject *o) {
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement[] = {
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_5distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_7starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_9__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_11__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Complement", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_3__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
+  0, /*tp_doc*/
+  0, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10Complement_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+  p->objects = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->objects);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)o;
+  if (p->objects) {
+    e = (*v)(p->objects, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *)o;
+  tmp = ((PyObject*)p->objects);
+  p->objects = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union[] = {
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_5distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_7starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_9__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_11__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Union", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_3__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+  p->objects = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->objects);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)o;
+  if (p->objects) {
+    e = (*v)(p->objects, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *)o;
+  tmp = ((PyObject*)p->objects);
+  p->objects = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection[] = {
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_5distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_7starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_9__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_11__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Intersection", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_3__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane(PyObject *o) {
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane[] = {
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_5distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_7starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_9__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_11__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Plane", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_3__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
+  0, /*tp_doc*/
+  0, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+  p->_xlo = Py_None; Py_INCREF(Py_None);
+  p->_xhi = Py_None; Py_INCREF(Py_None);
+  p->_ylo = Py_None; Py_INCREF(Py_None);
+  p->_yhi = Py_None; Py_INCREF(Py_None);
+  p->_zlo = Py_None; Py_INCREF(Py_None);
+  p->_zhi = Py_None; Py_INCREF(Py_None);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->_xlo);
+  Py_CLEAR(p->_xhi);
+  Py_CLEAR(p->_ylo);
+  Py_CLEAR(p->_yhi);
+  Py_CLEAR(p->_zlo);
+  Py_CLEAR(p->_zhi);
+  Py_CLEAR(p->clips);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)o;
+  if (p->_xlo) {
+    e = (*v)(p->_xlo, a); if (e) return e;
+  }
+  if (p->_xhi) {
+    e = (*v)(p->_xhi, a); if (e) return e;
+  }
+  if (p->_ylo) {
+    e = (*v)(p->_ylo, a); if (e) return e;
+  }
+  if (p->_yhi) {
+    e = (*v)(p->_yhi, a); if (e) return e;
+  }
+  if (p->_zlo) {
+    e = (*v)(p->_zlo, a); if (e) return e;
+  }
+  if (p->_zhi) {
+    e = (*v)(p->_zhi, a); if (e) return e;
+  }
+  if (p->clips) {
+    e = (*v)(p->clips, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *)o;
+  tmp = ((PyObject*)p->_xlo);
+  p->_xlo = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->_xhi);
+  p->_xhi = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->_ylo);
+  p->_ylo = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->_yhi);
+  p->_yhi = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->_zlo);
+  p->_zlo = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->_zhi);
+  p->_zhi = Py_None; Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->clips);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_10primitives_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_x(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1x_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_y(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1y_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_z(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1z_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_r(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1r_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_xlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_xhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3xhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_ylo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3ylo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_yhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3yhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_zlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_zhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3zhi_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere[] = {
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_5distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_7starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_9overlaps_x, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_11overlaps_y, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_13overlaps_z, METH_VARARGS|METH_KEYWORDS, 0},
+  {"set_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_15set_clip, METH_O, 0},
+  {"get_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_17get_clip, METH_NOARGS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_19__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_21__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_primitives, 0, (char *)0, 0},
+  {(char *)"x", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_x, 0, (char *)0, 0},
+  {(char *)"y", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_y, 0, (char *)0, 0},
+  {(char *)"z", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_z, 0, (char *)0, 0},
+  {(char *)"r", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_r, 0, (char *)0, 0},
+  {(char *)"xlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_xlo, 0, (char *)0, 0},
+  {(char *)"xhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_xhi, 0, (char *)0, 0},
+  {(char *)"ylo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_ylo, 0, (char *)0, 0},
+  {(char *)"yhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_yhi, 0, (char *)0, 0},
+  {(char *)"zlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_zlo, 0, (char *)0, 0},
+  {(char *)"zhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_zhi, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Sphere", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_3__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+  p->neighbors = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  p->neighbor_regions = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->neighbors);
+  Py_CLEAR(p->clips);
+  Py_CLEAR(p->neighbor_regions);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)o;
+  if (p->neighbors) {
+    e = (*v)(p->neighbors, a); if (e) return e;
+  }
+  if (p->clips) {
+    e = (*v)(p->clips, a); if (e) return e;
+  }
+  if (p->neighbor_regions) {
+    e = (*v)(p->neighbor_regions, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *)o;
+  tmp = ((PyObject*)p->neighbors);
+  p->neighbors = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->clips);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->neighbor_regions);
+  p->neighbor_regions = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_xlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_xhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3xhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_ylo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3ylo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_yhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3yhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_zlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_zhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3zhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_axislength(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10axislength_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__x0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__y0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__z0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__r0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__x1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_x1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__y1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_y1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__z1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_z1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__r1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3_r1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder[] = {
+  {"get_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_5get_clip, METH_NOARGS, 0},
+  {"set_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_7set_clip, METH_O, 0},
+  {"axis", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_9axis, METH_NOARGS, 0},
+  {"set_neighbors", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_11set_neighbors, METH_VARARGS|METH_KEYWORDS, 0},
+  {"within_core", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_13within_core, METH_VARARGS|METH_KEYWORDS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_15starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_17distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_19overlaps_x, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_21overlaps_y, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_23overlaps_z, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_25__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_27__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder[] = {
+  {(char *)"xlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_xlo, 0, (char *)0, 0},
+  {(char *)"xhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_xhi, 0, (char *)0, 0},
+  {(char *)"ylo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_ylo, 0, (char *)0, 0},
+  {(char *)"yhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_yhi, 0, (char *)0, 0},
+  {(char *)"zlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_zlo, 0, (char *)0, 0},
+  {(char *)"zhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_zhi, 0, (char *)0, 0},
+  {(char *)"axislength", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_axislength, 0, (char *)0, 0},
+  {(char *)"_x0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__x0, 0, (char *)0, 0},
+  {(char *)"_y0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__y0, 0, (char *)0, 0},
+  {(char *)"_z0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__z0, 0, (char *)0, 0},
+  {(char *)"_r0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__r0, 0, (char *)0, 0},
+  {(char *)"_x1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__x1, 0, (char *)0, 0},
+  {(char *)"_y1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__y1, 0, (char *)0, 0},
+  {(char *)"_z1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__z1, 0, (char *)0, 0},
+  {(char *)"_r1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder__r1, 0, (char *)0, 0},
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Cylinder", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_1__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_3__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->clips);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)o;
+  if (p->clips) {
+    e = (*v)(p->clips, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *)o;
+  tmp = ((PyObject*)p->clips);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone[] = {
+  {"set_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_3set_clip, METH_O, 0},
+  {"get_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_5get_clip, METH_NOARGS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_9starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_11distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_13overlaps_x, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_15overlaps_y, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_17overlaps_z, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_19__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_21__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone[] = {
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.SphereCone", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_1__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_7__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+  p->neighbors = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  p->neighbor_regions = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone(PyObject *o) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)o;
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !__Pyx_PyObject_GC_IsFinalized(o)) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  PyObject_GC_UnTrack(o);
+  Py_CLEAR(p->neighbors);
+  Py_CLEAR(p->clips);
+  Py_CLEAR(p->neighbor_regions);
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static int __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone(PyObject *o, visitproc v, void *a) {
+  int e;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)o;
+  if (p->neighbors) {
+    e = (*v)(p->neighbors, a); if (e) return e;
+  }
+  if (p->clips) {
+    e = (*v)(p->clips, a); if (e) return e;
+  }
+  if (p->neighbor_regions) {
+    e = (*v)(p->neighbor_regions, a); if (e) return e;
+  }
+  return 0;
+}
+
+static int __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone(PyObject *o) {
+  PyObject* tmp;
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *p = (struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *)o;
+  tmp = ((PyObject*)p->neighbors);
+  p->neighbors = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->clips);
+  p->clips = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  tmp = ((PyObject*)p->neighbor_regions);
+  p->neighbor_regions = ((PyObject*)Py_None); Py_INCREF(Py_None);
+  Py_XDECREF(tmp);
+  return 0;
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_xlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_xhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3xhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_ylo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3ylo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_yhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3yhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_zlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_zhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3zhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__x0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__y0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__z0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__r0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__x1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_x1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__y1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_y1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__z1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_z1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__r1(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3_r1_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_axislength(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10axislength_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone[] = {
+  {"set_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_5set_clip, METH_O, 0},
+  {"get_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_7get_clip, METH_NOARGS, 0},
+  {"within_core", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_9within_core, METH_VARARGS|METH_KEYWORDS, 0},
+  {"axis", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_11axis, METH_NOARGS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_13starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_15distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_17overlaps_x, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_19overlaps_y, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_21overlaps_z, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_23__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_25__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone[] = {
+  {(char *)"xlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_xlo, 0, (char *)0, 0},
+  {(char *)"xhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_xhi, 0, (char *)0, 0},
+  {(char *)"ylo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_ylo, 0, (char *)0, 0},
+  {(char *)"yhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_yhi, 0, (char *)0, 0},
+  {(char *)"zlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_zlo, 0, (char *)0, 0},
+  {(char *)"zhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_zhi, 0, (char *)0, 0},
+  {(char *)"_x0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__x0, 0, (char *)0, 0},
+  {(char *)"_y0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__y0, 0, (char *)0, 0},
+  {(char *)"_z0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__z0, 0, (char *)0, 0},
+  {(char *)"_r0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__r0, 0, (char *)0, 0},
+  {(char *)"_x1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__x1, 0, (char *)0, 0},
+  {(char *)"_y1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__y1, 0, (char *)0, 0},
+  {(char *)"_z1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__z1, 0, (char *)0, 0},
+  {(char *)"_r1", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone__r1, 0, (char *)0, 0},
+  {(char *)"axislength", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_axislength, 0, (char *)0, 0},
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.Cone", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_1__repr__, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+  0, /*tp_doc*/
+  __pyx_tp_traverse_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_traverse*/
+  __pyx_tp_clear_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_3__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+static struct __pyx_vtabstruct_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+
+static PyObject *__pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
+  struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *p;
+  PyObject *o;
+  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
+    o = (*t->tp_alloc)(t, 0);
+  } else {
+    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
+  }
+  if (unlikely(!o)) return 0;
+  p = ((struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *)o);
+  p->__pyx_vtab = __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+  return o;
+}
+
+static void __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone(PyObject *o) {
+  #if CYTHON_USE_TP_FINALIZE
+  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
+    if (PyObject_CallFinalizerFromDealloc(o)) return;
+  }
+  #endif
+  (*Py_TYPE(o)->tp_free)(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__x0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_x0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__y0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_y0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__z0(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3_z0_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_xlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_xhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3xhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_ylo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3ylo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_yhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3yhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_zlo(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zlo_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_zhi(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3zhi_1__get__(o);
+}
+
+static PyObject *__pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_primitives(PyObject *o, CYTHON_UNUSED void *x) {
+  return __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_10primitives_1__get__(o);
+}
+
+static PyMethodDef __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone[] = {
+  {"get_clip", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_1get_clip, METH_NOARGS, 0},
+  {"starting_points", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_5starting_points, METH_VARARGS|METH_KEYWORDS, 0},
+  {"distance", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_7distance, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_x", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_9overlaps_x, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_y", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_11overlaps_y, METH_VARARGS|METH_KEYWORDS, 0},
+  {"overlaps_z", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_13overlaps_z, METH_VARARGS|METH_KEYWORDS, 0},
+  {"__reduce_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_15__reduce_cython__, METH_NOARGS, 0},
+  {"__setstate_cython__", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_17__setstate_cython__, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+static struct PyGetSetDef __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone[] = {
+  {(char *)"_x0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__x0, 0, (char *)0, 0},
+  {(char *)"_y0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__y0, 0, (char *)0, 0},
+  {(char *)"_z0", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone__z0, 0, (char *)0, 0},
+  {(char *)"xlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_xlo, 0, (char *)0, 0},
+  {(char *)"xhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_xhi, 0, (char *)0, 0},
+  {(char *)"ylo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_ylo, 0, (char *)0, 0},
+  {(char *)"yhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_yhi, 0, (char *)0, 0},
+  {(char *)"zlo", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_zlo, 0, (char *)0, 0},
+  {(char *)"zhi", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_zhi, 0, (char *)0, 0},
+  {(char *)"primitives", __pyx_getprop_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_primitives, 0, (char *)0, 0},
+  {0, 0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "neuron.rxd.geometry3d.graphicsPrimitives.SkewCone", /*tp_name*/
+  sizeof(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone, /*tp_dealloc*/
+  #if PY_VERSION_HEX < 0x030800b4
+  0, /*tp_print*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4
+  0, /*tp_vectorcall_offset*/
+  #endif
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #endif
+  #if PY_MAJOR_VERSION >= 3
+  0, /*tp_as_async*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  0, /*tp_setattro*/
+  0, /*tp_as_buffer*/
+  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
+  0, /*tp_doc*/
+  0, /*tp_traverse*/
+  0, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone, /*tp_methods*/
+  0, /*tp_members*/
+  __pyx_getsets_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_3__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
+  0, /*tp_vectorcall*/
+  #endif
+  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
+  0, /*tp_print*/
+  #endif
+  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
+  0, /*tp_pypy_flags*/
+  #endif
+};
+
+static PyMethodDef __pyx_methods[] = {
+  {0, 0, 0, 0}
+};
+
+#if PY_MAJOR_VERSION >= 3
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
+static int __pyx_pymod_exec_graphicsPrimitives(PyObject* module); /*proto*/
+static PyModuleDef_Slot __pyx_moduledef_slots[] = {
+  {Py_mod_create, (void*)__pyx_pymod_create},
+  {Py_mod_exec, (void*)__pyx_pymod_exec_graphicsPrimitives},
+  {0, NULL}
+};
+#endif
+
+static struct PyModuleDef __pyx_moduledef = {
+    PyModuleDef_HEAD_INIT,
+    "graphicsPrimitives",
+    0, /* m_doc */
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    0, /* m_size */
+  #else
+    -1, /* m_size */
+  #endif
+    __pyx_methods /* m_methods */,
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    __pyx_moduledef_slots, /* m_slots */
+  #else
+    NULL, /* m_reload */
+  #endif
+    NULL, /* m_traverse */
+    NULL, /* m_clear */
+    NULL /* m_free */
+};
+#endif
+#ifndef CYTHON_SMALL_CODE
+#if defined(__clang__)
+    #define CYTHON_SMALL_CODE
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+    #define CYTHON_SMALL_CODE __attribute__((cold))
+#else
+    #define CYTHON_SMALL_CODE
+#endif
+#endif
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_kp_s_At_least_one_Cone_radius_must_be, __pyx_k_At_least_one_Cone_radius_must_be, sizeof(__pyx_k_At_least_one_Cone_radius_must_be), 0, 0, 1, 0},
+  {&__pyx_n_s_Complement, __pyx_k_Complement, sizeof(__pyx_k_Complement), 0, 0, 1, 1},
+  {&__pyx_kp_s_Complement_r, __pyx_k_Complement_r, sizeof(__pyx_k_Complement_r), 0, 0, 1, 0},
+  {&__pyx_n_s_Cone, __pyx_k_Cone, sizeof(__pyx_k_Cone), 0, 0, 1, 1},
+  {&__pyx_kp_s_Cone_g_g_g_g_g_g_g_g, __pyx_k_Cone_g_g_g_g_g_g_g_g, sizeof(__pyx_k_Cone_g_g_g_g_g_g_g_g), 0, 0, 1, 0},
+  {&__pyx_kp_s_Cone_g_g_g_g_g_g_g_g_clips_r, __pyx_k_Cone_g_g_g_g_g_g_g_g_clips_r, sizeof(__pyx_k_Cone_g_g_g_g_g_g_g_g_clips_r), 0, 0, 1, 0},
+  {&__pyx_n_s_Cylinder, __pyx_k_Cylinder, sizeof(__pyx_k_Cylinder), 0, 0, 1, 1},
+  {&__pyx_kp_s_Cylinder_g_g_g_g_g_g_g, __pyx_k_Cylinder_g_g_g_g_g_g_g, sizeof(__pyx_k_Cylinder_g_g_g_g_g_g_g), 0, 0, 1, 0},
+  {&__pyx_kp_s_Cylinder_g_g_g_g_g_g_g_clips_r, __pyx_k_Cylinder_g_g_g_g_g_g_g_clips_r, sizeof(__pyx_k_Cylinder_g_g_g_g_g_g_g_clips_r), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_k_Incompatible_checksums_0x_x_vs_0_2, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_2), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_k_Incompatible_checksums_0x_x_vs_0_3, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_3), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_k_Incompatible_checksums_0x_x_vs_0_4, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_4), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5, __pyx_k_Incompatible_checksums_0x_x_vs_0_5, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_5), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_6, __pyx_k_Incompatible_checksums_0x_x_vs_0_6, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_6), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_7, __pyx_k_Incompatible_checksums_0x_x_vs_0_7, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_7), 0, 0, 1, 0},
+  {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_8, __pyx_k_Incompatible_checksums_0x_x_vs_0_8, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_8), 0, 0, 1, 0},
+  {&__pyx_n_s_Intersection, __pyx_k_Intersection, sizeof(__pyx_k_Intersection), 0, 0, 1, 1},
+  {&__pyx_kp_s_Intersection_r, __pyx_k_Intersection_r, sizeof(__pyx_k_Intersection_r), 0, 0, 1, 0},
+  {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
+  {&__pyx_n_s_Plane, __pyx_k_Plane, sizeof(__pyx_k_Plane), 0, 0, 1, 1},
+  {&__pyx_kp_s_Plane_g_g_g_g_g_g, __pyx_k_Plane_g_g_g_g_g_g, sizeof(__pyx_k_Plane_g_g_g_g_g_g), 0, 0, 1, 0},
+  {&__pyx_n_s_SkewCone, __pyx_k_SkewCone, sizeof(__pyx_k_SkewCone), 0, 0, 1, 1},
+  {&__pyx_n_s_Sphere, __pyx_k_Sphere, sizeof(__pyx_k_Sphere), 0, 0, 1, 1},
+  {&__pyx_n_s_SphereCone, __pyx_k_SphereCone, sizeof(__pyx_k_SphereCone), 0, 0, 1, 1},
+  {&__pyx_kp_s_SphereCone_g_g_g_g_g_g_g_g, __pyx_k_SphereCone_g_g_g_g_g_g_g_g, sizeof(__pyx_k_SphereCone_g_g_g_g_g_g_g_g), 0, 0, 1, 0},
+  {&__pyx_kp_s_Sphere_g_g_g_g, __pyx_k_Sphere_g_g_g_g, sizeof(__pyx_k_Sphere_g_g_g_g), 0, 0, 1, 0},
+  {&__pyx_kp_s_Sphere_g_g_g_g_clips_r, __pyx_k_Sphere_g_g_g_g_clips_r, sizeof(__pyx_k_Sphere_g_g_g_g_clips_r), 0, 0, 1, 0},
+  {&__pyx_n_s_Union, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1},
+  {&__pyx_kp_s_Union_r, __pyx_k_Union_r, sizeof(__pyx_k_Union_r), 0, 0, 1, 0},
+  {&__pyx_n_s_bisect, __pyx_k_bisect, sizeof(__pyx_k_bisect), 0, 0, 1, 1},
+  {&__pyx_n_s_bisect_left, __pyx_k_bisect_left, sizeof(__pyx_k_bisect_left), 0, 0, 1, 1},
+  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
+  {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
+  {&__pyx_n_s_distance, __pyx_k_distance, sizeof(__pyx_k_distance), 0, 0, 1, 1},
+  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
+  {&__pyx_n_s_hi, __pyx_k_hi, sizeof(__pyx_k_hi), 0, 0, 1, 1},
+  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+  {&__pyx_n_s_lo, __pyx_k_lo, sizeof(__pyx_k_lo), 0, 0, 1, 1},
+  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
+  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
+  {&__pyx_n_s_neighbor_regions, __pyx_k_neighbor_regions, sizeof(__pyx_k_neighbor_regions), 0, 0, 1, 1},
+  {&__pyx_n_s_neighbors, __pyx_k_neighbors, sizeof(__pyx_k_neighbors), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron_rxd_geometry3d_graphicsPr, __pyx_k_neuron_rxd_geometry3d_graphicsPr, sizeof(__pyx_k_neuron_rxd_geometry3d_graphicsPr), 0, 0, 1, 1},
+  {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
+  {&__pyx_n_s_nx, __pyx_k_nx, sizeof(__pyx_k_nx), 0, 0, 1, 1},
+  {&__pyx_n_s_ny, __pyx_k_ny, sizeof(__pyx_k_ny), 0, 0, 1, 1},
+  {&__pyx_n_s_nz, __pyx_k_nz, sizeof(__pyx_k_nz), 0, 0, 1, 1},
+  {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1},
+  {&__pyx_n_s_objects, __pyx_k_objects, sizeof(__pyx_k_objects), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_x, __pyx_k_overlaps_x, sizeof(__pyx_k_overlaps_x), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_y, __pyx_k_overlaps_y, sizeof(__pyx_k_overlaps_y), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_z, __pyx_k_overlaps_z, sizeof(__pyx_k_overlaps_z), 0, 0, 1, 1},
+  {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
+  {&__pyx_n_s_primitives, __pyx_k_primitives, sizeof(__pyx_k_primitives), 0, 0, 1, 1},
+  {&__pyx_n_s_px, __pyx_k_px, sizeof(__pyx_k_px), 0, 0, 1, 1},
+  {&__pyx_n_s_py, __pyx_k_py, sizeof(__pyx_k_py), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Complement, __pyx_k_pyx_unpickle_Complement, sizeof(__pyx_k_pyx_unpickle_Complement), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Cone, __pyx_k_pyx_unpickle_Cone, sizeof(__pyx_k_pyx_unpickle_Cone), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Cylinder, __pyx_k_pyx_unpickle_Cylinder, sizeof(__pyx_k_pyx_unpickle_Cylinder), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Intersection, __pyx_k_pyx_unpickle_Intersection, sizeof(__pyx_k_pyx_unpickle_Intersection), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Plane, __pyx_k_pyx_unpickle_Plane, sizeof(__pyx_k_pyx_unpickle_Plane), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_SkewCone, __pyx_k_pyx_unpickle_SkewCone, sizeof(__pyx_k_pyx_unpickle_SkewCone), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Sphere, __pyx_k_pyx_unpickle_Sphere, sizeof(__pyx_k_pyx_unpickle_Sphere), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_SphereCone, __pyx_k_pyx_unpickle_SphereCone, sizeof(__pyx_k_pyx_unpickle_SphereCone), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_unpickle_Union, __pyx_k_pyx_unpickle_Union, sizeof(__pyx_k_pyx_unpickle_Union), 0, 0, 1, 1},
+  {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
+  {&__pyx_n_s_pz, __pyx_k_pz, sizeof(__pyx_k_pz), 0, 0, 1, 1},
+  {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1},
+  {&__pyx_n_s_r0, __pyx_k_r0, sizeof(__pyx_k_r0), 0, 0, 1, 1},
+  {&__pyx_n_s_r1, __pyx_k_r1, sizeof(__pyx_k_r1), 0, 0, 1, 1},
+  {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
+  {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
+  {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
+  {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
+  {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
+  {&__pyx_n_s_starting_points, __pyx_k_starting_points, sizeof(__pyx_k_starting_points), 0, 0, 1, 1},
+  {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
+  {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1},
+  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
+  {&__pyx_n_s_within_core, __pyx_k_within_core, sizeof(__pyx_k_within_core), 0, 0, 1, 1},
+  {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
+  {&__pyx_n_s_x0, __pyx_k_x0, sizeof(__pyx_k_x0), 0, 0, 1, 1},
+  {&__pyx_n_s_x1, __pyx_k_x1, sizeof(__pyx_k_x1), 0, 0, 1, 1},
+  {&__pyx_n_s_x2, __pyx_k_x2, sizeof(__pyx_k_x2), 0, 0, 1, 1},
+  {&__pyx_n_s_xs, __pyx_k_xs, sizeof(__pyx_k_xs), 0, 0, 1, 1},
+  {&__pyx_n_s_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 0, 1, 1},
+  {&__pyx_n_s_y0, __pyx_k_y0, sizeof(__pyx_k_y0), 0, 0, 1, 1},
+  {&__pyx_n_s_y1, __pyx_k_y1, sizeof(__pyx_k_y1), 0, 0, 1, 1},
+  {&__pyx_n_s_y2, __pyx_k_y2, sizeof(__pyx_k_y2), 0, 0, 1, 1},
+  {&__pyx_n_s_ys, __pyx_k_ys, sizeof(__pyx_k_ys), 0, 0, 1, 1},
+  {&__pyx_n_s_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 0, 1, 1},
+  {&__pyx_n_s_z0, __pyx_k_z0, sizeof(__pyx_k_z0), 0, 0, 1, 1},
+  {&__pyx_n_s_z1, __pyx_k_z1, sizeof(__pyx_k_z1), 0, 0, 1, 1},
+  {&__pyx_n_s_z2, __pyx_k_z2, sizeof(__pyx_k_z2), 0, 0, 1, 1},
+  {&__pyx_n_s_zs, __pyx_k_zs, sizeof(__pyx_k_zs), 0, 0, 1, 1},
+  {0, 0, 0, 0, 0, 0, 0}
+};
+static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
+  __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 58, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":493
+ * 
+ *         if r0 < 0:
+ *             raise Exception('At least one Cone radius must be positive')             # <<<<<<<<<<<<<<
+ *         if r1 < 0:
+ *             axisx, axisy, axisz = (x1 - x0, y1 - y0, z1 - z0)
+ */
+  __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_At_least_one_Cone_radius_must_be); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 493, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple_);
+  __Pyx_GIVEREF(__pyx_tuple_);
+
+  /* "(tree fragment)":4
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ *     if __pyx_checksum not in (0xd41d8cd, 0xe3b0c44, 0xda39a3e):             # <<<<<<<<<<<<<<
+ *         from pickle import PickleError as __pyx_PickleError
+ *         raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xd41d8cd, 0xe3b0c44, 0xda39a3e) = ())" % __pyx_checksum)
+ */
+  __pyx_tuple__2 = PyTuple_Pack(3, __pyx_int_222419149, __pyx_int_238750788, __pyx_int_228825662); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__2);
+  __Pyx_GIVEREF(__pyx_tuple__2);
+  __pyx_tuple__3 = PyTuple_Pack(3, __pyx_int_92872098, __pyx_int_239915778, __pyx_int_252673849); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__3);
+  __Pyx_GIVEREF(__pyx_tuple__3);
+  __pyx_tuple__4 = PyTuple_Pack(3, __pyx_int_159808084, __pyx_int_106819078, __pyx_int_96385534); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__4);
+  __Pyx_GIVEREF(__pyx_tuple__4);
+  __pyx_tuple__5 = PyTuple_Pack(3, __pyx_int_39271848, __pyx_int_94399116, __pyx_int_241535739); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__5);
+  __Pyx_GIVEREF(__pyx_tuple__5);
+  __pyx_tuple__6 = PyTuple_Pack(3, __pyx_int_691256, __pyx_int_30850365, __pyx_int_110911515); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__6);
+  __Pyx_GIVEREF(__pyx_tuple__6);
+  __pyx_tuple__7 = PyTuple_Pack(3, __pyx_int_99548530, __pyx_int_187000701, __pyx_int_34679499); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__7);
+  __Pyx_GIVEREF(__pyx_tuple__7);
+  __pyx_tuple__8 = PyTuple_Pack(3, __pyx_int_153540018, __pyx_int_193865462, __pyx_int_57420663); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__8);
+  __Pyx_GIVEREF(__pyx_tuple__8);
+  __pyx_tuple__9 = PyTuple_Pack(3, __pyx_int_238900401, __pyx_int_30581986, __pyx_int_31625445); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__9);
+  __Pyx_GIVEREF(__pyx_tuple__9);
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Complement(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_tuple__10 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__10);
+  __Pyx_GIVEREF(__pyx_tuple__10);
+  __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Complement, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__12 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__12);
+  __Pyx_GIVEREF(__pyx_tuple__12);
+  __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Union, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__14 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__14);
+  __Pyx_GIVEREF(__pyx_tuple__14);
+  __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Intersection, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__16 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__16);
+  __Pyx_GIVEREF(__pyx_tuple__16);
+  __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Plane, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__18 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__18);
+  __Pyx_GIVEREF(__pyx_tuple__18);
+  __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Sphere, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__20 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__20);
+  __Pyx_GIVEREF(__pyx_tuple__20);
+  __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Cylinder, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__22 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__22);
+  __Pyx_GIVEREF(__pyx_tuple__22);
+  __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SphereCone, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__24 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__24);
+  __Pyx_GIVEREF(__pyx_tuple__24);
+  __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_Cone, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __pyx_tuple__26 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__26);
+  __Pyx_GIVEREF(__pyx_tuple__26);
+  __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SkewCone, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_691256 = PyInt_FromLong(691256L); if (unlikely(!__pyx_int_691256)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_30581986 = PyInt_FromLong(30581986L); if (unlikely(!__pyx_int_30581986)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_30850365 = PyInt_FromLong(30850365L); if (unlikely(!__pyx_int_30850365)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_31625445 = PyInt_FromLong(31625445L); if (unlikely(!__pyx_int_31625445)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_34679499 = PyInt_FromLong(34679499L); if (unlikely(!__pyx_int_34679499)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_39271848 = PyInt_FromLong(39271848L); if (unlikely(!__pyx_int_39271848)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_57420663 = PyInt_FromLong(57420663L); if (unlikely(!__pyx_int_57420663)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_92872098 = PyInt_FromLong(92872098L); if (unlikely(!__pyx_int_92872098)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_94399116 = PyInt_FromLong(94399116L); if (unlikely(!__pyx_int_94399116)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_96385534 = PyInt_FromLong(96385534L); if (unlikely(!__pyx_int_96385534)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_99548530 = PyInt_FromLong(99548530L); if (unlikely(!__pyx_int_99548530)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_106819078 = PyInt_FromLong(106819078L); if (unlikely(!__pyx_int_106819078)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_110911515 = PyInt_FromLong(110911515L); if (unlikely(!__pyx_int_110911515)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_153540018 = PyInt_FromLong(153540018L); if (unlikely(!__pyx_int_153540018)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_159808084 = PyInt_FromLong(159808084L); if (unlikely(!__pyx_int_159808084)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_187000701 = PyInt_FromLong(187000701L); if (unlikely(!__pyx_int_187000701)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_193865462 = PyInt_FromLong(193865462L); if (unlikely(!__pyx_int_193865462)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_222419149 = PyInt_FromLong(222419149L); if (unlikely(!__pyx_int_222419149)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_228825662 = PyInt_FromLong(228825662L); if (unlikely(!__pyx_int_228825662)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_238750788 = PyInt_FromLong(238750788L); if (unlikely(!__pyx_int_238750788)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_238900401 = PyInt_FromLong(238900401L); if (unlikely(!__pyx_int_238900401)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_239915778 = PyInt_FromLong(239915778L); if (unlikely(!__pyx_int_239915778)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_241535739 = PyInt_FromLong(241535739L); if (unlikely(!__pyx_int_241535739)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_252673849 = PyInt_FromLong(252673849L); if (unlikely(!__pyx_int_252673849)) __PYX_ERR(0, 1, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
+
+static int __Pyx_modinit_global_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
+  /*--- Global init code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_variable_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
+  /*--- Variable export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
+  /*--- Function export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_type_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
+  /*--- Type init code ---*/
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Complement, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Complement;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.starting_points = (PyObject *(*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Union_starting_points;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Union, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Union;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.starting_points = (PyObject *(*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_12Intersection_starting_points;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Intersection, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Intersection;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.starting_points = (PyObject *(*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane_starting_points;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  #if CYTHON_UPDATE_DESCRIPTOR_DOC
+  {
+    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 86, __pyx_L1_error)
+    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+      __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+      __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__.doc = __pyx_doc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__;
+      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5Plane___init__;
+    }
+  }
+  #endif
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Plane, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Plane;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.overlaps_x = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_x;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.overlaps_y = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_y;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.overlaps_z = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_6Sphere_overlaps_z;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Sphere, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Sphere;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.within_core = (PyObject *(*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_within_core;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.overlaps_x = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_x;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.overlaps_y = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_y;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.overlaps_z = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8Cylinder_overlaps_z;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder) < 0) __PYX_ERR(0, 168, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder) < 0) __PYX_ERR(0, 168, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Cylinder, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder) < 0) __PYX_ERR(0, 168, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder) < 0) __PYX_ERR(0, 168, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cylinder;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.overlaps_x = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_x;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.overlaps_y = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_y;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.overlaps_z = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_10SphereCone_overlaps_z;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone) < 0) __PYX_ERR(0, 314, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone) < 0) __PYX_ERR(0, 314, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SphereCone, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone) < 0) __PYX_ERR(0, 314, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone) < 0) __PYX_ERR(0, 314, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SphereCone;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.within_core = (PyObject *(*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_within_core;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.overlaps_x = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_x;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.overlaps_y = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_y;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.overlaps_z = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_4Cone_overlaps_z;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone) < 0) __PYX_ERR(0, 419, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone) < 0) __PYX_ERR(0, 419, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Cone, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone) < 0) __PYX_ERR(0, 419, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone) < 0) __PYX_ERR(0, 419, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_Cone;
+  __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone = &__pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.distance = (double (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_distance;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.overlaps_x = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_x;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.overlaps_y = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_y;
+  __pyx_vtable_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.overlaps_z = (int (*)(struct __pyx_obj_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone *, double, double, int __pyx_skip_dispatch))__pyx_f_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_overlaps_z;
+  if (PyType_Ready(&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
+  #if PY_VERSION_HEX < 0x030800B1
+  __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.tp_print = 0;
+  #endif
+  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.tp_dictoffset && __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.tp_getattro == PyObject_GenericGetAttr)) {
+    __pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.tp_getattro = __Pyx_PyObject_GenericGetAttr;
+  }
+  #if CYTHON_UPDATE_DESCRIPTOR_DOC
+  {
+    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 604, __pyx_L1_error)
+    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
+      __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
+      __pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__.doc = __pyx_doc_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__;
+      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_6neuron_3rxd_10geometry3d_18graphicsPrimitives_8SkewCone_2__init__;
+    }
+  }
+  #endif
+  if (__Pyx_SetVtable(__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone.tp_dict, __pyx_vtabptr_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SkewCone, (PyObject *)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
+  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone) < 0) __PYX_ERR(0, 604, __pyx_L1_error)
+  __pyx_ptype_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone = &__pyx_type_6neuron_3rxd_10geometry3d_18graphicsPrimitives_SkewCone;
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_modinit_type_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
+  /*--- Type import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_variable_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
+  /*--- Variable import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
+  /*--- Function import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+
+#ifndef CYTHON_NO_PYINIT_EXPORT
+#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
+#elif PY_MAJOR_VERSION < 3
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" void
+#else
+#define __Pyx_PyMODINIT_FUNC void
+#endif
+#else
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
+#else
+#define __Pyx_PyMODINIT_FUNC PyObject *
+#endif
+#endif
+
+
+#if PY_MAJOR_VERSION < 3
+__Pyx_PyMODINIT_FUNC initgraphicsPrimitives(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC initgraphicsPrimitives(void)
+#else
+__Pyx_PyMODINIT_FUNC PyInit_graphicsPrimitives(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC PyInit_graphicsPrimitives(void)
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+{
+  return PyModuleDef_Init(&__pyx_moduledef);
+}
+static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
+    #if PY_VERSION_HEX >= 0x030700A1
+    static PY_INT64_T main_interpreter_id = -1;
+    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
+    if (main_interpreter_id == -1) {
+        main_interpreter_id = current_id;
+        return (unlikely(current_id == -1)) ? -1 : 0;
+    } else if (unlikely(main_interpreter_id != current_id))
+    #else
+    static PyInterpreterState *main_interpreter = NULL;
+    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
+    if (!main_interpreter) {
+        main_interpreter = current_interpreter;
+    } else if (unlikely(main_interpreter != current_interpreter))
+    #endif
+    {
+        PyErr_SetString(
+            PyExc_ImportError,
+            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
+        return -1;
+    }
+    return 0;
+}
+static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
+    PyObject *value = PyObject_GetAttrString(spec, from_name);
+    int result = 0;
+    if (likely(value)) {
+        if (allow_none || value != Py_None) {
+            result = PyDict_SetItemString(moddict, to_name, value);
+        }
+        Py_DECREF(value);
+    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Clear();
+    } else {
+        result = -1;
+    }
+    return result;
+}
+static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
+    PyObject *module = NULL, *moddict, *modname;
+    if (__Pyx_check_single_interpreter())
+        return NULL;
+    if (__pyx_m)
+        return __Pyx_NewRef(__pyx_m);
+    modname = PyObject_GetAttrString(spec, "name");
+    if (unlikely(!modname)) goto bad;
+    module = PyModule_NewObject(modname);
+    Py_DECREF(modname);
+    if (unlikely(!module)) goto bad;
+    moddict = PyModule_GetDict(module);
+    if (unlikely(!moddict)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
+    return module;
+bad:
+    Py_XDECREF(module);
+    return NULL;
+}
+
+
+static CYTHON_SMALL_CODE int __pyx_pymod_exec_graphicsPrimitives(PyObject *__pyx_pyinit_module)
+#endif
+#endif
+{
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannyDeclarations
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  if (__pyx_m) {
+    if (__pyx_m == __pyx_pyinit_module) return 0;
+    PyErr_SetString(PyExc_RuntimeError, "Module 'graphicsPrimitives' has already been imported. Re-initialisation is not supported.");
+    return -1;
+  }
+  #elif PY_MAJOR_VERSION >= 3
+  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
+  #endif
+  #if CYTHON_REFNANNY
+__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
+if (!__Pyx_RefNanny) {
+  PyErr_Clear();
+  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
+  if (!__Pyx_RefNanny)
+      Py_FatalError("failed to import 'refnanny' module");
+}
+#endif
+  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_graphicsPrimitives(void)", 0);
+  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pxy_PyFrame_Initialize_Offsets
+  __Pxy_PyFrame_Initialize_Offsets();
+  #endif
+  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pyx_CyFunction_USED
+  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Coroutine_USED
+  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Generator_USED
+  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_AsyncGen_USED
+  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_StopAsyncIteration_USED
+  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  /*--- Library function declarations ---*/
+  /*--- Threads initialization code ---*/
+  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+  PyEval_InitThreads();
+  #endif
+  /*--- Module creation code ---*/
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  __pyx_m = __pyx_pyinit_module;
+  Py_INCREF(__pyx_m);
+  #else
+  #if PY_MAJOR_VERSION < 3
+  __pyx_m = Py_InitModule4("graphicsPrimitives", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+  #else
+  __pyx_m = PyModule_Create(&__pyx_moduledef);
+  #endif
+  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_d);
+  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_b);
+  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_cython_runtime);
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Initialize various global constants etc. ---*/
+  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
+  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  if (__pyx_module_is_main_neuron__rxd__geometry3d__graphicsPrimitives) {
+    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  }
+  #if PY_MAJOR_VERSION >= 3
+  {
+    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
+    if (!PyDict_GetItemString(modules, "neuron.rxd.geometry3d.graphicsPrimitives")) {
+      if (unlikely(PyDict_SetItemString(modules, "neuron.rxd.geometry3d.graphicsPrimitives", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+    }
+  }
+  #endif
+  /*--- Builtin init code ---*/
+  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Constants init code ---*/
+  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Global type/function init code ---*/
+  (void)__Pyx_modinit_global_init_code();
+  (void)__Pyx_modinit_variable_export_code();
+  (void)__Pyx_modinit_function_export_code();
+  if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  (void)__Pyx_modinit_type_import_code();
+  (void)__Pyx_modinit_variable_import_code();
+  (void)__Pyx_modinit_function_import_code();
+  /*--- Execution code ---*/
+  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":8
+ * #   http://jgt.akpeters.com/papers/BarbierGalin04/Cone-Sphere.zip
+ * 
+ * import bisect             # <<<<<<<<<<<<<<
+ * cimport cython
+ * 
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_bisect, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_bisect, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Complement(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_1__pyx_unpickle_Complement, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Complement, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Complement__set_state(<Complement> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Complement__set_state(Complement __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     if len(__pyx_state) > 0 and hasattr(__pyx_result, '__dict__'):
+ *         __pyx_result.__dict__.update(__pyx_state[0])
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_3__pyx_unpickle_Union, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Union, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Intersection(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_5__pyx_unpickle_Intersection, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Intersection, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Intersection__set_state(<Intersection> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Intersection__set_state(Intersection __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result.objects = __pyx_state[0]
+ *     if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'):
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_7__pyx_unpickle_Plane, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Plane, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_Sphere(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_9__pyx_unpickle_Sphere, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Sphere, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_Sphere__set_state(<Sphere> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_Sphere__set_state(Sphere __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._r = __pyx_state[0]; __pyx_result._x = __pyx_state[1]; __pyx_result._xhi = __pyx_state[2]; __pyx_result._xlo = __pyx_state[3]; __pyx_result._y = __pyx_state[4]; __pyx_result._yhi = __pyx_state[5]; __pyx_result._ylo = __pyx_state[6]; __pyx_result._z = __pyx_state[7]; __pyx_result._zhi = __pyx_state[8]; __pyx_result._zlo = __pyx_state[9]; __pyx_result.clips = __pyx_state[10]
+ *     if len(__pyx_state) > 11 and hasattr(__pyx_result, '__dict__'):
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_11__pyx_unpickle_Cylinder, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Cylinder, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_SphereCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_13__pyx_unpickle_SphereCone, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SphereCone, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":11
+ *         __pyx_unpickle_SphereCone__set_state(<SphereCone> __pyx_result, __pyx_state)
+ *     return __pyx_result
+ * cdef __pyx_unpickle_SphereCone__set_state(SphereCone __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
+ *     __pyx_result._xhi = __pyx_state[0]; __pyx_result._xlo = __pyx_state[1]; __pyx_result._yhi = __pyx_state[2]; __pyx_result._ylo = __pyx_state[3]; __pyx_result._zhi = __pyx_state[4]; __pyx_result._zlo = __pyx_state[5]; __pyx_result.axisx = __pyx_state[6]; __pyx_result.axisy = __pyx_state[7]; __pyx_result.axisz = __pyx_state[8]; __pyx_result.clips = __pyx_state[9]; __pyx_result.conelength = __pyx_state[10]; __pyx_result.ha = __pyx_state[11]; __pyx_result.hb = __pyx_state[12]; __pyx_result.hra = __pyx_state[13]; __pyx_result.hrb = __pyx_state[14]; __pyx_result.length = __pyx_state[15]; __pyx_result.r0 = __pyx_state[16]; __pyx_result.r1 = __pyx_state[17]; __pyx_result.rra = __pyx_state[18]; __pyx_result.rrb = __pyx_state[19]; __pyx_result.side1 = __pyx_state[20]; __pyx_result.side2 = __pyx_state[21]; __pyx_result.x0 = __pyx_state[22]; __pyx_result.x1 = __pyx_state[23]; __pyx_result.y0 = __pyx_state[24]; __pyx_result.y1 = __pyx_state[25]; __pyx_result.z0 = __pyx_state[26]; __pyx_result.z1 = __pyx_state[27]
+ *     if len(__pyx_state) > 28 and hasattr(__pyx_result, '__dict__'):
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_15__pyx_unpickle_Cone, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_Cone, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "(tree fragment)":1
+ * def __pyx_unpickle_SkewCone(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
+ *     cdef object __pyx_PickleError
+ *     cdef object __pyx_result
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_18graphicsPrimitives_17__pyx_unpickle_SkewCone, NULL, __pyx_n_s_neuron_rxd_geometry3d_graphicsPr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SkewCone, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/graphicsPrimitives.pyx":1
+ * #cython: language_level=2             # <<<<<<<<<<<<<<
+ * # this contains cone, spherecone, and cylinder code translated and modified from Barbier and
+ * # Galin 2004's example code
+ */
+  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /*--- Wrapped vars code ---*/
+
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  if (__pyx_m) {
+    if (__pyx_d) {
+      __Pyx_AddTraceback("init neuron.rxd.geometry3d.graphicsPrimitives", __pyx_clineno, __pyx_lineno, __pyx_filename);
+    }
+    Py_CLEAR(__pyx_m);
+  } else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_ImportError, "init neuron.rxd.geometry3d.graphicsPrimitives");
+  }
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  return (__pyx_m != NULL) ? 0 : -1;
+  #elif PY_MAJOR_VERSION >= 3
+  return __pyx_m;
+  #else
+  return;
+  #endif
+}
+
+/* --- Runtime support code --- */
+/* Refnanny */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule(modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, "RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+/* PyObjectGetAttrStr */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_getattro))
+        return tp->tp_getattro(obj, attr_name);
+#if PY_MAJOR_VERSION < 3
+    if (likely(tp->tp_getattr))
+        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
+#endif
+    return PyObject_GetAttr(obj, attr_name);
+}
+#endif
+
+/* GetBuiltinName */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+    if (unlikely(!result)) {
+        PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+            "name '%U' is not defined", name);
+#else
+            "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+    }
+    return result;
+}
+
+/* RaiseDoubleKeywords */
+static void __Pyx_RaiseDoubleKeywordsError(
+    const char* func_name,
+    PyObject* kw_name)
+{
+    PyErr_Format(PyExc_TypeError,
+        #if PY_MAJOR_VERSION >= 3
+        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+        #else
+        "%s() got multiple values for keyword argument '%s'", func_name,
+        PyString_AsString(kw_name));
+        #endif
+}
+
+/* ParseKeywords */
+static int __Pyx_ParseOptionalKeywords(
+    PyObject *kwds,
+    PyObject **argnames[],
+    PyObject *kwds2,
+    PyObject *values[],
+    Py_ssize_t num_pos_args,
+    const char* function_name)
+{
+    PyObject *key = 0, *value = 0;
+    Py_ssize_t pos = 0;
+    PyObject*** name;
+    PyObject*** first_kw_arg = argnames + num_pos_args;
+    while (PyDict_Next(kwds, &pos, &key, &value)) {
+        name = first_kw_arg;
+        while (*name && (**name != key)) name++;
+        if (*name) {
+            values[name-argnames] = value;
+            continue;
+        }
+        name = first_kw_arg;
+        #if PY_MAJOR_VERSION < 3
+        if (likely(PyString_Check(key))) {
+            while (*name) {
+                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
+                        && _PyString_Eq(**name, key)) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    if ((**argname == key) || (
+                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
+                             && _PyString_Eq(**argname, key))) {
+                        goto arg_passed_twice;
+                    }
+                    argname++;
+                }
+            }
+        } else
+        #endif
+        if (likely(PyUnicode_Check(key))) {
+            while (*name) {
+                int cmp = (**name == key) ? 0 :
+                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                #endif
+                    PyUnicode_Compare(**name, key);
+                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                if (cmp == 0) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    int cmp = (**argname == key) ? 0 :
+                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                    #endif
+                        PyUnicode_Compare(**argname, key);
+                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                    if (cmp == 0) goto arg_passed_twice;
+                    argname++;
+                }
+            }
+        } else
+            goto invalid_keyword_type;
+        if (kwds2) {
+            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+        } else {
+            goto invalid_keyword;
+        }
+    }
+    return 0;
+arg_passed_twice:
+    __Pyx_RaiseDoubleKeywordsError(function_name, key);
+    goto bad;
+invalid_keyword_type:
+    PyErr_Format(PyExc_TypeError,
+        "%.200s() keywords must be strings", function_name);
+    goto bad;
+invalid_keyword:
+    PyErr_Format(PyExc_TypeError,
+    #if PY_MAJOR_VERSION < 3
+        "%.200s() got an unexpected keyword argument '%.200s'",
+        function_name, PyString_AsString(key));
+    #else
+        "%s() got an unexpected keyword argument '%U'",
+        function_name, key);
+    #endif
+bad:
+    return -1;
+}
+
+/* RaiseArgTupleInvalid */
+static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+/* PyObjectSetAttrStr */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_setattro))
+        return tp->tp_setattro(obj, attr_name, value);
+#if PY_MAJOR_VERSION < 3
+    if (likely(tp->tp_setattr))
+        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
+#endif
+    return PyObject_SetAttr(obj, attr_name, value);
+}
+#endif
+
+/* PyFunctionFastCall */
+#if CYTHON_FAST_PYCALL
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
+                                               PyObject *globals) {
+    PyFrameObject *f;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject **fastlocals;
+    Py_ssize_t i;
+    PyObject *result;
+    assert(globals != NULL);
+    /* XXX Perhaps we should create a specialized
+       PyFrame_New() that doesn't take locals, but does
+       take builtins without sanity checking them.
+       */
+    assert(tstate != NULL);
+    f = PyFrame_New(tstate, co, globals, NULL);
+    if (f == NULL) {
+        return NULL;
+    }
+    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
+    for (i = 0; i < na; i++) {
+        Py_INCREF(*args);
+        fastlocals[i] = *args++;
+    }
+    result = PyEval_EvalFrameEx(f,0);
+    ++tstate->recursion_depth;
+    Py_DECREF(f);
+    --tstate->recursion_depth;
+    return result;
+}
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
+    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
+    PyObject *globals = PyFunction_GET_GLOBALS(func);
+    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
+    PyObject *closure;
+#if PY_MAJOR_VERSION >= 3
+    PyObject *kwdefs;
+#endif
+    PyObject *kwtuple, **k;
+    PyObject **d;
+    Py_ssize_t nd;
+    Py_ssize_t nk;
+    PyObject *result;
+    assert(kwargs == NULL || PyDict_Check(kwargs));
+    nk = kwargs ? PyDict_Size(kwargs) : 0;
+    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
+        return NULL;
+    }
+    if (
+#if PY_MAJOR_VERSION >= 3
+            co->co_kwonlyargcount == 0 &&
+#endif
+            likely(kwargs == NULL || nk == 0) &&
+            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
+        if (argdefs == NULL && co->co_argcount == nargs) {
+            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
+            goto done;
+        }
+        else if (nargs == 0 && argdefs != NULL
+                 && co->co_argcount == Py_SIZE(argdefs)) {
+            /* function called with no arguments, but all parameters have
+               a default value: use default values as arguments .*/
+            args = &PyTuple_GET_ITEM(argdefs, 0);
+            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
+            goto done;
+        }
+    }
+    if (kwargs != NULL) {
+        Py_ssize_t pos, i;
+        kwtuple = PyTuple_New(2 * nk);
+        if (kwtuple == NULL) {
+            result = NULL;
+            goto done;
+        }
+        k = &PyTuple_GET_ITEM(kwtuple, 0);
+        pos = i = 0;
+        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
+            Py_INCREF(k[i]);
+            Py_INCREF(k[i+1]);
+            i += 2;
+        }
+        nk = i / 2;
+    }
+    else {
+        kwtuple = NULL;
+        k = NULL;
+    }
+    closure = PyFunction_GET_CLOSURE(func);
+#if PY_MAJOR_VERSION >= 3
+    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
+#endif
+    if (argdefs != NULL) {
+        d = &PyTuple_GET_ITEM(argdefs, 0);
+        nd = Py_SIZE(argdefs);
+    }
+    else {
+        d = NULL;
+        nd = 0;
+    }
+#if PY_MAJOR_VERSION >= 3
+    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, kwdefs, closure);
+#else
+    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, closure);
+#endif
+    Py_XDECREF(kwtuple);
+done:
+    Py_LeaveRecursiveCall();
+    return result;
+}
+#endif
+#endif
+
+/* PyCFunctionFastCall */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
+    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
+    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
+    PyObject *self = PyCFunction_GET_SELF(func);
+    int flags = PyCFunction_GET_FLAGS(func);
+    assert(PyCFunction_Check(func));
+    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
+    assert(nargs >= 0);
+    assert(nargs == 0 || args != NULL);
+    /* _PyCFunction_FastCallDict() must not be called with an exception set,
+       because it may clear it (directly or indirectly) and so the
+       caller loses its exception */
+    assert(!PyErr_Occurred());
+    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
+        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
+    } else {
+        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
+    }
+}
+#endif
+
+/* PyObjectCall */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+    PyObject *result;
+    ternaryfunc call = Py_TYPE(func)->tp_call;
+    if (unlikely(!call))
+        return PyObject_Call(func, arg, kw);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = (*call)(func, arg, kw);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyErrExceptionMatches */
+#if CYTHON_FAST_THREAD_STATE
+static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
+    PyObject *exc_type = tstate->curexc_type;
+    if (exc_type == err) return 1;
+    if (unlikely(!exc_type)) return 0;
+    if (unlikely(PyTuple_Check(err)))
+        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
+    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
+}
+#endif
+
+/* PyErrFetchRestore */
+#if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    tmp_type = tstate->curexc_type;
+    tmp_value = tstate->curexc_value;
+    tmp_tb = tstate->curexc_traceback;
+    tstate->curexc_type = type;
+    tstate->curexc_value = value;
+    tstate->curexc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    *type = tstate->curexc_type;
+    *value = tstate->curexc_value;
+    *tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+}
+#endif
+
+/* GetAttr */
+static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
+#if CYTHON_USE_TYPE_SLOTS
+#if PY_MAJOR_VERSION >= 3
+    if (likely(PyUnicode_Check(n)))
+#else
+    if (likely(PyString_Check(n)))
+#endif
+        return __Pyx_PyObject_GetAttrStr(o, n);
+#endif
+    return PyObject_GetAttr(o, n);
+}
+
+/* GetAttr3 */
+static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
+        return NULL;
+    __Pyx_PyErr_Clear();
+    Py_INCREF(d);
+    return d;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
+    PyObject *r = __Pyx_GetAttr(o, n);
+    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
+}
+
+/* PyDictVersioning */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
+    PyObject **dictptr = NULL;
+    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
+    if (offset) {
+#if CYTHON_COMPILING_IN_CPYTHON
+        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
+#else
+        dictptr = _PyObject_GetDictPtr(obj);
+#endif
+    }
+    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
+}
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
+        return 0;
+    return obj_dict_version == __Pyx_get_object_dict_version(obj);
+}
+#endif
+
+/* GetModuleGlobalName */
+#if CYTHON_USE_DICT_VERSIONS
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
+#else
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
+#endif
+{
+    PyObject *result;
+#if !CYTHON_AVOID_BORROWED_REFS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    } else if (unlikely(PyErr_Occurred())) {
+        return NULL;
+    }
+#else
+    result = PyDict_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+#endif
+#else
+    result = PyObject_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+    PyErr_Clear();
+#endif
+    return __Pyx_GetBuiltinName(name);
+}
+
+/* ArgTypeTest */
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
+{
+    if (unlikely(!type)) {
+        PyErr_SetString(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    else if (exact) {
+        #if PY_MAJOR_VERSION == 2
+        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
+        #endif
+    }
+    else {
+        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
+        name, type->tp_name, Py_TYPE(obj)->tp_name);
+    return 0;
+}
+
+/* WriteUnraisableException */
+static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+                                  int full_traceback, CYTHON_UNUSED int nogil) {
+    PyObject *old_exc, *old_val, *old_tb;
+    PyObject *ctx;
+    __Pyx_PyThreadState_declare
+#ifdef WITH_THREAD
+    PyGILState_STATE state;
+    if (nogil)
+        state = PyGILState_Ensure();
+    else state = (PyGILState_STATE)0;
+#endif
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+    if (full_traceback) {
+        Py_XINCREF(old_exc);
+        Py_XINCREF(old_val);
+        Py_XINCREF(old_tb);
+        __Pyx_ErrRestore(old_exc, old_val, old_tb);
+        PyErr_PrintEx(1);
+    }
+    #if PY_MAJOR_VERSION < 3
+    ctx = PyString_FromString(name);
+    #else
+    ctx = PyUnicode_FromString(name);
+    #endif
+    __Pyx_ErrRestore(old_exc, old_val, old_tb);
+    if (!ctx) {
+        PyErr_WriteUnraisable(Py_None);
+    } else {
+        PyErr_WriteUnraisable(ctx);
+        Py_DECREF(ctx);
+    }
+#ifdef WITH_THREAD
+    if (nogil)
+        PyGILState_Release(state);
+#endif
+}
+
+/* RaiseException */
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+                        CYTHON_UNUSED PyObject *cause) {
+    __Pyx_PyThreadState_declare
+    Py_XINCREF(type);
+    if (!value || value == Py_None)
+        value = NULL;
+    else
+        Py_INCREF(value);
+    if (!tb || tb == Py_None)
+        tb = NULL;
+    else {
+        Py_INCREF(tb);
+        if (!PyTraceBack_Check(tb)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: arg 3 must be a traceback or None");
+            goto raise_error;
+        }
+    }
+    if (PyType_Check(type)) {
+#if CYTHON_COMPILING_IN_PYPY
+        if (!value) {
+            Py_INCREF(Py_None);
+            value = Py_None;
+        }
+#endif
+        PyErr_NormalizeException(&type, &value, &tb);
+    } else {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(type);
+        Py_INCREF(type);
+        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: exception class must be a subclass of BaseException");
+            goto raise_error;
+        }
+    }
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrRestore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
+}
+#else
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    PyObject* owned_instance = NULL;
+    if (tb == Py_None) {
+        tb = 0;
+    } else if (tb && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto bad;
+    }
+    if (value == Py_None)
+        value = 0;
+    if (PyExceptionInstance_Check(type)) {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto bad;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(value);
+    } else if (PyExceptionClass_Check(type)) {
+        PyObject *instance_class = NULL;
+        if (value && PyExceptionInstance_Check(value)) {
+            instance_class = (PyObject*) Py_TYPE(value);
+            if (instance_class != type) {
+                int is_subclass = PyObject_IsSubclass(instance_class, type);
+                if (!is_subclass) {
+                    instance_class = NULL;
+                } else if (unlikely(is_subclass == -1)) {
+                    goto bad;
+                } else {
+                    type = instance_class;
+                }
+            }
+        }
+        if (!instance_class) {
+            PyObject *args;
+            if (!value)
+                args = PyTuple_New(0);
+            else if (PyTuple_Check(value)) {
+                Py_INCREF(value);
+                args = value;
+            } else
+                args = PyTuple_Pack(1, value);
+            if (!args)
+                goto bad;
+            owned_instance = PyObject_Call(type, args, NULL);
+            Py_DECREF(args);
+            if (!owned_instance)
+                goto bad;
+            value = owned_instance;
+            if (!PyExceptionInstance_Check(value)) {
+                PyErr_Format(PyExc_TypeError,
+                             "calling %R should have returned an instance of "
+                             "BaseException, not %R",
+                             type, Py_TYPE(value));
+                goto bad;
+            }
+        }
+    } else {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: exception class must be a subclass of BaseException");
+        goto bad;
+    }
+    if (cause) {
+        PyObject *fixed_cause;
+        if (cause == Py_None) {
+            fixed_cause = NULL;
+        } else if (PyExceptionClass_Check(cause)) {
+            fixed_cause = PyObject_CallObject(cause, NULL);
+            if (fixed_cause == NULL)
+                goto bad;
+        } else if (PyExceptionInstance_Check(cause)) {
+            fixed_cause = cause;
+            Py_INCREF(fixed_cause);
+        } else {
+            PyErr_SetString(PyExc_TypeError,
+                            "exception causes must derive from "
+                            "BaseException");
+            goto bad;
+        }
+        PyException_SetCause(value, fixed_cause);
+    }
+    PyErr_SetObject(type, value);
+    if (tb) {
+#if CYTHON_FAST_THREAD_STATE
+        PyThreadState *tstate = __Pyx_PyThreadState_Current;
+        PyObject* tmp_tb = tstate->curexc_traceback;
+        if (tb != tmp_tb) {
+            Py_INCREF(tb);
+            tstate->curexc_traceback = tb;
+            Py_XDECREF(tmp_tb);
+        }
+#else
+        PyObject *tmp_type, *tmp_value, *tmp_tb;
+        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
+        Py_INCREF(tb);
+        PyErr_Restore(tmp_type, tmp_value, tb);
+        Py_XDECREF(tmp_tb);
+#endif
+    }
+bad:
+    Py_XDECREF(owned_instance);
+    return;
+}
+#endif
+
+/* Import */
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_import;
+    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
+    if (!py_import)
+        goto bad;
+    #endif
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    {
+        #if PY_MAJOR_VERSION >= 3
+        if (level == -1) {
+            if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
+                module = PyImport_ImportModuleLevelObject(
+                    name, global_dict, empty_dict, list, 1);
+                if (!module) {
+                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
+                        goto bad;
+                    PyErr_Clear();
+                }
+            }
+            level = 0;
+        }
+        #endif
+        if (!module) {
+            #if PY_MAJOR_VERSION < 3
+            PyObject *py_level = PyInt_FromLong(level);
+            if (!py_level)
+                goto bad;
+            module = PyObject_CallFunctionObjArgs(py_import,
+                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
+            Py_DECREF(py_level);
+            #else
+            module = PyImport_ImportModuleLevelObject(
+                name, global_dict, empty_dict, list, level);
+            #endif
+        }
+    }
+bad:
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_import);
+    #endif
+    Py_XDECREF(empty_list);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+/* ImportFrom */
+static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
+    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
+    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Format(PyExc_ImportError,
+        #if PY_MAJOR_VERSION < 3
+            "cannot import name %.230s", PyString_AS_STRING(name));
+        #else
+            "cannot import name %S", name);
+        #endif
+    }
+    return value;
+}
+
+/* PyObjectCall2Args */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+    PyObject *args, *result = NULL;
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyFunction_FastCall(function, args, 2);
+    }
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyCFunction_FastCall(function, args, 2);
+    }
+    #endif
+    args = PyTuple_New(2);
+    if (unlikely(!args)) goto done;
+    Py_INCREF(arg1);
+    PyTuple_SET_ITEM(args, 0, arg1);
+    Py_INCREF(arg2);
+    PyTuple_SET_ITEM(args, 1, arg2);
+    Py_INCREF(function);
+    result = __Pyx_PyObject_Call(function, args, NULL);
+    Py_DECREF(args);
+    Py_DECREF(function);
+done:
+    return result;
+}
+
+/* PyObjectCallMethO */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+    PyObject *self, *result;
+    PyCFunction cfunc;
+    cfunc = PyCFunction_GET_FUNCTION(func);
+    self = PyCFunction_GET_SELF(func);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = cfunc(self, arg);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCallOneArg */
+#if CYTHON_COMPILING_IN_CPYTHON
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_New(1);
+    if (unlikely(!args)) return NULL;
+    Py_INCREF(arg);
+    PyTuple_SET_ITEM(args, 0, arg);
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(func)) {
+        return __Pyx_PyFunction_FastCall(func, &arg, 1);
+    }
+#endif
+    if (likely(PyCFunction_Check(func))) {
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+            return __Pyx_PyObject_CallMethO(func, arg);
+#if CYTHON_FAST_PYCCALL
+        } else if (__Pyx_PyFastCFunction_Check(func)) {
+            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
+#endif
+        }
+    }
+    return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_Pack(1, arg);
+    if (unlikely(!args)) return NULL;
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+#endif
+
+/* HasAttr */
+static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
+    PyObject *r;
+    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
+        PyErr_SetString(PyExc_TypeError,
+                        "hasattr(): attribute name must be string");
+        return -1;
+    }
+    r = __Pyx_GetAttr(o, n);
+    if (unlikely(!r)) {
+        PyErr_Clear();
+        return 0;
+    } else {
+        Py_DECREF(r);
+        return 1;
+    }
+}
+
+/* GetItemInt */
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+    PyObject *r;
+    if (!j) return NULL;
+    r = PyObject_GetItem(o, j);
+    Py_DECREF(j);
+    return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyList_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
+        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyTuple_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
+        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
+                                                     CYTHON_NCP_UNUSED int wraparound,
+                                                     CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
+    if (is_list || PyList_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
+            PyObject *r = PyList_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (PyTuple_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    } else {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_item)) {
+            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+                Py_ssize_t l = m->sq_length(o);
+                if (likely(l >= 0)) {
+                    i += l;
+                } else {
+                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                        return NULL;
+                    PyErr_Clear();
+                }
+            }
+            return m->sq_item(o, i);
+        }
+    }
+#else
+    if (is_list || PySequence_Check(o)) {
+        return PySequence_GetItem(o, i);
+    }
+#endif
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+/* PyObject_GenericGetAttrNoDict */
+#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
+    PyErr_Format(PyExc_AttributeError,
+#if PY_MAJOR_VERSION >= 3
+                 "'%.50s' object has no attribute '%U'",
+                 tp->tp_name, attr_name);
+#else
+                 "'%.50s' object has no attribute '%.400s'",
+                 tp->tp_name, PyString_AS_STRING(attr_name));
+#endif
+    return NULL;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
+    PyObject *descr;
+    PyTypeObject *tp = Py_TYPE(obj);
+    if (unlikely(!PyString_Check(attr_name))) {
+        return PyObject_GenericGetAttr(obj, attr_name);
+    }
+    assert(!tp->tp_dictoffset);
+    descr = _PyType_Lookup(tp, attr_name);
+    if (unlikely(!descr)) {
+        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
+    }
+    Py_INCREF(descr);
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
+    #endif
+    {
+        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
+        if (unlikely(f)) {
+            PyObject *res = f(descr, obj, (PyObject *)tp);
+            Py_DECREF(descr);
+            return res;
+        }
+    }
+    return descr;
+}
+#endif
+
+/* PyObject_GenericGetAttr */
+#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
+static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
+    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
+        return PyObject_GenericGetAttr(obj, attr_name);
+    }
+    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
+}
+#endif
+
+/* PyObjectGetAttrStrNoError */
+static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
+        __Pyx_PyErr_Clear();
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
+    PyObject *result;
+#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
+        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
+    }
+#endif
+    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
+    if (unlikely(!result)) {
+        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
+    }
+    return result;
+}
+
+/* SetupReduce */
+static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
+  int ret;
+  PyObject *name_attr;
+  name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);
+  if (likely(name_attr)) {
+      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
+  } else {
+      ret = -1;
+  }
+  if (unlikely(ret < 0)) {
+      PyErr_Clear();
+      ret = 0;
+  }
+  Py_XDECREF(name_attr);
+  return ret;
+}
+static int __Pyx_setup_reduce(PyObject* type_obj) {
+    int ret = 0;
+    PyObject *object_reduce = NULL;
+    PyObject *object_getstate = NULL;
+    PyObject *object_reduce_ex = NULL;
+    PyObject *reduce = NULL;
+    PyObject *reduce_ex = NULL;
+    PyObject *reduce_cython = NULL;
+    PyObject *setstate = NULL;
+    PyObject *setstate_cython = NULL;
+    PyObject *getstate = NULL;
+#if CYTHON_USE_PYTYPE_LOOKUP
+    getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate);
+#else
+    getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate);
+    if (!getstate && PyErr_Occurred()) {
+        goto __PYX_BAD;
+    }
+#endif
+    if (getstate) {
+#if CYTHON_USE_PYTYPE_LOOKUP
+        object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate);
+#else
+        object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate);
+        if (!object_getstate && PyErr_Occurred()) {
+            goto __PYX_BAD;
+        }
+#endif
+        if (object_getstate != getstate) {
+            goto __PYX_GOOD;
+        }
+    }
+#if CYTHON_USE_PYTYPE_LOOKUP
+    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
+#else
+    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
+#endif
+    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
+    if (reduce_ex == object_reduce_ex) {
+#if CYTHON_USE_PYTYPE_LOOKUP
+        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
+#else
+        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
+#endif
+        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
+        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
+            reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
+            if (likely(reduce_cython)) {
+                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
+                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
+            } else if (reduce == object_reduce || PyErr_Occurred()) {
+                goto __PYX_BAD;
+            }
+            setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
+            if (!setstate) PyErr_Clear();
+            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
+                setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
+                if (likely(setstate_cython)) {
+                    ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
+                    ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
+                } else if (!setstate || PyErr_Occurred()) {
+                    goto __PYX_BAD;
+                }
+            }
+            PyType_Modified((PyTypeObject*)type_obj);
+        }
+    }
+    goto __PYX_GOOD;
+__PYX_BAD:
+    if (!PyErr_Occurred())
+        PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
+    ret = -1;
+__PYX_GOOD:
+#if !CYTHON_USE_PYTYPE_LOOKUP
+    Py_XDECREF(object_reduce);
+    Py_XDECREF(object_reduce_ex);
+    Py_XDECREF(object_getstate);
+    Py_XDECREF(getstate);
+#endif
+    Py_XDECREF(reduce);
+    Py_XDECREF(reduce_ex);
+    Py_XDECREF(reduce_cython);
+    Py_XDECREF(setstate);
+    Py_XDECREF(setstate_cython);
+    return ret;
+}
+
+/* SetVTable */
+static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
+#if PY_VERSION_HEX >= 0x02070000
+    PyObject *ob = PyCapsule_New(vtable, 0, 0);
+#else
+    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
+#endif
+    if (!ob)
+        goto bad;
+    if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
+        goto bad;
+    Py_DECREF(ob);
+    return 0;
+bad:
+    Py_XDECREF(ob);
+    return -1;
+}
+
+/* CLineInTraceback */
+#ifndef CYTHON_CLINE_IN_TRACEBACK
+static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
+    PyObject *use_cline;
+    PyObject *ptype, *pvalue, *ptraceback;
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyObject **cython_runtime_dict;
+#endif
+    if (unlikely(!__pyx_cython_runtime)) {
+        return c_line;
+    }
+    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+#if CYTHON_COMPILING_IN_CPYTHON
+    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
+    if (likely(cython_runtime_dict)) {
+        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
+            use_cline, *cython_runtime_dict,
+            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
+    } else
+#endif
+    {
+      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
+      if (use_cline_obj) {
+        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
+        Py_DECREF(use_cline_obj);
+      } else {
+        PyErr_Clear();
+        use_cline = NULL;
+      }
+    }
+    if (!use_cline) {
+        c_line = 0;
+        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
+    }
+    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
+        c_line = 0;
+    }
+    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+    return c_line;
+}
+#endif
+
+/* CodeObjectCache */
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+    int start = 0, mid = 0, end = count - 1;
+    if (end >= 0 && code_line > entries[end].code_line) {
+        return count;
+    }
+    while (start < end) {
+        mid = start + (end - start) / 2;
+        if (code_line < entries[mid].code_line) {
+            end = mid;
+        } else if (code_line > entries[mid].code_line) {
+             start = mid + 1;
+        } else {
+            return mid;
+        }
+    }
+    if (code_line <= entries[mid].code_line) {
+        return mid;
+    } else {
+        return mid + 1;
+    }
+}
+static PyCodeObject *__pyx_find_code_object(int code_line) {
+    PyCodeObject* code_object;
+    int pos;
+    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
+        return NULL;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
+        return NULL;
+    }
+    code_object = __pyx_code_cache.entries[pos].code_object;
+    Py_INCREF(code_object);
+    return code_object;
+}
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
+    int pos, i;
+    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
+    if (unlikely(!code_line)) {
+        return;
+    }
+    if (unlikely(!entries)) {
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (likely(entries)) {
+            __pyx_code_cache.entries = entries;
+            __pyx_code_cache.max_count = 64;
+            __pyx_code_cache.count = 1;
+            entries[0].code_line = code_line;
+            entries[0].code_object = code_object;
+            Py_INCREF(code_object);
+        }
+        return;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
+        PyCodeObject* tmp = entries[pos].code_object;
+        entries[pos].code_object = code_object;
+        Py_DECREF(tmp);
+        return;
+    }
+    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
+        int new_max = __pyx_code_cache.max_count + 64;
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
+            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
+        if (unlikely(!entries)) {
+            return;
+        }
+        __pyx_code_cache.entries = entries;
+        __pyx_code_cache.max_count = new_max;
+    }
+    for (i=__pyx_code_cache.count; i>pos; i--) {
+        entries[i] = entries[i-1];
+    }
+    entries[pos].code_line = code_line;
+    entries[pos].code_object = code_object;
+    __pyx_code_cache.count++;
+    Py_INCREF(code_object);
+}
+
+/* AddTraceback */
+#include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
+            const char *funcname, int c_line,
+            int py_line, const char *filename) {
+    PyCodeObject *py_code = NULL;
+    PyObject *py_funcname = NULL;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_srcfile = NULL;
+    py_srcfile = PyString_FromString(filename);
+    if (!py_srcfile) goto bad;
+    #endif
+    if (c_line) {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        #else
+        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        funcname = PyUnicode_AsUTF8(py_funcname);
+        if (!funcname) goto bad;
+        #endif
+    }
+    else {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromString(funcname);
+        if (!py_funcname) goto bad;
+        #endif
+    }
+    #if PY_MAJOR_VERSION < 3
+    py_code = __Pyx_PyCode_New(
+        0,
+        0,
+        0,
+        0,
+        0,
+        __pyx_empty_bytes, /*PyObject *code,*/
+        __pyx_empty_tuple, /*PyObject *consts,*/
+        __pyx_empty_tuple, /*PyObject *names,*/
+        __pyx_empty_tuple, /*PyObject *varnames,*/
+        __pyx_empty_tuple, /*PyObject *freevars,*/
+        __pyx_empty_tuple, /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        py_line,
+        __pyx_empty_bytes  /*PyObject *lnotab*/
+    );
+    Py_DECREF(py_srcfile);
+    #else
+    py_code = PyCode_NewEmpty(filename, funcname, py_line);
+    #endif
+    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
+    return py_code;
+bad:
+    Py_XDECREF(py_funcname);
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_srcfile);
+    #endif
+    return NULL;
+}
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyFrameObject *py_frame = 0;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject *ptype, *pvalue, *ptraceback;
+    if (c_line) {
+        c_line = __Pyx_CLineForTraceback(tstate, c_line);
+    }
+    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
+    if (!py_code) {
+        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+        py_code = __Pyx_CreateCodeObjectForTraceback(
+            funcname, c_line, py_line, filename);
+        if (!py_code) {
+            /* If the code object creation fails, then we should clear the
+               fetched exception references and propagate the new exception */
+            Py_XDECREF(ptype);
+            Py_XDECREF(pvalue);
+            Py_XDECREF(ptraceback);
+            goto bad;
+        }
+        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
+    }
+    py_frame = PyFrame_New(
+        tstate,            /*PyThreadState *tstate,*/
+        py_code,           /*PyCodeObject *code,*/
+        __pyx_d,    /*PyObject *globals,*/
+        0                  /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
+
+/* CIntFromPyVerify */
+#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
+#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
+#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
+    {\
+        func_type value = func_value;\
+        if (sizeof(target_type) < sizeof(func_type)) {\
+            if (unlikely(value != (func_type) (target_type) value)) {\
+                func_type zero = 0;\
+                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
+                    return (target_type) -1;\
+                if (is_unsigned && unlikely(value < zero))\
+                    goto raise_neg_overflow;\
+                else\
+                    goto raise_overflow;\
+            }\
+        }\
+        return (target_type) value;\
+    }
+
+/* CIntFromPy */
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(long) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (long) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
+                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
+                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
+                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (long) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(long) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(long) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            long val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (long) -1;
+        }
+    } else {
+        long val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (long) -1;
+        val = __Pyx_PyInt_As_long(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to long");
+    return (long) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to long");
+    return (long) -1;
+}
+
+/* CIntToPy */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(long) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(long) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(long) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(long),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntFromPy */
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const int neg_one = (int) -1, const_zero = (int) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(int) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (int) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
+                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
+                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
+                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (int) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(int) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(int) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            int val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (int) -1;
+        }
+    } else {
+        int val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (int) -1;
+        val = __Pyx_PyInt_As_int(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to int");
+    return (int) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to int");
+    return (int) -1;
+}
+
+/* FastTypeChecks */
+#if CYTHON_COMPILING_IN_CPYTHON
+static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
+    while (a) {
+        a = a->tp_base;
+        if (a == b)
+            return 1;
+    }
+    return b == &PyBaseObject_Type;
+}
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
+    PyObject *mro;
+    if (a == b) return 1;
+    mro = a->tp_mro;
+    if (likely(mro)) {
+        Py_ssize_t i, n;
+        n = PyTuple_GET_SIZE(mro);
+        for (i = 0; i < n; i++) {
+            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
+                return 1;
+        }
+        return 0;
+    }
+    return __Pyx_InBases(a, b);
+}
+#if PY_MAJOR_VERSION == 2
+static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
+    PyObject *exception, *value, *tb;
+    int res;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&exception, &value, &tb);
+    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
+    if (unlikely(res == -1)) {
+        PyErr_WriteUnraisable(err);
+        res = 0;
+    }
+    if (!res) {
+        res = PyObject_IsSubclass(err, exc_type2);
+        if (unlikely(res == -1)) {
+            PyErr_WriteUnraisable(err);
+            res = 0;
+        }
+    }
+    __Pyx_ErrRestore(exception, value, tb);
+    return res;
+}
+#else
+static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
+    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
+    if (!res) {
+        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
+    }
+    return res;
+}
+#endif
+static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    assert(PyExceptionClass_Check(exc_type));
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        PyObject *t = PyTuple_GET_ITEM(tuple, i);
+        #if PY_MAJOR_VERSION < 3
+        if (likely(exc_type == t)) return 1;
+        #endif
+        if (likely(PyExceptionClass_Check(t))) {
+            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
+        } else {
+        }
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
+    if (likely(err == exc_type)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        if (likely(PyExceptionClass_Check(exc_type))) {
+            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
+        } else if (likely(PyTuple_Check(exc_type))) {
+            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
+        } else {
+        }
+    }
+    return PyErr_GivenExceptionMatches(err, exc_type);
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
+    assert(PyExceptionClass_Check(exc_type1));
+    assert(PyExceptionClass_Check(exc_type2));
+    if (likely(err == exc_type1 || err == exc_type2)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
+    }
+    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
+}
+#endif
+
+/* CheckBinaryVersion */
+static int __Pyx_check_binary_version(void) {
+    char ctversion[5];
+    int same=1, i, found_dot;
+    const char* rt_from_call = Py_GetVersion();
+    PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    found_dot = 0;
+    for (i = 0; i < 4; i++) {
+        if (!ctversion[i]) {
+            same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
+            break;
+        }
+        if (rt_from_call[i] != ctversion[i]) {
+            same = 0;
+            break;
+        }
+    }
+    if (!same) {
+        char rtversion[5] = {'\0'};
+        char message[200];
+        for (i=0; i<4; ++i) {
+            if (rt_from_call[i] == '.') {
+                if (found_dot) break;
+                found_dot = 1;
+            } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
+                break;
+            }
+            rtversion[i] = rt_from_call[i];
+        }
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        return PyErr_WarnEx(NULL, message, 1);
+    }
+    return 0;
+}
+
+/* InitStrings */
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        #if PY_MAJOR_VERSION < 3
+        if (t->is_unicode) {
+            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
+        } else if (t->intern) {
+            *t->p = PyString_InternFromString(t->s);
+        } else {
+            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        }
+        #else
+        if (t->is_unicode | t->is_str) {
+            if (t->intern) {
+                *t->p = PyUnicode_InternFromString(t->s);
+            } else if (t->encoding) {
+                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
+            } else {
+                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
+            }
+        } else {
+            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
+        }
+        #endif
+        if (!*t->p)
+            return -1;
+        if (PyObject_Hash(*t->p) == -1)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
+    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+}
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
+    Py_ssize_t ignore;
+    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
+}
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#if !CYTHON_PEP393_ENABLED
+static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    char* defenc_c;
+    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
+    if (!defenc) return NULL;
+    defenc_c = PyBytes_AS_STRING(defenc);
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    {
+        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
+        char* c;
+        for (c = defenc_c; c < end; c++) {
+            if ((unsigned char) (*c) >= 128) {
+                PyUnicode_AsASCIIString(o);
+                return NULL;
+            }
+        }
+    }
+#endif
+    *length = PyBytes_GET_SIZE(defenc);
+    return defenc_c;
+}
+#else
+static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    if (likely(PyUnicode_IS_ASCII(o))) {
+        *length = PyUnicode_GET_LENGTH(o);
+        return PyUnicode_AsUTF8(o);
+    } else {
+        PyUnicode_AsASCIIString(o);
+        return NULL;
+    }
+#else
+    return PyUnicode_AsUTF8AndSize(o, length);
+#endif
+}
+#endif
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+    if (
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+            __Pyx_sys_getdefaultencoding_not_ascii &&
+#endif
+            PyUnicode_Check(o)) {
+        return __Pyx_PyUnicode_AsStringAndSize(o, length);
+    } else
+#endif
+#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
+    if (PyByteArray_Check(o)) {
+        *length = PyByteArray_GET_SIZE(o);
+        return PyByteArray_AS_STRING(o);
+    } else
+#endif
+    {
+        char* result;
+        int r = PyBytes_AsStringAndSize(o, &result, length);
+        if (unlikely(r < 0)) {
+            return NULL;
+        } else {
+            return result;
+        }
+    }
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
+   int is_true = x == Py_True;
+   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
+   else return PyObject_IsTrue(x);
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
+    int retval;
+    if (unlikely(!x)) return -1;
+    retval = __Pyx_PyObject_IsTrue(x);
+    Py_DECREF(x);
+    return retval;
+}
+static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
+#if PY_MAJOR_VERSION >= 3
+    if (PyLong_Check(result)) {
+        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
+                "__int__ returned non-int (type %.200s).  "
+                "The ability to return an instance of a strict subclass of int "
+                "is deprecated, and may be removed in a future version of Python.",
+                Py_TYPE(result)->tp_name)) {
+            Py_DECREF(result);
+            return NULL;
+        }
+        return result;
+    }
+#endif
+    PyErr_Format(PyExc_TypeError,
+                 "__%.4s__ returned non-%.4s (type %.200s)",
+                 type_name, type_name, Py_TYPE(result)->tp_name);
+    Py_DECREF(result);
+    return NULL;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
+#if CYTHON_USE_TYPE_SLOTS
+  PyNumberMethods *m;
+#endif
+  const char *name = NULL;
+  PyObject *res = NULL;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_Check(x) || PyLong_Check(x)))
+#else
+  if (likely(PyLong_Check(x)))
+#endif
+    return __Pyx_NewRef(x);
+#if CYTHON_USE_TYPE_SLOTS
+  m = Py_TYPE(x)->tp_as_number;
+  #if PY_MAJOR_VERSION < 3
+  if (m && m->nb_int) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  else if (m && m->nb_long) {
+    name = "long";
+    res = m->nb_long(x);
+  }
+  #else
+  if (likely(m && m->nb_int)) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  #endif
+#else
+  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
+    res = PyNumber_Int(x);
+  }
+#endif
+  if (likely(res)) {
+#if PY_MAJOR_VERSION < 3
+    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
+#else
+    if (unlikely(!PyLong_CheckExact(res))) {
+#endif
+        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
+    }
+  }
+  else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_TypeError,
+                    "an integer is required");
+  }
+  return res;
+}
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
+  Py_ssize_t ival;
+  PyObject *x;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_CheckExact(b))) {
+    if (sizeof(Py_ssize_t) >= sizeof(long))
+        return PyInt_AS_LONG(b);
+    else
+        return PyInt_AsSsize_t(b);
+  }
+#endif
+  if (likely(PyLong_CheckExact(b))) {
+    #if CYTHON_USE_PYLONG_INTERNALS
+    const digit* digits = ((PyLongObject*)b)->ob_digit;
+    const Py_ssize_t size = Py_SIZE(b);
+    if (likely(__Pyx_sst_abs(size) <= 1)) {
+        ival = likely(size) ? digits[0] : 0;
+        if (size == -1) ival = -ival;
+        return ival;
+    } else {
+      switch (size) {
+         case 2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+      }
+    }
+    #endif
+    return PyLong_AsSsize_t(b);
+  }
+  x = PyNumber_Index(b);
+  if (!x) return -1;
+  ival = PyInt_AsSsize_t(x);
+  Py_DECREF(x);
+  return ival;
+}
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
+  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
+    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
+#if PY_MAJOR_VERSION < 3
+  } else if (likely(PyInt_CheckExact(o))) {
+    return PyInt_AS_LONG(o);
+#endif
+  } else {
+    Py_ssize_t ival;
+    PyObject *x;
+    x = PyNumber_Index(o);
+    if (!x) return -1;
+    ival = PyInt_AsLong(x);
+    Py_DECREF(x);
+    return ival;
+  }
+}
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
+  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
+}
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
+    return PyInt_FromSize_t(ival);
+}
+
+
+#endif /* Py_PYTHON_H */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/runpy.sh
@@ -0,0 +1,19 @@
+#!bash
+set -ex
+echo runpy $*
+pyexe=$1
+mingw=
+shift
+export LDCSHARED="/usr/bin/cc -shared"
+export LDCXXSHARED="/usr/bin/c++ -shared"
+export SETUPTOOLS_USE_DISTUTILS=stdlib
+if test x$mingw = x1 ; then
+  pyver=`$pyexe -c 'import sys; print (sys.version_info[0]); quit()'`
+  echo pyver=$pyver
+  if test x$pyver = x3 ; then # python3.x builds with msvc
+    . /home/debian-build/wuruilong/demo/neuron-8.2.2/mingw_files/vcenv.sh
+    $pyexe setup.py build_ext --build-lib=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python
+  fi
+else #mac/linux does not need anything special
+  $pyexe setup.py build_ext --build-lib=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python
+fi
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/setup.py
@@ -0,0 +1,93 @@
+# run with
+# python setup.py build_ext --inplace
+
+import sys
+nrn_srcdir = "/home/debian-build/wuruilong/demo/neuron-8.2.2"
+#using_pgi=True
+using_pgi=False
+#mingw = 1
+mingw = 0
+instdir = "/usr"
+if nrn_srcdir[0] == '/' or (len(nrn_srcdir) > 2 and nrn_srcdir[1] == ':'):
+    pass
+else: # not an absolute path
+    # TODO: is this right?
+    nrn_srcdir = '../../../../../../' + nrn_srcdir
+
+pgi_compiler_flags = "-noswitcherror"
+
+from distutils.core import setup
+from distutils.extension import Extension
+
+def have_vc():
+    if not mingw:
+        return False
+    import traceback
+    try:
+        from distutils import spawn
+        x = spawn.find_executable("cl")
+        x = True if x is not None and "Microsoft" in x else False
+    except:
+        traceback.print_exc()
+        x = False
+    return x
+
+try:
+    import numpy
+except:
+    setup()
+else:
+    olevel = "0"
+    use_vc = have_vc()
+    if mingw and sys.version_info[0] == 3:
+      use_vc = True
+    if use_vc:
+        mpicc_bin = 'cl'
+        mpicxx_bin = 'cl'
+        if olevel == '0' and sys.version_info[0] == 3:
+          olevel = 'd'
+    else:
+        mpicc_bin = "/usr/bin/cc"
+        mpicxx_bin = "/usr/bin/c++"
+    print (mpicxx_bin)
+    import os
+    os.environ["CC"]=mpicc_bin
+    os.environ["CXX"]=mpicxx_bin
+
+    define_macros=[]
+
+    extra_compile_args = []
+    extra_link_args = []
+    if olevel != "":
+        extra_compile_args.append('-O' + olevel)
+    if using_pgi:
+        extra_compile_args.append(pgi_compiler_flags)
+
+    include_dirs = [nrn_srcdir + '/share/lib/python/neuron/rxd/geometry3d', '.', numpy.get_include()]
+
+    srcdir = nrn_srcdir + '/share/lib/python/neuron/rxd/geometry3d/'
+
+    #    name='neuron/rxd/geometry3d',
+    setup(
+        ext_modules = [
+                       Extension("neuron.rxd.geometry3d.graphicsPrimitives",
+                                 sources=["graphicsPrimitives.cpp"],
+                                 define_macros=define_macros,
+                                 extra_compile_args=extra_compile_args,
+                                 extra_link_args=extra_link_args,
+                                 include_dirs=include_dirs),
+                       Extension("neuron.rxd.geometry3d.ctng",
+                                 sources=["ctng.cpp"],
+                                 define_macros=define_macros,
+                                 extra_compile_args=extra_compile_args,
+                                 extra_link_args=extra_link_args,
+                                 include_dirs=include_dirs),
+                       Extension("neuron.rxd.geometry3d.surfaces",
+                                 sources=["surfaces.cpp", nrn_srcdir + "/src/nrnpython/rxd_marching_cubes.cpp", nrn_srcdir + "/src/nrnpython/rxd_llgramarea.cpp"],
+                                 define_macros=define_macros,
+                                 extra_compile_args=extra_compile_args,
+                                 extra_link_args=extra_link_args,
+                                 include_dirs=include_dirs)],
+    )
+    #    package_dir = {'': instdir + '/share/lib/python/neuron/rxd/geometry3d'}
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python/neuron/rxd/geometry3d/surfaces.cpp
@@ -0,0 +1,22143 @@
+/* Generated by Cython 0.29.36 */
+
+#ifndef PY_SSIZE_T_CLEAN
+#define PY_SSIZE_T_CLEAN
+#endif /* PY_SSIZE_T_CLEAN */
+#include "Python.h"
+#ifndef Py_PYTHON_H
+    #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
+    #error Cython requires Python 2.6+ or Python 3.3+.
+#else
+#define CYTHON_ABI "0_29_36"
+#define CYTHON_HEX_VERSION 0x001D24F0
+#define CYTHON_FUTURE_DIVISION 0
+#include <stddef.h>
+#ifndef offsetof
+  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
+#endif
+#if !defined(WIN32) && !defined(MS_WINDOWS)
+  #ifndef __stdcall
+    #define __stdcall
+  #endif
+  #ifndef __cdecl
+    #define __cdecl
+  #endif
+  #ifndef __fastcall
+    #define __fastcall
+  #endif
+#endif
+#ifndef DL_IMPORT
+  #define DL_IMPORT(t) t
+#endif
+#ifndef DL_EXPORT
+  #define DL_EXPORT(t) t
+#endif
+#define __PYX_COMMA ,
+#ifndef HAVE_LONG_LONG
+  #if PY_VERSION_HEX >= 0x02070000
+    #define HAVE_LONG_LONG
+  #endif
+#endif
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+#ifndef Py_HUGE_VAL
+  #define Py_HUGE_VAL HUGE_VAL
+#endif
+#ifdef PYPY_VERSION
+  #define CYTHON_COMPILING_IN_PYPY 1
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #undef CYTHON_USE_TYPE_SLOTS
+  #define CYTHON_USE_TYPE_SLOTS 0
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #if PY_VERSION_HEX < 0x03050000
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_INTERNALS
+  #define CYTHON_USE_UNICODE_INTERNALS 0
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #undef CYTHON_AVOID_BORROWED_REFS
+  #define CYTHON_AVOID_BORROWED_REFS 1
+  #undef CYTHON_ASSUME_SAFE_MACROS
+  #define CYTHON_ASSUME_SAFE_MACROS 0
+  #undef CYTHON_UNPACK_METHODS
+  #define CYTHON_UNPACK_METHODS 0
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #if PY_VERSION_HEX < 0x03090000
+    #undef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PYSTON_VERSION)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 1
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #undef CYTHON_USE_ASYNC_SLOTS
+  #define CYTHON_USE_ASYNC_SLOTS 0
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #undef CYTHON_PEP489_MULTI_PHASE_INIT
+  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE 0
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
+  #endif
+#elif defined(PY_NOGIL)
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 0
+  #define CYTHON_COMPILING_IN_NOGIL 1
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYTYPE_LOOKUP
+  #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #ifndef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #undef CYTHON_USE_PYLIST_INTERNALS
+  #define CYTHON_USE_PYLIST_INTERNALS 0
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #undef CYTHON_USE_UNICODE_WRITER
+  #define CYTHON_USE_UNICODE_WRITER 0
+  #undef CYTHON_USE_PYLONG_INTERNALS
+  #define CYTHON_USE_PYLONG_INTERNALS 0
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #undef CYTHON_FAST_THREAD_STATE
+  #define CYTHON_FAST_THREAD_STATE 0
+  #undef CYTHON_FAST_PYCALL
+  #define CYTHON_FAST_PYCALL 0
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE 1
+  #endif
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
+#else
+  #define CYTHON_COMPILING_IN_PYPY 0
+  #define CYTHON_COMPILING_IN_PYSTON 0
+  #define CYTHON_COMPILING_IN_CPYTHON 1
+  #define CYTHON_COMPILING_IN_NOGIL 0
+  #ifndef CYTHON_USE_TYPE_SLOTS
+    #define CYTHON_USE_TYPE_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYTYPE_LOOKUP
+    #define CYTHON_USE_PYTYPE_LOOKUP 0
+  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
+    #define CYTHON_USE_PYTYPE_LOOKUP 1
+  #endif
+  #if PY_MAJOR_VERSION < 3
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
+  #if PY_VERSION_HEX < 0x02070000
+    #undef CYTHON_USE_PYLONG_INTERNALS
+    #define CYTHON_USE_PYLONG_INTERNALS 0
+  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
+    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
+  #endif
+  #ifndef CYTHON_USE_PYLIST_INTERNALS
+    #define CYTHON_USE_PYLIST_INTERNALS 1
+  #endif
+  #ifndef CYTHON_USE_UNICODE_INTERNALS
+    #define CYTHON_USE_UNICODE_INTERNALS 1
+  #endif
+  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
+    #undef CYTHON_USE_UNICODE_WRITER
+    #define CYTHON_USE_UNICODE_WRITER 0
+  #elif !defined(CYTHON_USE_UNICODE_WRITER)
+    #define CYTHON_USE_UNICODE_WRITER 1
+  #endif
+  #ifndef CYTHON_AVOID_BORROWED_REFS
+    #define CYTHON_AVOID_BORROWED_REFS 0
+  #endif
+  #ifndef CYTHON_ASSUME_SAFE_MACROS
+    #define CYTHON_ASSUME_SAFE_MACROS 1
+  #endif
+  #ifndef CYTHON_UNPACK_METHODS
+    #define CYTHON_UNPACK_METHODS 1
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_FAST_THREAD_STATE
+    #define CYTHON_FAST_THREAD_STATE 0
+  #elif !defined(CYTHON_FAST_THREAD_STATE)
+    #define CYTHON_FAST_THREAD_STATE 1
+  #endif
+  #ifndef CYTHON_FAST_PYCALL
+    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
+  #endif
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
+  #endif
+  #ifndef CYTHON_USE_DICT_VERSIONS
+    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
+  #endif
+  #if PY_VERSION_HEX >= 0x030B00A4
+    #undef CYTHON_USE_EXC_INFO_STACK
+    #define CYTHON_USE_EXC_INFO_STACK 0
+  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
+    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
+  #endif
+  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
+    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
+  #endif
+#endif
+#if !defined(CYTHON_FAST_PYCCALL)
+#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
+#endif
+#if CYTHON_USE_PYLONG_INTERNALS
+  #if PY_MAJOR_VERSION < 3
+    #include "longintrepr.h"
+  #endif
+  #undef SHIFT
+  #undef BASE
+  #undef MASK
+  #ifdef SIZEOF_VOID_P
+    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
+  #endif
+#endif
+#ifndef __has_attribute
+  #define __has_attribute(x) 0
+#endif
+#ifndef __has_cpp_attribute
+  #define __has_cpp_attribute(x) 0
+#endif
+#ifndef CYTHON_RESTRICT
+  #if defined(__GNUC__)
+    #define CYTHON_RESTRICT __restrict__
+  #elif defined(_MSC_VER) && _MSC_VER >= 1400
+    #define CYTHON_RESTRICT __restrict
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_RESTRICT restrict
+  #else
+    #define CYTHON_RESTRICT
+  #endif
+#endif
+#ifndef CYTHON_UNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define CYTHON_UNUSED __attribute__ ((__unused__))
+#   else
+#     define CYTHON_UNUSED
+#   endif
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
+#   define CYTHON_UNUSED __attribute__ ((__unused__))
+# else
+#   define CYTHON_UNUSED
+# endif
+#endif
+#ifndef CYTHON_MAYBE_UNUSED_VAR
+#  if defined(__cplusplus)
+     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
+#  else
+#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
+#  endif
+#endif
+#ifndef CYTHON_NCP_UNUSED
+# if CYTHON_COMPILING_IN_CPYTHON
+#  define CYTHON_NCP_UNUSED
+# else
+#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
+# endif
+#endif
+#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
+#ifdef _MSC_VER
+    #ifndef _MSC_STDINT_H_
+        #if _MSC_VER < 1300
+           typedef unsigned char     uint8_t;
+           typedef unsigned int      uint32_t;
+        #else
+           typedef unsigned __int8   uint8_t;
+           typedef unsigned __int32  uint32_t;
+        #endif
+    #endif
+#else
+   #include <stdint.h>
+#endif
+#ifndef CYTHON_FALLTHROUGH
+  #if defined(__cplusplus) && __cplusplus >= 201103L
+    #if __has_cpp_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH [[fallthrough]]
+    #elif __has_cpp_attribute(clang::fallthrough)
+      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
+    #elif __has_cpp_attribute(gnu::fallthrough)
+      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
+    #endif
+  #endif
+  #ifndef CYTHON_FALLTHROUGH
+    #if __has_attribute(fallthrough)
+      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
+    #else
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+  #if defined(__clang__ ) && defined(__apple_build_version__)
+    #if __apple_build_version__ < 7000000
+      #undef  CYTHON_FALLTHROUGH
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
+#endif
+
+#ifndef CYTHON_INLINE
+  #if defined(__clang__)
+    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
+  #elif defined(__GNUC__)
+    #define CYTHON_INLINE __inline__
+  #elif defined(_MSC_VER)
+    #define CYTHON_INLINE __inline
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_INLINE inline
+  #else
+    #define CYTHON_INLINE
+  #endif
+#endif
+
+#define __PYX_BUILD_PY_SSIZE_T "n"
+#define CYTHON_FORMAT_SSIZE_T "z"
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+  #define __Pyx_DefaultClassType PyClass_Type
+#else
+  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_DefaultClassType PyType_Type
+#if PY_VERSION_HEX >= 0x030B00A1
+    static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
+                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
+                                                    PyObject *fv, PyObject *cell, PyObject* fn,
+                                                    PyObject *name, int fline, PyObject *lnos) {
+        PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
+        PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
+        const char *fn_cstr=NULL;
+        const char *name_cstr=NULL;
+        PyCodeObject* co=NULL;
+        PyObject *type, *value, *traceback;
+        PyErr_Fetch(&type, &value, &traceback);
+        if (!(kwds=PyDict_New())) goto end;
+        if (!(argcount=PyLong_FromLong(a))) goto end;
+        if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
+        if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
+        if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
+        if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
+        if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
+        if (!(nlocals=PyLong_FromLong(l))) goto end;
+        if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
+        if (!(stacksize=PyLong_FromLong(s))) goto end;
+        if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
+        if (!(flags=PyLong_FromLong(f))) goto end;
+        if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
+        if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
+        if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
+        if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
+        if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
+        if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
+        if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
+        if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
+        Py_XDECREF((PyObject*)co);
+        co = (PyCodeObject*)call_result;
+        call_result = NULL;
+        if (0) {
+            cleanup_code_too:
+            Py_XDECREF((PyObject*)co);
+            co = NULL;
+        }
+        end:
+        Py_XDECREF(kwds);
+        Py_XDECREF(argcount);
+        Py_XDECREF(posonlyargcount);
+        Py_XDECREF(kwonlyargcount);
+        Py_XDECREF(nlocals);
+        Py_XDECREF(stacksize);
+        Py_XDECREF(replace);
+        Py_XDECREF(call_result);
+        Py_XDECREF(empty);
+        if (type) {
+            PyErr_Restore(type, value, traceback);
+        }
+        return co;
+    }
+#else
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#endif
+  #define __Pyx_DefaultClassType PyType_Type
+#endif
+#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
+#else
+  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
+#endif
+#ifndef Py_TPFLAGS_CHECKTYPES
+  #define Py_TPFLAGS_CHECKTYPES 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_INDEX
+  #define Py_TPFLAGS_HAVE_INDEX 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
+  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#endif
+#ifndef Py_TPFLAGS_HAVE_FINALIZE
+  #define Py_TPFLAGS_HAVE_FINALIZE 0
+#endif
+#ifndef METH_STACKLESS
+  #define METH_STACKLESS 0
+#endif
+#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
+  #ifndef METH_FASTCALL
+     #define METH_FASTCALL 0x80
+  #endif
+  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
+  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
+                                                          Py_ssize_t nargs, PyObject *kwnames);
+#else
+  #define __Pyx_PyCFunctionFast _PyCFunctionFast
+  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
+#endif
+#if CYTHON_FAST_PYCCALL
+#define __Pyx_PyFastCFunction_Check(func)\
+    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
+#else
+#define __Pyx_PyFastCFunction_Check(func) 0
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
+  #define PyObject_Malloc(s)   PyMem_Malloc(s)
+  #define PyObject_Free(p)     PyMem_Free(p)
+  #define PyObject_Realloc(p)  PyMem_Realloc(p)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
+  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
+  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
+  #define PyMem_RawFree(p)             PyMem_Free(p)
+#endif
+#if CYTHON_COMPILING_IN_PYSTON
+  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
+#else
+  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
+  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
+#endif
+#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x03060000
+  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
+#elif PY_VERSION_HEX >= 0x03000000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#else
+  #define __Pyx_PyThreadState_Current _PyThreadState_Current
+#endif
+#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
+#include "pythread.h"
+#define Py_tss_NEEDS_INIT 0
+typedef int Py_tss_t;
+static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
+  *key = PyThread_create_key();
+  return 0;
+}
+static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
+  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
+  *key = Py_tss_NEEDS_INIT;
+  return key;
+}
+static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
+  PyObject_Free(key);
+}
+static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
+  return *key != Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
+  PyThread_delete_key(*key);
+  *key = Py_tss_NEEDS_INIT;
+}
+static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
+  return PyThread_set_key_value(*key, value);
+}
+static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
+  return PyThread_get_key_value(*key);
+}
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
+#else
+#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
+#endif
+#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
+#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
+#else
+#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
+#endif
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
+  #define CYTHON_PEP393_ENABLED 1
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_READY(op)       (0)
+  #else
+    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
+                                                0 : _PyUnicode_Ready((PyObject *)(op)))
+  #endif
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
+  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
+  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
+  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
+  #if PY_VERSION_HEX >= 0x030C0000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
+  #else
+    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
+    #else
+    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
+    #endif
+  #endif
+#else
+  #define CYTHON_PEP393_ENABLED 0
+  #define PyUnicode_1BYTE_KIND  1
+  #define PyUnicode_2BYTE_KIND  2
+  #define PyUnicode_4BYTE_KIND  4
+  #define __Pyx_PyUnicode_READY(op)       (0)
+  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
+  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
+  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
+  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
+  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
+  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
+#endif
+#if CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+#else
+  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
+  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
+      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
+  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
+  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
+#endif
+#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
+  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
+#endif
+#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
+#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
+#else
+  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
+#endif
+#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
+  #define PyObject_ASCII(o)            PyObject_Repr(o)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBaseString_Type            PyUnicode_Type
+  #define PyStringObject               PyUnicodeObject
+  #define PyString_Type                PyUnicode_Type
+  #define PyString_Check               PyUnicode_Check
+  #define PyString_CheckExact          PyUnicode_CheckExact
+#ifndef PyObject_Unicode
+  #define PyObject_Unicode             PyObject_Str
+#endif
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
+  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
+#else
+  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
+  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
+#endif
+#ifndef PySet_CheckExact
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
+#endif
+#if PY_VERSION_HEX >= 0x030900A4
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
+#else
+  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
+  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
+#endif
+#if CYTHON_ASSUME_SAFE_MACROS
+  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
+#else
+  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyIntObject                  PyLongObject
+  #define PyInt_Type                   PyLong_Type
+  #define PyInt_Check(op)              PyLong_Check(op)
+  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
+  #define PyInt_FromString             PyLong_FromString
+  #define PyInt_FromUnicode            PyLong_FromUnicode
+  #define PyInt_FromLong               PyLong_FromLong
+  #define PyInt_FromSize_t             PyLong_FromSize_t
+  #define PyInt_FromSsize_t            PyLong_FromSsize_t
+  #define PyInt_AsLong                 PyLong_AsLong
+  #define PyInt_AS_LONG                PyLong_AS_LONG
+  #define PyInt_AsSsize_t              PyLong_AsSsize_t
+  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
+  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+  #define PyNumber_Int                 PyNumber_Long
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define PyBoolObject                 PyLongObject
+#endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
+#if PY_VERSION_HEX < 0x030200A4
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
+#endif
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
+#endif
+#if CYTHON_USE_ASYNC_SLOTS
+  #if PY_VERSION_HEX >= 0x030500B1
+    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
+    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
+  #else
+    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
+  #endif
+#else
+  #define __Pyx_PyType_AsAsync(obj) NULL
+#endif
+#ifndef __Pyx_PyAsyncMethodsStruct
+    typedef struct {
+        unaryfunc am_await;
+        unaryfunc am_aiter;
+        unaryfunc am_anext;
+    } __Pyx_PyAsyncMethodsStruct;
+#endif
+
+#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
+  #if !defined(_USE_MATH_DEFINES)
+    #define _USE_MATH_DEFINES
+  #endif
+#endif
+#include <math.h>
+#ifdef NAN
+#define __PYX_NAN() ((float) NAN)
+#else
+static CYTHON_INLINE float __PYX_NAN() {
+  float value;
+  memset(&value, 0xFF, sizeof(value));
+  return value;
+}
+#endif
+#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
+#define __Pyx_truncl trunc
+#else
+#define __Pyx_truncl truncl
+#endif
+
+#define __PYX_MARK_ERR_POS(f_index, lineno) \
+    { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
+#define __PYX_ERR(f_index, lineno, Ln_error) \
+    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
+
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
+#endif
+
+#define __PYX_HAVE__neuron__rxd__geometry3d__surfaces
+#define __PYX_HAVE_API__neuron__rxd__geometry3d__surfaces
+/* Early includes */
+#include <string.h>
+#include <stdio.h>
+#include "numpy/arrayobject.h"
+#include "numpy/ufuncobject.h"
+#include "math.h"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
+
+#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
+#define CYTHON_WITHOUT_ASSERTIONS
+#endif
+
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
+                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
+
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
+#define __PYX_DEFAULT_STRING_ENCODING ""
+#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#define __Pyx_uchar_cast(c) ((unsigned char)c)
+#define __Pyx_long_cast(x) ((long)x)
+#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
+    (sizeof(type) < sizeof(Py_ssize_t))  ||\
+    (sizeof(type) > sizeof(Py_ssize_t) &&\
+          likely(v < (type)PY_SSIZE_T_MAX ||\
+                 v == (type)PY_SSIZE_T_MAX)  &&\
+          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
+                                v == (type)PY_SSIZE_T_MIN)))  ||\
+    (sizeof(type) == sizeof(Py_ssize_t) &&\
+          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
+                               v == (type)PY_SSIZE_T_MAX)))  )
+static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
+    return (size_t) i < (size_t) limit;
+}
+#if defined (__cplusplus) && __cplusplus >= 201103L
+    #include <cstdlib>
+    #define __Pyx_sst_abs(value) std::abs(value)
+#elif SIZEOF_INT >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) abs(value)
+#elif SIZEOF_LONG >= SIZEOF_SIZE_T
+    #define __Pyx_sst_abs(value) labs(value)
+#elif defined (_MSC_VER)
+    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
+#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define __Pyx_sst_abs(value) llabs(value)
+#elif defined (__GNUC__)
+    #define __Pyx_sst_abs(value) __builtin_llabs(value)
+#else
+    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
+#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
+#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
+#define __Pyx_PyBytes_FromString        PyBytes_FromString
+#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
+#if PY_MAJOR_VERSION < 3
+    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
+#else
+    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
+    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
+#endif
+#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
+#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
+#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
+#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
+#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
+#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
+    const Py_UNICODE *u_end = u;
+    while (*u_end++) ;
+    return (size_t)(u_end - u - 1);
+}
+#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
+#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
+#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
+#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
+#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
+#define __Pyx_PySequence_Tuple(obj)\
+    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
+#if CYTHON_ASSUME_SAFE_MACROS
+#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
+#else
+#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
+#endif
+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
+#if PY_MAJOR_VERSION >= 3
+#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
+#else
+#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
+#endif
+#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+static int __Pyx_sys_getdefaultencoding_not_ascii;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    PyObject* ascii_chars_u = NULL;
+    PyObject* ascii_chars_b = NULL;
+    const char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    if (strcmp(default_encoding_c, "ascii") == 0) {
+        __Pyx_sys_getdefaultencoding_not_ascii = 0;
+    } else {
+        char ascii_chars[128];
+        int c;
+        for (c = 0; c < 128; c++) {
+            ascii_chars[c] = c;
+        }
+        __Pyx_sys_getdefaultencoding_not_ascii = 1;
+        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
+        if (!ascii_chars_u) goto bad;
+        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
+        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
+            PyErr_Format(
+                PyExc_ValueError,
+                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
+                default_encoding_c);
+            goto bad;
+        }
+        Py_DECREF(ascii_chars_u);
+        Py_DECREF(ascii_chars_b);
+    }
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    Py_XDECREF(ascii_chars_u);
+    Py_XDECREF(ascii_chars_b);
+    return -1;
+}
+#endif
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
+#else
+#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
+#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+static char* __PYX_DEFAULT_STRING_ENCODING;
+static int __Pyx_init_sys_getdefaultencoding_params(void) {
+    PyObject* sys;
+    PyObject* default_encoding = NULL;
+    char* default_encoding_c;
+    sys = PyImport_ImportModule("sys");
+    if (!sys) goto bad;
+    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
+    Py_DECREF(sys);
+    if (!default_encoding) goto bad;
+    default_encoding_c = PyBytes_AsString(default_encoding);
+    if (!default_encoding_c) goto bad;
+    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
+    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
+    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
+    Py_DECREF(default_encoding);
+    return 0;
+bad:
+    Py_XDECREF(default_encoding);
+    return -1;
+}
+#endif
+#endif
+
+
+/* Test for GCC > 2.95 */
+#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
+  #define likely(x)   __builtin_expect(!!(x), 1)
+  #define unlikely(x) __builtin_expect(!!(x), 0)
+#else /* !__GNUC__ or GCC < 2.95 */
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
+#endif /* __GNUC__ */
+static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
+
+static PyObject *__pyx_m = NULL;
+static PyObject *__pyx_d;
+static PyObject *__pyx_b;
+static PyObject *__pyx_cython_runtime = NULL;
+static PyObject *__pyx_empty_tuple;
+static PyObject *__pyx_empty_bytes;
+static PyObject *__pyx_empty_unicode;
+static int __pyx_lineno;
+static int __pyx_clineno = 0;
+static const char * __pyx_cfilenm= __FILE__;
+static const char *__pyx_filename;
+
+/* Header.proto */
+#if !defined(CYTHON_CCOMPLEX)
+  #if defined(__cplusplus)
+    #define CYTHON_CCOMPLEX 1
+  #elif defined(_Complex_I)
+    #define CYTHON_CCOMPLEX 1
+  #else
+    #define CYTHON_CCOMPLEX 0
+  #endif
+#endif
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #include <complex>
+  #else
+    #include <complex.h>
+  #endif
+#endif
+#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
+  #undef _Complex_I
+  #define _Complex_I 1.0fj
+#endif
+
+
+static const char *__pyx_f[] = {
+  "surfaces.pyx",
+  "__init__.pxd",
+  "type.pxd",
+};
+/* BufferFormatStructs.proto */
+#define IS_UNSIGNED(type) (((type) -1) > 0)
+struct __Pyx_StructField_;
+#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
+typedef struct {
+  const char* name;
+  struct __Pyx_StructField_* fields;
+  size_t size;
+  size_t arraysize[8];
+  int ndim;
+  char typegroup;
+  char is_unsigned;
+  int flags;
+} __Pyx_TypeInfo;
+typedef struct __Pyx_StructField_ {
+  __Pyx_TypeInfo* type;
+  const char* name;
+  size_t offset;
+} __Pyx_StructField;
+typedef struct {
+  __Pyx_StructField* field;
+  size_t parent_offset;
+} __Pyx_BufFmt_StackElem;
+typedef struct {
+  __Pyx_StructField root;
+  __Pyx_BufFmt_StackElem* head;
+  size_t fmt_offset;
+  size_t new_count, enc_count;
+  size_t struct_alignment;
+  int is_complex;
+  char enc_type;
+  char new_packmode;
+  char enc_packmode;
+  char is_valid_array;
+} __Pyx_BufFmt_Context;
+
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":775
+ * # in Cython to enable them only on the right systems.
+ * 
+ * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ */
+typedef npy_int8 __pyx_t_5numpy_int8_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":776
+ * 
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t
+ */
+typedef npy_int16 __pyx_t_5numpy_int16_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":777
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int64      int64_t
+ * #ctypedef npy_int96      int96_t
+ */
+typedef npy_int32 __pyx_t_5numpy_int32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":778
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_int96      int96_t
+ * #ctypedef npy_int128     int128_t
+ */
+typedef npy_int64 __pyx_t_5numpy_int64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":782
+ * #ctypedef npy_int128     int128_t
+ * 
+ * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ */
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":783
+ * 
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t
+ */
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":784
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint64     uint64_t
+ * #ctypedef npy_uint96     uint96_t
+ */
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":785
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_uint96     uint96_t
+ * #ctypedef npy_uint128    uint128_t
+ */
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":789
+ * #ctypedef npy_uint128    uint128_t
+ * 
+ * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_float64    float64_t
+ * #ctypedef npy_float80    float80_t
+ */
+typedef npy_float32 __pyx_t_5numpy_float32_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":790
+ * 
+ * ctypedef npy_float32    float32_t
+ * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_float80    float80_t
+ * #ctypedef npy_float128   float128_t
+ */
+typedef npy_float64 __pyx_t_5numpy_float64_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":799
+ * # The int types are mapped a bit surprising --
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t
+ */
+typedef npy_long __pyx_t_5numpy_int_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":800
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   longlong_t
+ * 
+ */
+typedef npy_longlong __pyx_t_5numpy_long_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":801
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_ulong      uint_t
+ */
+typedef npy_longlong __pyx_t_5numpy_longlong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":803
+ * ctypedef npy_longlong   longlong_t
+ * 
+ * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t
+ */
+typedef npy_ulong __pyx_t_5numpy_uint_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":804
+ * 
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":805
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_intp       intp_t
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":807
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uintp      uintp_t
+ * 
+ */
+typedef npy_intp __pyx_t_5numpy_intp_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":808
+ * 
+ * ctypedef npy_intp       intp_t
+ * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_double     float_t
+ */
+typedef npy_uintp __pyx_t_5numpy_uintp_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":810
+ * ctypedef npy_uintp      uintp_t
+ * 
+ * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t
+ */
+typedef npy_double __pyx_t_5numpy_float_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":811
+ * 
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ */
+typedef npy_double __pyx_t_5numpy_double_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":812
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ */
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
+/* Declarations.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< float > __pyx_t_float_complex;
+  #else
+    typedef float _Complex __pyx_t_float_complex;
+  #endif
+#else
+    typedef struct { float real, imag; } __pyx_t_float_complex;
+#endif
+static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
+
+/* Declarations.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< double > __pyx_t_double_complex;
+  #else
+    typedef double _Complex __pyx_t_double_complex;
+  #endif
+#else
+    typedef struct { double real, imag; } __pyx_t_double_complex;
+#endif
+static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
+
+
+/*--- Type declarations ---*/
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":814
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t
+ */
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":815
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ */
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":816
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cdouble     complex_t
+ */
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":818
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ */
+typedef npy_cdouble __pyx_t_5numpy_complex_t;
+
+/* --- Runtime support code (head) --- */
+/* Refnanny.proto */
+#ifndef CYTHON_REFNANNY
+  #define CYTHON_REFNANNY 0
+#endif
+#if CYTHON_REFNANNY
+  typedef struct {
+    void (*INCREF)(void*, PyObject*, int);
+    void (*DECREF)(void*, PyObject*, int);
+    void (*GOTREF)(void*, PyObject*, int);
+    void (*GIVEREF)(void*, PyObject*, int);
+    void* (*SetupContext)(const char*, int, const char*);
+    void (*FinishContext)(void**);
+  } __Pyx_RefNannyAPIStruct;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+#ifdef WITH_THREAD
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          if (acquire_gil) {\
+              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+              PyGILState_Release(__pyx_gilstate_save);\
+          } else {\
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
+          }
+#else
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
+          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+#endif
+  #define __Pyx_RefNannyFinishContext()\
+          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
+#else
+  #define __Pyx_RefNannyDeclarations
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)
+  #define __Pyx_RefNannyFinishContext()
+  #define __Pyx_INCREF(r) Py_INCREF(r)
+  #define __Pyx_DECREF(r) Py_DECREF(r)
+  #define __Pyx_GOTREF(r)
+  #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
+  #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
+#endif
+#define __Pyx_XDECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_XDECREF(tmp);\
+    } while (0)
+#define __Pyx_DECREF_SET(r, v) do {\
+        PyObject *tmp = (PyObject *) r;\
+        r = v; __Pyx_DECREF(tmp);\
+    } while (0)
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
+
+/* PyObjectGetAttrStr.proto */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
+#else
+#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
+#endif
+
+/* GetBuiltinName.proto */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name);
+
+/* RaiseArgTupleInvalid.proto */
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
+
+/* RaiseDoubleKeywords.proto */
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
+
+/* ParseKeywords.proto */
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
+    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
+    const char* function_name);
+
+/* PySequenceContains.proto */
+static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
+    int result = PySequence_Contains(seq, item);
+    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+/* ListAppend.proto */
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        __Pyx_SET_SIZE(list, len + 1);
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* PyCFunctionFastCall.proto */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
+#else
+#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
+#endif
+
+/* PyFunctionFastCall.proto */
+#if CYTHON_FAST_PYCALL
+#define __Pyx_PyFunction_FastCall(func, args, nargs)\
+    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
+#else
+#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
+#endif
+#define __Pyx_BUILD_ASSERT_EXPR(cond)\
+    (sizeof(char [1 - 2*!(cond)]) - 1)
+#ifndef Py_MEMBER_SIZE
+#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
+#endif
+#if CYTHON_FAST_PYCALL
+  static size_t __pyx_pyframe_localsplus_offset = 0;
+  #include "frameobject.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+  #define __Pxy_PyFrame_Initialize_Offsets()\
+    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
+     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
+  #define __Pyx_PyFrame_GetLocalsplus(frame)\
+    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
+#endif // CYTHON_FAST_PYCALL
+#endif
+
+/* PyObjectCall.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
+#else
+#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
+#endif
+
+/* PyObjectCall2Args.proto */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
+
+/* PyObjectCallMethO.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
+#endif
+
+/* PyObjectCallOneArg.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
+
+/* PyObjectGetMethod.proto */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
+
+/* PyObjectCallMethod1.proto */
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
+
+/* append.proto */
+static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);
+
+/* GetItemInt.proto */
+#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
+    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
+               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
+#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
+    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
+    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
+    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              int wraparound, int boundscheck);
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
+                                                     int is_list, int wraparound, int boundscheck);
+
+/* ObjectGetItem.proto */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
+#else
+#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
+#endif
+
+/* PyFloatBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyFloat_DivideObjC(op1, op2, floatval, inplace, zerodivision_check)\
+    ((inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2)))
+    #endif
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
+#endif
+
+/* SliceObject.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
+        PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
+        PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
+        int has_cstart, int has_cstop, int wraparound);
+
+/* ArgTypeTest.proto */
+#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
+    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
+        __Pyx__ArgTypeTest(obj, type, name, exact))
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
+
+/* IsLittleEndian.proto */
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);
+
+/* BufferFormatCheck.proto */
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+                              __Pyx_BufFmt_StackElem* stack,
+                              __Pyx_TypeInfo* type);
+
+/* BufferGetAndValidate.proto */
+#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\
+    ((obj == Py_None || obj == NULL) ?\
+    (__Pyx_ZeroBuffer(buf), 0) :\
+    __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack))
+static int  __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj,
+    __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
+static void __Pyx_ZeroBuffer(Py_buffer* buf);
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);
+static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 };
+static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+
+#define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0)
+/* ListCompAppend.proto */
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
+    PyListObject* L = (PyListObject*) list;
+    Py_ssize_t len = Py_SIZE(list);
+    if (likely(L->allocated > len)) {
+        Py_INCREF(x);
+        PyList_SET_ITEM(list, len, x);
+        __Pyx_SET_SIZE(list, len + 1);
+        return 0;
+    }
+    return PyList_Append(list, x);
+}
+#else
+#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
+#endif
+
+/* RaiseTooManyValuesToUnpack.proto */
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
+
+/* RaiseNeedMoreValuesToUnpack.proto */
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
+
+/* SliceTupleAndList.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
+#else
+#define __Pyx_PyList_GetSlice(seq, start, stop)   PySequence_GetSlice(seq, start, stop)
+#define __Pyx_PyTuple_GetSlice(seq, start, stop)  PySequence_GetSlice(seq, start, stop)
+#endif
+
+#define __Pyx_BufPtrStrided3d(type, buf, i0, s0, i1, s1, i2, s2) (type)((char*)buf + i0 * s0 + i1 * s1 + i2 * s2)
+/* PyThreadStateGet.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
+#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
+#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
+#else
+#define __Pyx_PyThreadState_declare
+#define __Pyx_PyThreadState_assign
+#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
+#endif
+
+/* PyErrFetchRestore.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
+#else
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#endif
+#else
+#define __Pyx_PyErr_Clear() PyErr_Clear()
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
+#endif
+
+/* PyDictVersioning.proto */
+#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
+#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
+    (version_var) = __PYX_GET_DICT_VERSION(dict);\
+    (cache_var) = (value);
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
+        (VAR) = __pyx_dict_cached_value;\
+    } else {\
+        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
+        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
+    }\
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
+#else
+#define __PYX_GET_DICT_VERSION(dict)  (0)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
+#endif
+
+/* GetModuleGlobalName.proto */
+#if CYTHON_USE_DICT_VERSIONS
+#define __Pyx_GetModuleGlobalName(var, name)  do {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
+        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
+        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
+    PY_UINT64_T __pyx_dict_version;\
+    PyObject *__pyx_dict_cached_value;\
+    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+} while(0)
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
+#else
+#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
+#endif
+
+/* ExtTypeTest.proto */
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
+
+/* IterFinish.proto */
+static CYTHON_INLINE int __Pyx_IterFinish(void);
+
+/* UnpackItemEndCheck.proto */
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
+
+/* DivInt[Py_ssize_t].proto */
+static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t);
+
+/* UnaryNegOverflows.proto */
+#define UNARY_NEG_WOULD_OVERFLOW(x)\
+        (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
+
+/* BufferFallbackError.proto */
+static void __Pyx_RaiseBufferFallbackError(void);
+
+/* PyObjectCallNoArg.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
+#else
+#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
+#endif
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
+#endif
+
+/* PyObjectCallMethod0.proto */
+static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
+
+/* pop.proto */
+static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L);
+#define __Pyx_PyObject_Pop(L) (likely(PyList_CheckExact(L)) ?\
+    __Pyx_PyList_Pop(L) : __Pyx__PyObject_Pop(L))
+#else
+#define __Pyx_PyList_Pop(L)  __Pyx__PyObject_Pop(L)
+#define __Pyx_PyObject_Pop(L)  __Pyx__PyObject_Pop(L)
+#endif
+
+/* UnpackUnboundCMethod.proto */
+typedef struct {
+    PyObject *type;
+    PyObject **method_name;
+    PyCFunction func;
+    PyObject *method;
+    int flag;
+} __Pyx_CachedCFunction;
+
+/* CallUnboundCMethod0.proto */
+static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_CallUnboundCMethod0(cfunc, self)\
+    (likely((cfunc)->func) ?\
+        (likely((cfunc)->flag == METH_NOARGS) ?  (*((cfunc)->func))(self, NULL) :\
+         (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
+            (PY_VERSION_HEX >= 0x030700A0 ?\
+                (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
+                (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
+          (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
+            (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
+            (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ?  ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
+               ((cfunc)->flag == METH_VARARGS ?  (*((cfunc)->func))(self, __pyx_empty_tuple) :\
+               __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
+        __Pyx__CallUnboundCMethod0(cfunc, self))
+#else
+#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
+#endif
+
+/* PyDictContains.proto */
+static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
+    int result = PyDict_Contains(dict, item);
+    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
+}
+
+/* RaiseNoneIterError.proto */
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
+
+/* py_dict_keys.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d);
+
+/* DivInt[int].proto */
+static CYTHON_INLINE int __Pyx_div_int(int, int);
+
+/* py_dict_values.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);
+
+/* DictGetItem.proto */
+#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
+#define __Pyx_PyObject_Dict_GetItem(obj, name)\
+    (likely(PyDict_CheckExact(obj)) ?\
+     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
+#else
+#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
+#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
+#endif
+
+/* WriteUnraisableException.proto */
+static void __Pyx_WriteUnraisable(const char *name, int clineno,
+                                  int lineno, const char *filename,
+                                  int full_traceback, int nogil);
+
+/* StringJoin.proto */
+#if PY_MAJOR_VERSION < 3
+#define __Pyx_PyString_Join __Pyx_PyBytes_Join
+#define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v))
+#else
+#define __Pyx_PyString_Join PyUnicode_Join
+#define __Pyx_PyBaseString_Join PyUnicode_Join
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON
+    #if PY_MAJOR_VERSION < 3
+    #define __Pyx_PyBytes_Join _PyString_Join
+    #else
+    #define __Pyx_PyBytes_Join _PyBytes_Join
+    #endif
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
+#endif
+
+/* RaiseException.proto */
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
+
+/* GetTopmostException.proto */
+#if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
+#endif
+
+/* SaveResetException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
+#else
+#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
+#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
+#endif
+
+/* PyErrExceptionMatches.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
+#else
+#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
+#endif
+
+/* GetException.proto */
+#if CYTHON_FAST_THREAD_STATE
+#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
+#endif
+
+/* TypeImport.proto */
+#ifndef __PYX_HAVE_RT_ImportType_proto_0_29_36
+#define __PYX_HAVE_RT_ImportType_proto_0_29_36
+#if __STDC_VERSION__ >= 201112L
+#include <stdalign.h>
+#endif
+#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
+#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) alignof(s)
+#else
+#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) sizeof(void*)
+#endif
+enum __Pyx_ImportType_CheckSize_0_29_36 {
+   __Pyx_ImportType_CheckSize_Error_0_29_36 = 0,
+   __Pyx_ImportType_CheckSize_Warn_0_29_36 = 1,
+   __Pyx_ImportType_CheckSize_Ignore_0_29_36 = 2
+};
+static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size);
+#endif
+
+/* Import.proto */
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
+
+/* PyIntBinop.proto */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
+#else
+#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\
+    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
+#endif
+
+/* CLineInTraceback.proto */
+#ifdef CYTHON_CLINE_IN_TRACEBACK
+#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
+#else
+static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
+#endif
+
+/* CodeObjectCache.proto */
+typedef struct {
+    PyCodeObject* code_object;
+    int code_line;
+} __Pyx_CodeObjectCacheEntry;
+struct __Pyx_CodeObjectCache {
+    int count;
+    int max_count;
+    __Pyx_CodeObjectCacheEntry* entries;
+};
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
+static PyCodeObject *__pyx_find_code_object(int code_line);
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+
+/* AddTraceback.proto */
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename);
+
+/* BufferStructDeclare.proto */
+typedef struct {
+  Py_ssize_t shape, strides, suboffsets;
+} __Pyx_Buf_DimInfo;
+typedef struct {
+  size_t refcount;
+  Py_buffer pybuffer;
+} __Pyx_Buffer;
+typedef struct {
+  __Pyx_Buffer *rcbuffer;
+  char *data;
+  __Pyx_Buf_DimInfo diminfo[8];
+} __Pyx_LocalBuf_ND;
+
+#if PY_MAJOR_VERSION < 3
+    static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
+    static void __Pyx_ReleaseBuffer(Py_buffer *view);
+#else
+    #define __Pyx_GetBuffer PyObject_GetBuffer
+    #define __Pyx_ReleaseBuffer PyBuffer_Release
+#endif
+
+
+/* GCCDiagnostics.proto */
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
+#define __Pyx_HAS_GCC_DIAGNOSTIC
+#endif
+
+/* Print.proto */
+static int __Pyx_Print(PyObject*, PyObject *, int);
+#if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
+static PyObject* __pyx_print = 0;
+static PyObject* __pyx_print_kwargs = 0;
+#endif
+
+/* RealImag.proto */
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #define __Pyx_CREAL(z) ((z).real())
+    #define __Pyx_CIMAG(z) ((z).imag())
+  #else
+    #define __Pyx_CREAL(z) (__real__(z))
+    #define __Pyx_CIMAG(z) (__imag__(z))
+  #endif
+#else
+    #define __Pyx_CREAL(z) ((z).real)
+    #define __Pyx_CIMAG(z) ((z).imag)
+#endif
+#if defined(__cplusplus) && CYTHON_CCOMPLEX\
+        && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
+    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
+    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
+#else
+    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
+    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
+#endif
+
+/* Arithmetic.proto */
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eq_float(a, b)   ((a)==(b))
+    #define __Pyx_c_sum_float(a, b)  ((a)+(b))
+    #define __Pyx_c_diff_float(a, b) ((a)-(b))
+    #define __Pyx_c_prod_float(a, b) ((a)*(b))
+    #define __Pyx_c_quot_float(a, b) ((a)/(b))
+    #define __Pyx_c_neg_float(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
+    #define __Pyx_c_conj_float(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_abs_float(z)     (::std::abs(z))
+        #define __Pyx_c_pow_float(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zero_float(z) ((z)==0)
+    #define __Pyx_c_conj_float(z)    (conjf(z))
+    #if 1
+        #define __Pyx_c_abs_float(z)     (cabsf(z))
+        #define __Pyx_c_pow_float(a, b)  (cpowf(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
+    #endif
+#endif
+
+/* Arithmetic.proto */
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eq_double(a, b)   ((a)==(b))
+    #define __Pyx_c_sum_double(a, b)  ((a)+(b))
+    #define __Pyx_c_diff_double(a, b) ((a)-(b))
+    #define __Pyx_c_prod_double(a, b) ((a)*(b))
+    #define __Pyx_c_quot_double(a, b) ((a)/(b))
+    #define __Pyx_c_neg_double(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
+    #define __Pyx_c_conj_double(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_abs_double(z)     (::std::abs(z))
+        #define __Pyx_c_pow_double(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zero_double(z) ((z)==0)
+    #define __Pyx_c_conj_double(z)    (conj(z))
+    #if 1
+        #define __Pyx_c_abs_double(z)     (cabs(z))
+        #define __Pyx_c_pow_double(a, b)  (cpow(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
+    #endif
+#endif
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
+/* PrintOne.proto */
+static int __Pyx_PrintOne(PyObject* stream, PyObject *o);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
+/* CIntFromPy.proto */
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+
+/* CIntToPy.proto */
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value);
+
+/* FastTypeChecks.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
+#else
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
+#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
+#endif
+#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
+
+/* CheckBinaryVersion.proto */
+static int __Pyx_check_binary_version(void);
+
+/* InitStrings.proto */
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
+
+
+/* Module declarations from 'cpython.buffer' */
+
+/* Module declarations from 'libc.string' */
+
+/* Module declarations from 'libc.stdio' */
+
+/* Module declarations from '__builtin__' */
+
+/* Module declarations from 'cpython.type' */
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
+
+/* Module declarations from 'cpython' */
+
+/* Module declarations from 'cpython.object' */
+
+/* Module declarations from 'cpython.ref' */
+
+/* Module declarations from 'cpython.mem' */
+
+/* Module declarations from 'numpy' */
+
+/* Module declarations from 'numpy' */
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
+
+/* Module declarations from 'cython' */
+
+/* Module declarations from 'neuron.rxd.geometry3d.surfaces' */
+static int __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_total_surface_tests;
+static int __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_corner_tests;
+__PYX_EXTERN_C DL_IMPORT(int) find_triangles(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double *); /*proto*/
+__PYX_EXTERN_C DL_IMPORT(double) llgramarea(double *, double *, double *); /*proto*/
+__PYX_EXTERN_C DL_IMPORT(double) llpipedfromoriginvolume(double *, double *, double *); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_append_with_deltas(PyObject *, int, int, int); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_chunkify(PyObject *, PyObject *, PyObject *, PyObject *, int, double, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_triangulate_surface(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces__triangulate_surface_given_chunks(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *, int, int, int, int, PyObject *, int __pyx_skip_dispatch); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_area(PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__tri_area(PyArrayObject *, int, int, int __pyx_skip_dispatch); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_volume(PyArrayObject *, int __pyx_skip_dispatch); /*proto*/
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 };
+#define __Pyx_MODULE_NAME "neuron.rxd.geometry3d.surfaces"
+extern int __pyx_module_is_main_neuron__rxd__geometry3d__surfaces;
+int __pyx_module_is_main_neuron__rxd__geometry3d__surfaces = 0;
+
+/* Implementation of 'neuron.rxd.geometry3d.surfaces' */
+static PyObject *__pyx_builtin_range;
+static PyObject *__pyx_builtin_min;
+static PyObject *__pyx_builtin_zip;
+static PyObject *__pyx_builtin_enumerate;
+static PyObject *__pyx_builtin_sum;
+static PyObject *__pyx_builtin_xrange;
+static PyObject *__pyx_builtin_ValueError;
+static PyObject *__pyx_builtin_RuntimeError;
+static PyObject *__pyx_builtin_ImportError;
+static const char __pyx_k_[] = ", ";
+static const char __pyx_k_d[] = "d";
+static const char __pyx_k_i[] = "i";
+static const char __pyx_k_j[] = "j";
+static const char __pyx_k_k[] = "k";
+static const char __pyx_k_p[] = "p";
+static const char __pyx_k_x[] = "x";
+static const char __pyx_k_y[] = "y";
+static const char __pyx_k_z[] = "z";
+static const char __pyx_k_dx[] = "dx";
+static const char __pyx_k_dy[] = "dy";
+static const char __pyx_k_dz[] = "dz";
+static const char __pyx_k_hi[] = "hi";
+static const char __pyx_k_i1[] = "i1";
+static const char __pyx_k_j1[] = "j1";
+static const char __pyx_k_k1[] = "k1";
+static const char __pyx_k_lo[] = "lo";
+static const char __pyx_k_nx[] = "nx";
+static const char __pyx_k_ny[] = "ny";
+static const char __pyx_k_nz[] = "nz";
+static const char __pyx_k_os[] = "os";
+static const char __pyx_k_pt[] = "pt";
+static const char __pyx_k_x0[] = "x0";
+static const char __pyx_k_x1[] = "x1";
+static const char __pyx_k_xs[] = "xs";
+static const char __pyx_k_y0[] = "y0";
+static const char __pyx_k_y1[] = "y1";
+static const char __pyx_k_ys[] = "ys";
+static const char __pyx_k_z0[] = "z0";
+static const char __pyx_k_z1[] = "z1";
+static const char __pyx_k_zs[] = "zs";
+static const char __pyx_k_end[] = "end";
+static const char __pyx_k_min[] = "min";
+static const char __pyx_k_pop[] = "pop";
+static const char __pyx_k_sum[] = "sum";
+static const char __pyx_k_xhi[] = "xhi";
+static const char __pyx_k_xlo[] = "xlo";
+static const char __pyx_k_yhi[] = "yhi";
+static const char __pyx_k_ylo[] = "ylo";
+static const char __pyx_k_zhi[] = "zhi";
+static const char __pyx_k_zip[] = "zip";
+static const char __pyx_k_zlo[] = "zlo";
+static const char __pyx_k_data[] = "data";
+static const char __pyx_k_file[] = "file";
+static const char __pyx_k_join[] = "join";
+static const char __pyx_k_keys[] = "keys";
+static const char __pyx_k_main[] = "__main__";
+static const char __pyx_k_name[] = "__name__";
+static const char __pyx_k_size[] = "size";
+static const char __pyx_k_test[] = "__test__";
+static const char __pyx_k_xbar[] = "xbar";
+static const char __pyx_k_ybar[] = "ybar";
+static const char __pyx_k_zbar[] = "zbar";
+static const char __pyx_k_areas[] = "areas";
+static const char __pyx_k_array[] = "array";
+static const char __pyx_k_isnan[] = "isnan";
+static const char __pyx_k_numpy[] = "numpy";
+static const char __pyx_k_print[] = "print";
+static const char __pyx_k_range[] = "range";
+static const char __pyx_k_start[] = "start";
+static const char __pyx_k_zeros[] = "zeros";
+static const char __pyx_k_append[] = "append";
+static const char __pyx_k_bisect[] = "bisect";
+static const char __pyx_k_import[] = "__import__";
+static const char __pyx_k_neuron[] = "neuron";
+static const char __pyx_k_resize[] = "resize";
+static const char __pyx_k_value0[] = "value0";
+static const char __pyx_k_value1[] = "value1";
+static const char __pyx_k_value2[] = "value2";
+static const char __pyx_k_value3[] = "value3";
+static const char __pyx_k_value4[] = "value4";
+static const char __pyx_k_value5[] = "value5";
+static const char __pyx_k_value6[] = "value6";
+static const char __pyx_k_value7[] = "value7";
+static const char __pyx_k_values[] = "values";
+static const char __pyx_k_xrange[] = "xrange";
+static const char __pyx_k_has_neg[] = "has_neg";
+static const char __pyx_k_has_pos[] = "has_pos";
+static const char __pyx_k_objdist[] = "objdist";
+static const char __pyx_k_objects[] = "objects";
+static const char __pyx_k_product[] = "product";
+static const char __pyx_k_r_inner[] = "r_inner";
+static const char __pyx_k_r_outer[] = "r_outer";
+static const char __pyx_k_the_map[] = "the_map";
+static const char __pyx_k_tridata[] = "tridata";
+static const char __pyx_k_SkewCone[] = "SkewCone";
+static const char __pyx_k_distance[] = "distance";
+static const char __pyx_k_get_clip[] = "get_clip";
+static const char __pyx_k_local_xs[] = "local_xs";
+static const char __pyx_k_local_ys[] = "local_ys";
+static const char __pyx_k_local_zs[] = "local_zs";
+static const char __pyx_k_neighbor[] = "neighbor";
+static const char __pyx_k_position[] = "position";
+static const char __pyx_k_refcheck[] = "refcheck";
+static const char __pyx_k_enumerate[] = "enumerate";
+static const char __pyx_k_itertools[] = "itertools";
+static const char __pyx_k_new_index[] = "new_index";
+static const char __pyx_k_triangles[] = "triangles";
+static const char __pyx_k_ValueError[] = "ValueError";
+static const char __pyx_k_chunk_objs[] = "chunk_objs";
+static const char __pyx_k_chunk_size[] = "chunk_size";
+static const char __pyx_k_max_chunks[] = "max_chunks";
+static const char __pyx_k_overlaps_x[] = "overlaps_x";
+static const char __pyx_k_overlaps_y[] = "overlaps_y";
+static const char __pyx_k_overlaps_z[] = "overlaps_z";
+static const char __pyx_k_position_4[] = "position[4]:";
+static const char __pyx_k_primitives[] = "primitives";
+static const char __pyx_k_ImportError[] = "ImportError";
+static const char __pyx_k_bisect_left[] = "bisect_left";
+static const char __pyx_k_last_object[] = "last object:";
+static const char __pyx_k_store_areas[] = "store_areas";
+static const char __pyx_k_RuntimeError[] = "RuntimeError";
+static const char __pyx_k_at_g_g_g_d_g[] = "at (%g, %g, %g): d = %g";
+static const char __pyx_k_bisect_right[] = "bisect_right";
+static const char __pyx_k_print_values[] = "print_values";
+static const char __pyx_k_process_cell[] = "process_cell";
+static const char __pyx_k_surfaces_pyx[] = "surfaces.pyx";
+static const char __pyx_k_starting_points[] = "starting_points";
+static const char __pyx_k_contains_surface[] = "contains_surface";
+static const char __pyx_k_big_number_matrix[] = "big_number_matrix";
+static const char __pyx_k_reject_if_outside[] = "reject_if_outside";
+static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
+static const char __pyx_k_graphicsPrimitives[] = "graphicsPrimitives";
+static const char __pyx_k_internal_membranes[] = "internal_membranes";
+static const char __pyx_k_tri_area_exception[] = "tri_area exception: ";
+static const char __pyx_k_volume_inside_cell[] = "volume_inside_cell";
+static const char __pyx_k_i_e_global_item_d_r[] = "    (i.e. global item %d: %r)";
+static const char __pyx_k_print_reject_reason[] = "print_reject_reason";
+static const char __pyx_k_tri_volume_exception[] = "tri_volume exception:";
+static const char __pyx_k_7f_7f_7f_7f_7f_7f_7f_7f[] = "%7f %7f %7f %7f %7f %7f %7f %7f";
+static const char __pyx_k_register_on_neighbor_map[] = "_register_on_neighbor_map";
+static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
+static const char __pyx_k_neuron_rxd_geometry3d_surfaces[] = "neuron.rxd.geometry3d.surfaces";
+static const char __pyx_k_last_obj_distance_to_position_4[] = "last obj distance to position[4]: ";
+static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";
+static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
+static const char __pyx_k_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7[] = "(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)";
+static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
+static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
+static const char __pyx_k_distance_to_position_4_with_ever[] = "distance to position[4] with everything but the last object:";
+static const char __pyx_k_grr_it_thinks_there_is_surface_w[] = "grr... it thinks there is surface when no nearby objects.";
+static const char __pyx_k_item_d_in_grid_d_d_d_contains_pr[] = "item %d in grid(%d, %d, %d) contains previously undetected surface";
+static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
+static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";
+static const char __pyx_k_would_normally_reject_because_at[] = "would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)";
+static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
+static const char __pyx_k_distance_to_position_4_with_ever_2[] = "distance to position[4] with everything:";
+static PyObject *__pyx_kp_s_;
+static PyObject *__pyx_kp_s_7f_7f_7f_7f_7f_7f_7f_7f;
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
+static PyObject *__pyx_n_s_ImportError;
+static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
+static PyObject *__pyx_n_s_RuntimeError;
+static PyObject *__pyx_n_s_SkewCone;
+static PyObject *__pyx_n_s_ValueError;
+static PyObject *__pyx_n_s_append;
+static PyObject *__pyx_n_s_areas;
+static PyObject *__pyx_n_s_array;
+static PyObject *__pyx_kp_s_at_g_g_g_d_g;
+static PyObject *__pyx_n_s_big_number_matrix;
+static PyObject *__pyx_n_s_bisect;
+static PyObject *__pyx_n_s_bisect_left;
+static PyObject *__pyx_n_s_bisect_right;
+static PyObject *__pyx_n_s_chunk_objs;
+static PyObject *__pyx_n_s_chunk_size;
+static PyObject *__pyx_n_s_cline_in_traceback;
+static PyObject *__pyx_n_s_contains_surface;
+static PyObject *__pyx_n_s_d;
+static PyObject *__pyx_n_s_data;
+static PyObject *__pyx_n_s_distance;
+static PyObject *__pyx_kp_s_distance_to_position_4_with_ever;
+static PyObject *__pyx_kp_s_distance_to_position_4_with_ever_2;
+static PyObject *__pyx_n_s_dx;
+static PyObject *__pyx_n_s_dy;
+static PyObject *__pyx_n_s_dz;
+static PyObject *__pyx_n_s_end;
+static PyObject *__pyx_n_s_enumerate;
+static PyObject *__pyx_n_s_file;
+static PyObject *__pyx_n_s_get_clip;
+static PyObject *__pyx_n_s_graphicsPrimitives;
+static PyObject *__pyx_kp_s_grr_it_thinks_there_is_surface_w;
+static PyObject *__pyx_n_s_has_neg;
+static PyObject *__pyx_n_s_has_pos;
+static PyObject *__pyx_n_s_hi;
+static PyObject *__pyx_n_s_i;
+static PyObject *__pyx_n_s_i1;
+static PyObject *__pyx_kp_s_i_e_global_item_d_r;
+static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_internal_membranes;
+static PyObject *__pyx_n_s_isnan;
+static PyObject *__pyx_kp_s_item_d_in_grid_d_d_d_contains_pr;
+static PyObject *__pyx_n_s_itertools;
+static PyObject *__pyx_n_s_j;
+static PyObject *__pyx_n_s_j1;
+static PyObject *__pyx_n_s_join;
+static PyObject *__pyx_n_s_k;
+static PyObject *__pyx_n_s_k1;
+static PyObject *__pyx_n_s_keys;
+static PyObject *__pyx_kp_s_last_obj_distance_to_position_4;
+static PyObject *__pyx_kp_s_last_object;
+static PyObject *__pyx_n_s_lo;
+static PyObject *__pyx_n_s_local_xs;
+static PyObject *__pyx_n_s_local_ys;
+static PyObject *__pyx_n_s_local_zs;
+static PyObject *__pyx_n_s_main;
+static PyObject *__pyx_n_s_max_chunks;
+static PyObject *__pyx_n_s_min;
+static PyObject *__pyx_n_s_name;
+static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;
+static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;
+static PyObject *__pyx_n_s_neighbor;
+static PyObject *__pyx_n_s_neuron;
+static PyObject *__pyx_n_s_neuron_rxd_geometry3d_surfaces;
+static PyObject *__pyx_n_s_new_index;
+static PyObject *__pyx_n_s_numpy;
+static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;
+static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;
+static PyObject *__pyx_n_s_nx;
+static PyObject *__pyx_n_s_ny;
+static PyObject *__pyx_n_s_nz;
+static PyObject *__pyx_n_s_objdist;
+static PyObject *__pyx_n_s_objects;
+static PyObject *__pyx_n_s_os;
+static PyObject *__pyx_n_s_overlaps_x;
+static PyObject *__pyx_n_s_overlaps_y;
+static PyObject *__pyx_n_s_overlaps_z;
+static PyObject *__pyx_n_s_p;
+static PyObject *__pyx_n_s_pop;
+static PyObject *__pyx_n_s_position;
+static PyObject *__pyx_kp_s_position_4;
+static PyObject *__pyx_n_s_primitives;
+static PyObject *__pyx_n_s_print;
+static PyObject *__pyx_n_s_print_reject_reason;
+static PyObject *__pyx_n_s_print_values;
+static PyObject *__pyx_n_s_process_cell;
+static PyObject *__pyx_n_s_product;
+static PyObject *__pyx_n_s_pt;
+static PyObject *__pyx_n_s_r_inner;
+static PyObject *__pyx_n_s_r_outer;
+static PyObject *__pyx_n_s_range;
+static PyObject *__pyx_n_s_refcheck;
+static PyObject *__pyx_n_s_register_on_neighbor_map;
+static PyObject *__pyx_n_s_reject_if_outside;
+static PyObject *__pyx_n_s_resize;
+static PyObject *__pyx_n_s_size;
+static PyObject *__pyx_n_s_start;
+static PyObject *__pyx_n_s_starting_points;
+static PyObject *__pyx_n_s_store_areas;
+static PyObject *__pyx_n_s_sum;
+static PyObject *__pyx_kp_s_surfaces_pyx;
+static PyObject *__pyx_n_s_test;
+static PyObject *__pyx_n_s_the_map;
+static PyObject *__pyx_kp_s_tri_area_exception;
+static PyObject *__pyx_kp_s_tri_volume_exception;
+static PyObject *__pyx_n_s_triangles;
+static PyObject *__pyx_n_s_tridata;
+static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;
+static PyObject *__pyx_n_s_value0;
+static PyObject *__pyx_n_s_value1;
+static PyObject *__pyx_n_s_value2;
+static PyObject *__pyx_n_s_value3;
+static PyObject *__pyx_n_s_value4;
+static PyObject *__pyx_n_s_value5;
+static PyObject *__pyx_n_s_value6;
+static PyObject *__pyx_n_s_value7;
+static PyObject *__pyx_n_s_values;
+static PyObject *__pyx_n_s_volume_inside_cell;
+static PyObject *__pyx_kp_s_would_normally_reject_because_at;
+static PyObject *__pyx_n_s_x;
+static PyObject *__pyx_n_s_x0;
+static PyObject *__pyx_n_s_x1;
+static PyObject *__pyx_kp_s_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7;
+static PyObject *__pyx_n_s_xbar;
+static PyObject *__pyx_n_s_xhi;
+static PyObject *__pyx_n_s_xlo;
+static PyObject *__pyx_n_s_xrange;
+static PyObject *__pyx_n_s_xs;
+static PyObject *__pyx_n_s_y;
+static PyObject *__pyx_n_s_y0;
+static PyObject *__pyx_n_s_y1;
+static PyObject *__pyx_n_s_ybar;
+static PyObject *__pyx_n_s_yhi;
+static PyObject *__pyx_n_s_ylo;
+static PyObject *__pyx_n_s_ys;
+static PyObject *__pyx_n_s_z;
+static PyObject *__pyx_n_s_z0;
+static PyObject *__pyx_n_s_z1;
+static PyObject *__pyx_n_s_zbar;
+static PyObject *__pyx_n_s_zeros;
+static PyObject *__pyx_n_s_zhi;
+static PyObject *__pyx_n_s_zip;
+static PyObject *__pyx_n_s_zlo;
+static PyObject *__pyx_n_s_zs;
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces__register_on_neighbor_map(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_the_map, PyObject *__pyx_v_pt, PyObject *__pyx_v_neighbor); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_2contains_surface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_i, PyObject *__pyx_v_j, PyObject *__pyx_v_k, PyObject *__pyx_v_objdist, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_dx, PyObject *__pyx_v_r_inner, PyObject *__pyx_v_r_outer, PyObject *__pyx_v_reject_if_outside, int __pyx_v_print_reject_reason); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_4process_cell(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_i, int __pyx_v_j, int __pyx_v_k, PyObject *__pyx_v_objects, PyArrayObject *__pyx_v_xs, PyArrayObject *__pyx_v_ys, PyArrayObject *__pyx_v_zs, PyArrayObject *__pyx_v_tridata, int __pyx_v_start, int __pyx_v_store_areas, PyArrayObject *__pyx_v_areas, int __pyx_v_print_values); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_6volume_inside_cell(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_i, int __pyx_v_j, int __pyx_v_k, PyObject *__pyx_v_objects, PyArrayObject *__pyx_v_xs, PyArrayObject *__pyx_v_ys, PyArrayObject *__pyx_v_zs); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_8chunkify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_v_chunk_size, double __pyx_v_dx); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_10triangulate_surface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_12_triangulate_surface_given_chunks(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes, int __pyx_v_chunk_size, PyObject *__pyx_v_chunk_objs, int __pyx_v_nx, int __pyx_v_ny, int __pyx_v_nz, int __pyx_v_store_areas, PyObject *__pyx_v_areas); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_14tri_area(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_16_tri_area(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles, int __pyx_v_lo, int __pyx_v_hi); /* proto */
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_18tri_volume(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles); /* proto */
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
+static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_keys = {0, &__pyx_n_s_keys, 0, 0, 0};
+static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values = {0, &__pyx_n_s_values, 0, 0, 0};
+static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0};
+static PyObject *__pyx_float_2_;
+static PyObject *__pyx_int_0;
+static PyObject *__pyx_int_1;
+static PyObject *__pyx_int_2;
+static PyObject *__pyx_int_4;
+static PyObject *__pyx_int_16;
+static PyObject *__pyx_int_50;
+static PyObject *__pyx_int_1000;
+static PyObject *__pyx_int_1215;
+static PyObject *__pyx_int_9999;
+static PyObject *__pyx_int_10000000;
+static PyObject *__pyx_int_neg_1;
+static PyObject *__pyx_int_neg_2;
+static PyObject *__pyx_tuple__2;
+static PyObject *__pyx_tuple__3;
+static PyObject *__pyx_tuple__4;
+static PyObject *__pyx_tuple__5;
+static PyObject *__pyx_tuple__6;
+static PyObject *__pyx_tuple__7;
+static PyObject *__pyx_tuple__8;
+static PyObject *__pyx_tuple__9;
+static PyObject *__pyx_tuple__10;
+static PyObject *__pyx_tuple__12;
+static PyObject *__pyx_tuple__14;
+static PyObject *__pyx_tuple__16;
+static PyObject *__pyx_codeobj__11;
+static PyObject *__pyx_codeobj__13;
+static PyObject *__pyx_codeobj__15;
+static PyObject *__pyx_codeobj__17;
+/* Late includes */
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":26
+ * 
+ * 
+ * def _register_on_neighbor_map(the_map, pt, neighbor):             # <<<<<<<<<<<<<<
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_1_register_on_neighbor_map(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_1_register_on_neighbor_map = {"_register_on_neighbor_map", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_1_register_on_neighbor_map, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_1_register_on_neighbor_map(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_the_map = 0;
+  PyObject *__pyx_v_pt = 0;
+  PyObject *__pyx_v_neighbor = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("_register_on_neighbor_map (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_the_map,&__pyx_n_s_pt,&__pyx_n_s_neighbor,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_the_map)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pt)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_register_on_neighbor_map", 1, 3, 3, 1); __PYX_ERR(0, 26, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_neighbor)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_register_on_neighbor_map", 1, 3, 3, 2); __PYX_ERR(0, 26, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_register_on_neighbor_map") < 0)) __PYX_ERR(0, 26, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_the_map = values[0];
+    __pyx_v_pt = values[1];
+    __pyx_v_neighbor = values[2];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("_register_on_neighbor_map", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 26, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._register_on_neighbor_map", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces__register_on_neighbor_map(__pyx_self, __pyx_v_the_map, __pyx_v_pt, __pyx_v_neighbor);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces__register_on_neighbor_map(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_the_map, PyObject *__pyx_v_pt, PyObject *__pyx_v_neighbor) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_register_on_neighbor_map", 0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":28
+ * def _register_on_neighbor_map(the_map, pt, neighbor):
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:             # <<<<<<<<<<<<<<
+ *         the_map[pt].append(neighbor)
+ *     else:
+ */
+  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_pt, __pyx_v_the_map, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 28, __pyx_L1_error)
+  __pyx_t_2 = (__pyx_t_1 != 0);
+  if (__pyx_t_2) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":29
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:
+ *         the_map[pt].append(neighbor)             # <<<<<<<<<<<<<<
+ *     else:
+ *         the_map[pt] = [neighbor]
+ */
+    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_the_map, __pyx_v_pt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_v_neighbor); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 29, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":28
+ * def _register_on_neighbor_map(the_map, pt, neighbor):
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:             # <<<<<<<<<<<<<<
+ *         the_map[pt].append(neighbor)
+ *     else:
+ */
+    goto __pyx_L3;
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":31
+ *         the_map[pt].append(neighbor)
+ *     else:
+ *         the_map[pt] = [neighbor]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  /*else*/ {
+    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_INCREF(__pyx_v_neighbor);
+    __Pyx_GIVEREF(__pyx_v_neighbor);
+    PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_neighbor);
+    if (unlikely(PyObject_SetItem(__pyx_v_the_map, __pyx_v_pt, __pyx_t_3) < 0)) __PYX_ERR(0, 31, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  }
+  __pyx_L3:;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":26
+ * 
+ * 
+ * def _register_on_neighbor_map(the_map, pt, neighbor):             # <<<<<<<<<<<<<<
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._register_on_neighbor_map", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":42
+ * @cython.wraparound(False)
+ * #cdef bint contains_surface(int i, int j, int k, objdist, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, double dx, double r_inner, double r_outer, bint reject_if_outside, bint print_reject_reason=False):
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):             # <<<<<<<<<<<<<<
+ *     cdef bint has_neg = False
+ *     cdef bint has_pos = False
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_3contains_surface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_3contains_surface = {"contains_surface", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_3contains_surface, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_3contains_surface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_i = 0;
+  PyObject *__pyx_v_j = 0;
+  PyObject *__pyx_v_k = 0;
+  PyObject *__pyx_v_objdist = 0;
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  PyObject *__pyx_v_dx = 0;
+  PyObject *__pyx_v_r_inner = 0;
+  PyObject *__pyx_v_r_outer = 0;
+  PyObject *__pyx_v_reject_if_outside = 0;
+  int __pyx_v_print_reject_reason;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("contains_surface (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,&__pyx_n_s_objdist,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,&__pyx_n_s_dx,&__pyx_n_s_r_inner,&__pyx_n_s_r_outer,&__pyx_n_s_reject_if_outside,&__pyx_n_s_print_reject_reason,0};
+    PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+        CYTHON_FALLTHROUGH;
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        CYTHON_FALLTHROUGH;
+        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        CYTHON_FALLTHROUGH;
+        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        CYTHON_FALLTHROUGH;
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 1); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 2); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objdist)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 3); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 4); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 5); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 6); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 7); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  8:
+        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r_inner)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 8); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  9:
+        if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r_outer)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 9); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case 10:
+        if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reject_if_outside)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, 10); __PYX_ERR(0, 42, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case 11:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_print_reject_reason);
+          if (value) { values[11] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "contains_surface") < 0)) __PYX_ERR(0, 42, __pyx_L3_error)
+      }
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+        CYTHON_FALLTHROUGH;
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_i = values[0];
+    __pyx_v_j = values[1];
+    __pyx_v_k = values[2];
+    __pyx_v_objdist = values[3];
+    __pyx_v_xs = values[4];
+    __pyx_v_ys = values[5];
+    __pyx_v_zs = values[6];
+    __pyx_v_dx = values[7];
+    __pyx_v_r_inner = values[8];
+    __pyx_v_r_outer = values[9];
+    __pyx_v_reject_if_outside = values[10];
+    if (values[11]) {
+      __pyx_v_print_reject_reason = __Pyx_PyObject_IsTrue(values[11]); if (unlikely((__pyx_v_print_reject_reason == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L3_error)
+    } else {
+      __pyx_v_print_reject_reason = ((int)0);
+    }
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("contains_surface", 0, 11, 12, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 42, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.contains_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_2contains_surface(__pyx_self, __pyx_v_i, __pyx_v_j, __pyx_v_k, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_dx, __pyx_v_r_inner, __pyx_v_r_outer, __pyx_v_reject_if_outside, __pyx_v_print_reject_reason);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_2contains_surface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_i, PyObject *__pyx_v_j, PyObject *__pyx_v_k, PyObject *__pyx_v_objdist, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_dx, PyObject *__pyx_v_r_inner, PyObject *__pyx_v_r_outer, PyObject *__pyx_v_reject_if_outside, int __pyx_v_print_reject_reason) {
+  int __pyx_v_has_neg;
+  int __pyx_v_has_pos;
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  double __pyx_v_xbar;
+  double __pyx_v_ybar;
+  double __pyx_v_zbar;
+  PyObject *__pyx_v_d = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  double __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  int __pyx_t_8;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_t_10;
+  int __pyx_t_11;
+  Py_ssize_t __pyx_t_12;
+  PyObject *(*__pyx_t_13)(PyObject *);
+  Py_ssize_t __pyx_t_14;
+  PyObject *(*__pyx_t_15)(PyObject *);
+  Py_ssize_t __pyx_t_16;
+  PyObject *(*__pyx_t_17)(PyObject *);
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("contains_surface", 0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":43
+ * #cdef bint contains_surface(int i, int j, int k, objdist, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, double dx, double r_inner, double r_outer, bint reject_if_outside, bint print_reject_reason=False):
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):
+ *     cdef bint has_neg = False             # <<<<<<<<<<<<<<
+ *     cdef bint has_pos = False
+ *     cdef double x, y, z
+ */
+  __pyx_v_has_neg = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":44
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):
+ *     cdef bint has_neg = False
+ *     cdef bint has_pos = False             # <<<<<<<<<<<<<<
+ *     cdef double x, y, z
+ * 
+ */
+  __pyx_v_has_pos = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":48
+ * 
+ *     global total_surface_tests, corner_tests
+ *     total_surface_tests += 1             # <<<<<<<<<<<<<<
+ * 
+ *     # sphere tests added 2012-12-10
+ */
+  __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_total_surface_tests = (__pyx_v_6neuron_3rxd_10geometry3d_8surfaces_total_surface_tests + 1);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":51
+ * 
+ *     # sphere tests added 2012-12-10
+ *     cdef double xbar = xs[i] + dx / 2.             # <<<<<<<<<<<<<<
+ *     cdef double ybar = ys[j] + dx / 2.
+ *     cdef double zbar = zs[k] + dx / 2.
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_xs, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyFloat_DivideObjC(__pyx_v_dx, __pyx_float_2_, 2., 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_v_xbar = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":52
+ *     # sphere tests added 2012-12-10
+ *     cdef double xbar = xs[i] + dx / 2.
+ *     cdef double ybar = ys[j] + dx / 2.             # <<<<<<<<<<<<<<
+ *     cdef double zbar = zs[k] + dx / 2.
+ * 
+ */
+  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_ys, __pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyFloat_DivideObjC(__pyx_v_dx, __pyx_float_2_, 2., 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 52, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v_ybar = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":53
+ *     cdef double xbar = xs[i] + dx / 2.
+ *     cdef double ybar = ys[j] + dx / 2.
+ *     cdef double zbar = zs[k] + dx / 2.             # <<<<<<<<<<<<<<
+ * 
+ *     d = fabs(objdist(xbar, ybar, zbar))
+ */
+  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_zs, __pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyFloat_DivideObjC(__pyx_v_dx, __pyx_float_2_, 2., 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 53, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 53, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_v_zbar = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":55
+ *     cdef double zbar = zs[k] + dx / 2.
+ * 
+ *     d = fabs(objdist(xbar, ybar, zbar))             # <<<<<<<<<<<<<<
+ *     if d <= r_inner: return True
+ *     if d >= r_outer and reject_if_outside:
+ */
+  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_xbar); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_ybar); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_zbar); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_INCREF(__pyx_v_objdist);
+  __pyx_t_6 = __pyx_v_objdist; __pyx_t_7 = NULL;
+  __pyx_t_8 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
+    if (likely(__pyx_t_7)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      __Pyx_INCREF(__pyx_t_7);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __pyx_t_8 = 1;
+    }
+  }
+  #if CYTHON_FAST_PYCALL
+  if (PyFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_2, __pyx_t_1, __pyx_t_5};
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  #if CYTHON_FAST_PYCCALL
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+    PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_2, __pyx_t_1, __pyx_t_5};
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  } else
+  #endif
+  {
+    __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 55, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    if (__pyx_t_7) {
+      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
+    }
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_1);
+    PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_5);
+    __pyx_t_2 = 0;
+    __pyx_t_1 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyFloat_FromDouble(fabs(__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_v_d = __pyx_t_3;
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":56
+ * 
+ *     d = fabs(objdist(xbar, ybar, zbar))
+ *     if d <= r_inner: return True             # <<<<<<<<<<<<<<
+ *     if d >= r_outer and reject_if_outside:
+ *         if print_reject_reason:
+ */
+  __pyx_t_3 = PyObject_RichCompare(__pyx_v_d, __pyx_v_r_inner, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 56, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (__pyx_t_10) {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(Py_True);
+    __pyx_r = Py_True;
+    goto __pyx_L0;
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":57
+ *     d = fabs(objdist(xbar, ybar, zbar))
+ *     if d <= r_inner: return True
+ *     if d >= r_outer and reject_if_outside:             # <<<<<<<<<<<<<<
+ *         if print_reject_reason:
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)
+ */
+  __pyx_t_3 = PyObject_RichCompare(__pyx_v_d, __pyx_v_r_outer, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error)
+  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 57, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (__pyx_t_11) {
+  } else {
+    __pyx_t_10 = __pyx_t_11;
+    goto __pyx_L5_bool_binop_done;
+  }
+  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_reject_if_outside); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 57, __pyx_L1_error)
+  __pyx_t_10 = __pyx_t_11;
+  __pyx_L5_bool_binop_done:;
+  if (__pyx_t_10) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":58
+ *     if d <= r_inner: return True
+ *     if d >= r_outer and reject_if_outside:
+ *         if print_reject_reason:             # <<<<<<<<<<<<<<
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)
+ *         else:
+ */
+    __pyx_t_10 = (__pyx_v_print_reject_reason != 0);
+    if (__pyx_t_10) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":59
+ *     if d >= r_outer and reject_if_outside:
+ *         if print_reject_reason:
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)             # <<<<<<<<<<<<<<
+ *         else:
+ *             return False
+ */
+      __pyx_t_3 = PyFloat_FromDouble(__pyx_v_xbar); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_6 = PyFloat_FromDouble(__pyx_v_ybar); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_9 = PyFloat_FromDouble(__pyx_v_zbar); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_5 = PyTuple_New(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_3);
+      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
+      __Pyx_GIVEREF(__pyx_t_6);
+      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6);
+      __Pyx_GIVEREF(__pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_9);
+      __Pyx_INCREF(__pyx_v_d);
+      __Pyx_GIVEREF(__pyx_v_d);
+      PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_d);
+      __Pyx_INCREF(__pyx_v_r_outer);
+      __Pyx_GIVEREF(__pyx_v_r_outer);
+      PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_v_r_outer);
+      __Pyx_INCREF(__pyx_v_dx);
+      __Pyx_GIVEREF(__pyx_v_dx);
+      PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_v_dx);
+      __pyx_t_3 = 0;
+      __pyx_t_6 = 0;
+      __pyx_t_9 = 0;
+      __pyx_t_9 = __Pyx_PyString_Format(__pyx_kp_s_would_normally_reject_because_at, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__Pyx_PrintOne(0, __pyx_t_9) < 0) __PYX_ERR(0, 59, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":58
+ *     if d <= r_inner: return True
+ *     if d >= r_outer and reject_if_outside:
+ *         if print_reject_reason:             # <<<<<<<<<<<<<<
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)
+ *         else:
+ */
+      goto __pyx_L7;
+    }
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":61
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)
+ *         else:
+ *             return False             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+    /*else*/ {
+      __Pyx_XDECREF(__pyx_r);
+      __Pyx_INCREF(Py_False);
+      __pyx_r = Py_False;
+      goto __pyx_L0;
+    }
+    __pyx_L7:;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":57
+ *     d = fabs(objdist(xbar, ybar, zbar))
+ *     if d <= r_inner: return True
+ *     if d >= r_outer and reject_if_outside:             # <<<<<<<<<<<<<<
+ *         if print_reject_reason:
+ *             print 'would normally reject because at (%g, %g, %g): d = %g, r_outer = %g     (dx = %g)' % (xbar, ybar, zbar, d, r_outer, dx)
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":66
+ * 
+ *     # indeterminant from spheres; check corners
+ *     corner_tests += 1             # <<<<<<<<<<<<<<
+ *     #print 'corner_tests = %d out of total_surface_tests = %d' % (corner_tests, total_surface_tests)
+ *     for x in xs[i : i + 2]:
+ */
+  __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_corner_tests = (__pyx_v_6neuron_3rxd_10geometry3d_8surfaces_corner_tests + 1);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":68
+ *     corner_tests += 1
+ *     #print 'corner_tests = %d out of total_surface_tests = %d' % (corner_tests, total_surface_tests)
+ *     for x in xs[i : i + 2]:             # <<<<<<<<<<<<<<
+ *         for y in ys[j : j + 2]:
+ *             for z in zs[k : k + 2]:
+ */
+  __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 68, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_xs, 0, 0, &__pyx_v_i, &__pyx_t_9, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
+    __pyx_t_9 = __pyx_t_5; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0;
+    __pyx_t_13 = NULL;
+  } else {
+    __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 68, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_13 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 68, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_13)) {
+      if (likely(PyList_CheckExact(__pyx_t_9))) {
+        if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_5 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_5); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 68, __pyx_L1_error)
+        #else
+        __pyx_t_5 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        #endif
+      } else {
+        if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_5); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 68, __pyx_L1_error)
+        #else
+        __pyx_t_5 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        #endif
+      }
+    } else {
+      __pyx_t_5 = __pyx_t_13(__pyx_t_9);
+      if (unlikely(!__pyx_t_5)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 68, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_5);
+    }
+    __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 68, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_v_x = __pyx_t_4;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":69
+ *     #print 'corner_tests = %d out of total_surface_tests = %d' % (corner_tests, total_surface_tests)
+ *     for x in xs[i : i + 2]:
+ *         for y in ys[j : j + 2]:             # <<<<<<<<<<<<<<
+ *             for z in zs[k : k + 2]:
+ *                 d = objdist(x, y, z)
+ */
+    __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_j, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_v_ys, 0, 0, &__pyx_v_j, &__pyx_t_5, NULL, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
+      __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = 0;
+      __pyx_t_15 = NULL;
+    } else {
+      __pyx_t_14 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_15 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 69, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_15)) {
+        if (likely(PyList_CheckExact(__pyx_t_5))) {
+          if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_5)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_14); __Pyx_INCREF(__pyx_t_6); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 69, __pyx_L1_error)
+          #else
+          __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          #endif
+        } else {
+          if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_14); __Pyx_INCREF(__pyx_t_6); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 69, __pyx_L1_error)
+          #else
+          __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          #endif
+        }
+      } else {
+        __pyx_t_6 = __pyx_t_15(__pyx_t_5);
+        if (unlikely(!__pyx_t_6)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 69, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_6);
+      }
+      __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __pyx_v_y = __pyx_t_4;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":70
+ *     for x in xs[i : i + 2]:
+ *         for y in ys[j : j + 2]:
+ *             for z in zs[k : k + 2]:             # <<<<<<<<<<<<<<
+ *                 d = objdist(x, y, z)
+ *                 if print_reject_reason:
+ */
+      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_k, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_zs, 0, 0, &__pyx_v_k, &__pyx_t_6, NULL, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
+        __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6); __pyx_t_16 = 0;
+        __pyx_t_17 = NULL;
+      } else {
+        __pyx_t_16 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        __pyx_t_17 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 70, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_17)) {
+          if (likely(PyList_CheckExact(__pyx_t_6))) {
+            if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_6)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 70, __pyx_L1_error)
+            #else
+            __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_3);
+            #endif
+          } else {
+            if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 70, __pyx_L1_error)
+            #else
+            __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_3);
+            #endif
+          }
+        } else {
+          __pyx_t_3 = __pyx_t_17(__pyx_t_6);
+          if (unlikely(!__pyx_t_3)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 70, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_3);
+        }
+        __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 70, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __pyx_v_z = __pyx_t_4;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":71
+ *         for y in ys[j : j + 2]:
+ *             for z in zs[k : k + 2]:
+ *                 d = objdist(x, y, z)             # <<<<<<<<<<<<<<
+ *                 if print_reject_reason:
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ */
+        __pyx_t_1 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 71, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        __Pyx_INCREF(__pyx_v_objdist);
+        __pyx_t_18 = __pyx_v_objdist; __pyx_t_19 = NULL;
+        __pyx_t_8 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) {
+          __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18);
+          if (likely(__pyx_t_19)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18);
+            __Pyx_INCREF(__pyx_t_19);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_18, function);
+            __pyx_t_8 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_18)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_19, __pyx_t_1, __pyx_t_2, __pyx_t_7};
+          __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+          __Pyx_GOTREF(__pyx_t_3);
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) {
+          PyObject *__pyx_temp[4] = {__pyx_t_19, __pyx_t_1, __pyx_t_2, __pyx_t_7};
+          __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
+          __Pyx_GOTREF(__pyx_t_3);
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_20 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          if (__pyx_t_19) {
+            __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_1);
+          PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_8, __pyx_t_1);
+          __Pyx_GIVEREF(__pyx_t_2);
+          PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_8, __pyx_t_2);
+          __Pyx_GIVEREF(__pyx_t_7);
+          PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_8, __pyx_t_7);
+          __pyx_t_1 = 0;
+          __pyx_t_2 = 0;
+          __pyx_t_7 = 0;
+          __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_3);
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+        __Pyx_DECREF_SET(__pyx_v_d, __pyx_t_3);
+        __pyx_t_3 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":72
+ *             for z in zs[k : k + 2]:
+ *                 d = objdist(x, y, z)
+ *                 if print_reject_reason:             # <<<<<<<<<<<<<<
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ *                 if d <= 0:
+ */
+        __pyx_t_10 = (__pyx_v_print_reject_reason != 0);
+        if (__pyx_t_10) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":73
+ *                 d = objdist(x, y, z)
+ *                 if print_reject_reason:
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)             # <<<<<<<<<<<<<<
+ *                 if d <= 0:
+ *                     has_neg = True
+ */
+          __pyx_t_3 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_3);
+          __pyx_t_18 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_18);
+          __pyx_t_20 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_7);
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_18);
+          PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_18);
+          __Pyx_GIVEREF(__pyx_t_20);
+          PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_20);
+          __Pyx_INCREF(__pyx_v_d);
+          __Pyx_GIVEREF(__pyx_v_d);
+          PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_v_d);
+          __pyx_t_3 = 0;
+          __pyx_t_18 = 0;
+          __pyx_t_20 = 0;
+          __pyx_t_20 = __Pyx_PyString_Format(__pyx_kp_s_at_g_g_g_d_g, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_20);
+          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+          if (__Pyx_PrintOne(0, __pyx_t_20) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":72
+ *             for z in zs[k : k + 2]:
+ *                 d = objdist(x, y, z)
+ *                 if print_reject_reason:             # <<<<<<<<<<<<<<
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ *                 if d <= 0:
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":74
+ *                 if print_reject_reason:
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ *                 if d <= 0:             # <<<<<<<<<<<<<<
+ *                     has_neg = True
+ *                 if d >= 0:
+ */
+        __pyx_t_20 = PyObject_RichCompare(__pyx_v_d, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 74, __pyx_L1_error)
+        __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 74, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+        if (__pyx_t_10) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":75
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ *                 if d <= 0:
+ *                     has_neg = True             # <<<<<<<<<<<<<<
+ *                 if d >= 0:
+ *                     has_pos = True
+ */
+          __pyx_v_has_neg = 1;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":74
+ *                 if print_reject_reason:
+ *                     print 'at (%g, %g, %g): d = %g' % (x, y, z, d)
+ *                 if d <= 0:             # <<<<<<<<<<<<<<
+ *                     has_neg = True
+ *                 if d >= 0:
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":76
+ *                 if d <= 0:
+ *                     has_neg = True
+ *                 if d >= 0:             # <<<<<<<<<<<<<<
+ *                     has_pos = True
+ *                 if has_pos and has_neg:
+ */
+        __pyx_t_20 = PyObject_RichCompare(__pyx_v_d, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 76, __pyx_L1_error)
+        __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 76, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+        if (__pyx_t_10) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":77
+ *                     has_neg = True
+ *                 if d >= 0:
+ *                     has_pos = True             # <<<<<<<<<<<<<<
+ *                 if has_pos and has_neg:
+ *                     return True
+ */
+          __pyx_v_has_pos = 1;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":76
+ *                 if d <= 0:
+ *                     has_neg = True
+ *                 if d >= 0:             # <<<<<<<<<<<<<<
+ *                     has_pos = True
+ *                 if has_pos and has_neg:
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":78
+ *                 if d >= 0:
+ *                     has_pos = True
+ *                 if has_pos and has_neg:             # <<<<<<<<<<<<<<
+ *                     return True
+ * 
+ */
+        __pyx_t_11 = (__pyx_v_has_pos != 0);
+        if (__pyx_t_11) {
+        } else {
+          __pyx_t_10 = __pyx_t_11;
+          goto __pyx_L18_bool_binop_done;
+        }
+        __pyx_t_11 = (__pyx_v_has_neg != 0);
+        __pyx_t_10 = __pyx_t_11;
+        __pyx_L18_bool_binop_done:;
+        if (__pyx_t_10) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":79
+ *                     has_pos = True
+ *                 if has_pos and has_neg:
+ *                     return True             # <<<<<<<<<<<<<<
+ * 
+ *     return False
+ */
+          __Pyx_XDECREF(__pyx_r);
+          __Pyx_INCREF(Py_True);
+          __pyx_r = Py_True;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          goto __pyx_L0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":78
+ *                 if d >= 0:
+ *                     has_pos = True
+ *                 if has_pos and has_neg:             # <<<<<<<<<<<<<<
+ *                     return True
+ * 
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":70
+ *     for x in xs[i : i + 2]:
+ *         for y in ys[j : j + 2]:
+ *             for z in zs[k : k + 2]:             # <<<<<<<<<<<<<<
+ *                 d = objdist(x, y, z)
+ *                 if print_reject_reason:
+ */
+      }
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":69
+ *     #print 'corner_tests = %d out of total_surface_tests = %d' % (corner_tests, total_surface_tests)
+ *     for x in xs[i : i + 2]:
+ *         for y in ys[j : j + 2]:             # <<<<<<<<<<<<<<
+ *             for z in zs[k : k + 2]:
+ *                 d = objdist(x, y, z)
+ */
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":68
+ *     corner_tests += 1
+ *     #print 'corner_tests = %d out of total_surface_tests = %d' % (corner_tests, total_surface_tests)
+ *     for x in xs[i : i + 2]:             # <<<<<<<<<<<<<<
+ *         for y in ys[j : j + 2]:
+ *             for z in zs[k : k + 2]:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":81
+ *                     return True
+ * 
+ *     return False             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(Py_False);
+  __pyx_r = Py_False;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":42
+ * @cython.wraparound(False)
+ * #cdef bint contains_surface(int i, int j, int k, objdist, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, double dx, double r_inner, double r_outer, bint reject_if_outside, bint print_reject_reason=False):
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):             # <<<<<<<<<<<<<<
+ *     cdef bint has_neg = False
+ *     cdef bint has_pos = False
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.contains_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_d);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":88
+ * @cython.wraparound(False)
+ * #cdef int process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint print_values=False):
+ * def process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint store_areas=False, numpy.ndarray[numpy.float_t, ndim=3] areas=None, bint print_values=False):             # <<<<<<<<<<<<<<
+ *     cdef int new_index
+ *     cdef double x, y, z, x1, y1, z1
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_5process_cell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_5process_cell = {"process_cell", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_5process_cell, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_5process_cell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  int __pyx_v_i;
+  int __pyx_v_j;
+  int __pyx_v_k;
+  PyObject *__pyx_v_objects = 0;
+  PyArrayObject *__pyx_v_xs = 0;
+  PyArrayObject *__pyx_v_ys = 0;
+  PyArrayObject *__pyx_v_zs = 0;
+  PyArrayObject *__pyx_v_tridata = 0;
+  int __pyx_v_start;
+  int __pyx_v_store_areas;
+  PyArrayObject *__pyx_v_areas = 0;
+  int __pyx_v_print_values;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("process_cell (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,&__pyx_n_s_objects,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,&__pyx_n_s_tridata,&__pyx_n_s_start,&__pyx_n_s_store_areas,&__pyx_n_s_areas,&__pyx_n_s_print_values,0};
+    PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
+    values[10] = (PyObject *)((PyArrayObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+        CYTHON_FALLTHROUGH;
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        CYTHON_FALLTHROUGH;
+        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        CYTHON_FALLTHROUGH;
+        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        CYTHON_FALLTHROUGH;
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 1); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 2); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 3); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 4); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 5); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 6); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tridata)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 7); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  8:
+        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, 8); __PYX_ERR(0, 88, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  9:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_store_areas);
+          if (value) { values[9] = value; kw_args--; }
+        }
+        CYTHON_FALLTHROUGH;
+        case 10:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_areas);
+          if (value) { values[10] = value; kw_args--; }
+        }
+        CYTHON_FALLTHROUGH;
+        case 11:
+        if (kw_args > 0) {
+          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_print_values);
+          if (value) { values[11] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "process_cell") < 0)) __PYX_ERR(0, 88, __pyx_L3_error)
+      }
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+        CYTHON_FALLTHROUGH;
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        CYTHON_FALLTHROUGH;
+        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        CYTHON_FALLTHROUGH;
+        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_i = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_j = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_j == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_k = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_k == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    __pyx_v_objects = ((PyObject*)values[3]);
+    __pyx_v_xs = ((PyArrayObject *)values[4]);
+    __pyx_v_ys = ((PyArrayObject *)values[5]);
+    __pyx_v_zs = ((PyArrayObject *)values[6]);
+    __pyx_v_tridata = ((PyArrayObject *)values[7]);
+    __pyx_v_start = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_start == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    if (values[9]) {
+      __pyx_v_store_areas = __Pyx_PyObject_IsTrue(values[9]); if (unlikely((__pyx_v_store_areas == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    } else {
+      __pyx_v_store_areas = ((int)0);
+    }
+    __pyx_v_areas = ((PyArrayObject *)values[10]);
+    if (values[11]) {
+      __pyx_v_print_values = __Pyx_PyObject_IsTrue(values[11]); if (unlikely((__pyx_v_print_values == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error)
+    } else {
+      __pyx_v_print_values = ((int)0);
+    }
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("process_cell", 0, 9, 12, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 88, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.process_cell", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 88, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_xs), __pyx_ptype_5numpy_ndarray, 1, "xs", 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ys), __pyx_ptype_5numpy_ndarray, 1, "ys", 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zs), __pyx_ptype_5numpy_ndarray, 1, "zs", 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tridata), __pyx_ptype_5numpy_ndarray, 1, "tridata", 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_areas), __pyx_ptype_5numpy_ndarray, 1, "areas", 0))) __PYX_ERR(0, 88, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_4process_cell(__pyx_self, __pyx_v_i, __pyx_v_j, __pyx_v_k, __pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_tridata, __pyx_v_start, __pyx_v_store_areas, __pyx_v_areas, __pyx_v_print_values);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_4process_cell(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_i, int __pyx_v_j, int __pyx_v_k, PyObject *__pyx_v_objects, PyArrayObject *__pyx_v_xs, PyArrayObject *__pyx_v_ys, PyArrayObject *__pyx_v_zs, PyArrayObject *__pyx_v_tridata, int __pyx_v_start, int __pyx_v_store_areas, PyArrayObject *__pyx_v_areas, int __pyx_v_print_values) {
+  int __pyx_v_new_index;
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  PyObject *__pyx_v_position = 0;
+  double __pyx_v_value0;
+  double __pyx_v_value1;
+  double __pyx_v_value2;
+  double __pyx_v_value3;
+  double __pyx_v_value4;
+  double __pyx_v_value5;
+  double __pyx_v_value6;
+  double __pyx_v_value7;
+  PyObject *__pyx_v_p = NULL;
+  PyObject *__pyx_v_objdist = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_areas;
+  __Pyx_Buffer __pyx_pybuffer_areas;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_tridata;
+  __Pyx_Buffer __pyx_pybuffer_tridata;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_xs;
+  __Pyx_Buffer __pyx_pybuffer_xs;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_ys;
+  __Pyx_Buffer __pyx_pybuffer_ys;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_zs;
+  __Pyx_Buffer __pyx_pybuffer_zs;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  __pyx_t_5numpy_float_t __pyx_t_2;
+  __pyx_t_5numpy_float_t __pyx_t_3;
+  __pyx_t_5numpy_float_t __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  Py_ssize_t __pyx_t_16;
+  Py_ssize_t __pyx_t_17;
+  double __pyx_t_18;
+  double __pyx_t_19;
+  double __pyx_t_20;
+  double __pyx_t_21;
+  double __pyx_t_22;
+  double __pyx_t_23;
+  double __pyx_t_24;
+  double __pyx_t_25;
+  int __pyx_t_26;
+  Py_ssize_t __pyx_t_27;
+  Py_ssize_t __pyx_t_28;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("process_cell", 0);
+  __pyx_pybuffer_xs.pybuffer.buf = NULL;
+  __pyx_pybuffer_xs.refcount = 0;
+  __pyx_pybuffernd_xs.data = NULL;
+  __pyx_pybuffernd_xs.rcbuffer = &__pyx_pybuffer_xs;
+  __pyx_pybuffer_ys.pybuffer.buf = NULL;
+  __pyx_pybuffer_ys.refcount = 0;
+  __pyx_pybuffernd_ys.data = NULL;
+  __pyx_pybuffernd_ys.rcbuffer = &__pyx_pybuffer_ys;
+  __pyx_pybuffer_zs.pybuffer.buf = NULL;
+  __pyx_pybuffer_zs.refcount = 0;
+  __pyx_pybuffernd_zs.data = NULL;
+  __pyx_pybuffernd_zs.rcbuffer = &__pyx_pybuffer_zs;
+  __pyx_pybuffer_tridata.pybuffer.buf = NULL;
+  __pyx_pybuffer_tridata.refcount = 0;
+  __pyx_pybuffernd_tridata.data = NULL;
+  __pyx_pybuffernd_tridata.rcbuffer = &__pyx_pybuffer_tridata;
+  __pyx_pybuffer_areas.pybuffer.buf = NULL;
+  __pyx_pybuffer_areas.refcount = 0;
+  __pyx_pybuffernd_areas.data = NULL;
+  __pyx_pybuffernd_areas.rcbuffer = &__pyx_pybuffer_areas;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_xs.rcbuffer->pybuffer, (PyObject*)__pyx_v_xs, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_xs.diminfo[0].strides = __pyx_pybuffernd_xs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_xs.diminfo[0].shape = __pyx_pybuffernd_xs.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ys.rcbuffer->pybuffer, (PyObject*)__pyx_v_ys, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_ys.diminfo[0].strides = __pyx_pybuffernd_ys.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ys.diminfo[0].shape = __pyx_pybuffernd_ys.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_zs.rcbuffer->pybuffer, (PyObject*)__pyx_v_zs, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_zs.diminfo[0].strides = __pyx_pybuffernd_zs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_zs.diminfo[0].shape = __pyx_pybuffernd_zs.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer, (PyObject*)__pyx_v_tridata, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_tridata.diminfo[0].strides = __pyx_pybuffernd_tridata.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_tridata.diminfo[0].shape = __pyx_pybuffernd_tridata.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_areas.rcbuffer->pybuffer, (PyObject*)__pyx_v_areas, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_areas.diminfo[0].strides = __pyx_pybuffernd_areas.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_areas.diminfo[0].shape = __pyx_pybuffernd_areas.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_areas.diminfo[1].strides = __pyx_pybuffernd_areas.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_areas.diminfo[1].shape = __pyx_pybuffernd_areas.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_areas.diminfo[2].strides = __pyx_pybuffernd_areas.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_areas.diminfo[2].shape = __pyx_pybuffernd_areas.rcbuffer->pybuffer.shape[2];
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":92
+ *     cdef double x, y, z, x1, y1, z1
+ *     cdef list position
+ *     x, y, z = xs[i], ys[j], zs[k]             # <<<<<<<<<<<<<<
+ *     x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ * 
+ */
+  __pyx_t_1 = __pyx_v_i;
+  __pyx_t_2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_xs.diminfo[0].strides));
+  __pyx_t_1 = __pyx_v_j;
+  __pyx_t_3 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_ys.diminfo[0].strides));
+  __pyx_t_1 = __pyx_v_k;
+  __pyx_t_4 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_zs.diminfo[0].strides));
+  __pyx_v_x = __pyx_t_2;
+  __pyx_v_y = __pyx_t_3;
+  __pyx_v_z = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":93
+ *     cdef list position
+ *     x, y, z = xs[i], ys[j], zs[k]
+ *     x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]             # <<<<<<<<<<<<<<
+ * 
+ *     position = [(x, y, z),
+ */
+  __pyx_t_1 = (__pyx_v_i + 1);
+  __pyx_t_4 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_xs.diminfo[0].strides));
+  __pyx_t_1 = (__pyx_v_j + 1);
+  __pyx_t_3 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_ys.diminfo[0].strides));
+  __pyx_t_1 = (__pyx_v_k + 1);
+  __pyx_t_2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_zs.diminfo[0].strides));
+  __pyx_v_x1 = __pyx_t_4;
+  __pyx_v_y1 = __pyx_t_3;
+  __pyx_v_z1 = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":95
+ *     x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ * 
+ *     position = [(x, y, z),             # <<<<<<<<<<<<<<
+ *                 (x1, y, z),
+ *                 (x1, y1, z),
+ */
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":96
+ * 
+ *     position = [(x, y, z),
+ *                 (x1, y, z),             # <<<<<<<<<<<<<<
+ *                 (x1, y1, z),
+ *                 (x, y1, z),
+ */
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 96, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 96, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 96, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5);
+  __pyx_t_7 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":97
+ *     position = [(x, y, z),
+ *                 (x1, y, z),
+ *                 (x1, y1, z),             # <<<<<<<<<<<<<<
+ *                 (x, y1, z),
+ *                 (x, y, z1),
+ */
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 97, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_7);
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":98
+ *                 (x1, y, z),
+ *                 (x1, y1, z),
+ *                 (x, y1, z),             # <<<<<<<<<<<<<<
+ *                 (x, y, z1),
+ *                 (x1, y, z1),
+ */
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_5);
+  __pyx_t_7 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":99
+ *                 (x1, y1, z),
+ *                 (x, y1, z),
+ *                 (x, y, z1),             # <<<<<<<<<<<<<<
+ *                 (x1, y, z1),
+ *                 (x1, y1, z1),
+ */
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 99, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 99, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 99, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 99, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_7);
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":100
+ *                 (x, y1, z),
+ *                 (x, y, z1),
+ *                 (x1, y, z1),             # <<<<<<<<<<<<<<
+ *                 (x1, y1, z1),
+ *                 (x, y1, z1)]
+ */
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 100, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 100, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 100, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_5);
+  __pyx_t_7 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":101
+ *                 (x, y, z1),
+ *                 (x1, y, z1),
+ *                 (x1, y1, z1),             # <<<<<<<<<<<<<<
+ *                 (x, y1, z1)]
+ *     cdef double value0, value1, value2, value3, value4, value5, value6, value7
+ */
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 101, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_7);
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":102
+ *                 (x1, y, z1),
+ *                 (x1, y1, z1),
+ *                 (x, y1, z1)]             # <<<<<<<<<<<<<<
+ *     cdef double value0, value1, value2, value3, value4, value5, value6, value7
+ *     value0, value1, value2, value3, value4, value5, value6, value7 = [min([objdist(*p) for objdist in objects]) for p in position]
+ */
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_15 = PyTuple_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 102, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_5);
+  __pyx_t_7 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":95
+ *     x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ * 
+ *     position = [(x, y, z),             # <<<<<<<<<<<<<<
+ *                 (x1, y, z),
+ *                 (x1, y1, z),
+ */
+  __pyx_t_5 = PyList_New(8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 95, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyList_SET_ITEM(__pyx_t_5, 3, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyList_SET_ITEM(__pyx_t_5, 4, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyList_SET_ITEM(__pyx_t_5, 5, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyList_SET_ITEM(__pyx_t_5, 6, __pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyList_SET_ITEM(__pyx_t_5, 7, __pyx_t_15);
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_v_position = ((PyObject*)__pyx_t_5);
+  __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":104
+ *                 (x, y1, z1)]
+ *     cdef double value0, value1, value2, value3, value4, value5, value6, value7
+ *     value0, value1, value2, value3, value4, value5, value6, value7 = [min([objdist(*p) for objdist in objects]) for p in position]             # <<<<<<<<<<<<<<
+ *     if print_values:
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)
+ */
+  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_15 = __pyx_v_position; __Pyx_INCREF(__pyx_t_15); __pyx_t_16 = 0;
+  for (;;) {
+    if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_15)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 104, __pyx_L1_error)
+    #else
+    __pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_14);
+    __pyx_t_14 = 0;
+    __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+      __PYX_ERR(0, 104, __pyx_L1_error)
+    }
+    __pyx_t_13 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_13); __pyx_t_17 = 0;
+    for (;;) {
+      if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_13)) break;
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_12 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_17); __Pyx_INCREF(__pyx_t_12); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 104, __pyx_L1_error)
+      #else
+      __pyx_t_12 = PySequence_ITEM(__pyx_t_13, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 104, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      #endif
+      __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_12);
+      __pyx_t_12 = 0;
+      __pyx_t_12 = __Pyx_PySequence_Tuple(__pyx_v_p); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 104, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_12);
+      __pyx_t_11 = __Pyx_PyObject_Call(__pyx_v_objdist, __pyx_t_12, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 104, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_t_11))) __PYX_ERR(0, 104, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_13))) __PYX_ERR(0, 104, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+  if (1) {
+    PyObject* sequence = __pyx_t_5;
+    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+    if (unlikely(size != 8)) {
+      if (size > 8) __Pyx_RaiseTooManyValuesError(8);
+      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+      __PYX_ERR(0, 104, __pyx_L1_error)
+    }
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_15 = PyList_GET_ITEM(sequence, 0); 
+    __pyx_t_13 = PyList_GET_ITEM(sequence, 1); 
+    __pyx_t_14 = PyList_GET_ITEM(sequence, 2); 
+    __pyx_t_11 = PyList_GET_ITEM(sequence, 3); 
+    __pyx_t_12 = PyList_GET_ITEM(sequence, 4); 
+    __pyx_t_10 = PyList_GET_ITEM(sequence, 5); 
+    __pyx_t_9 = PyList_GET_ITEM(sequence, 6); 
+    __pyx_t_8 = PyList_GET_ITEM(sequence, 7); 
+    __Pyx_INCREF(__pyx_t_15);
+    __Pyx_INCREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_t_14);
+    __Pyx_INCREF(__pyx_t_11);
+    __Pyx_INCREF(__pyx_t_12);
+    __Pyx_INCREF(__pyx_t_10);
+    __Pyx_INCREF(__pyx_t_9);
+    __Pyx_INCREF(__pyx_t_8);
+    #else
+    {
+      Py_ssize_t i;
+      PyObject** temps[8] = {&__pyx_t_15,&__pyx_t_13,&__pyx_t_14,&__pyx_t_11,&__pyx_t_12,&__pyx_t_10,&__pyx_t_9,&__pyx_t_8};
+      for (i=0; i < 8; i++) {
+        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 104, __pyx_L1_error)
+        __Pyx_GOTREF(item);
+        *(temps[i]) = item;
+      }
+    }
+    #endif
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  }
+  __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_t_15); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+  __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_13); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __pyx_t_20 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_20 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+  __pyx_t_21 = __pyx_PyFloat_AsDouble(__pyx_t_11); if (unlikely((__pyx_t_21 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+  __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_12); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+  __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_10); if (unlikely((__pyx_t_23 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  __pyx_t_24 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_24 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_25 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_25 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_value0 = __pyx_t_18;
+  __pyx_v_value1 = __pyx_t_19;
+  __pyx_v_value2 = __pyx_t_20;
+  __pyx_v_value3 = __pyx_t_21;
+  __pyx_v_value4 = __pyx_t_22;
+  __pyx_v_value5 = __pyx_t_23;
+  __pyx_v_value6 = __pyx_t_24;
+  __pyx_v_value7 = __pyx_t_25;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":105
+ *     cdef double value0, value1, value2, value3, value4, value5, value6, value7
+ *     value0, value1, value2, value3, value4, value5, value6, value7 = [min([objdist(*p) for objdist in objects]) for p in position]
+ *     if print_values:             # <<<<<<<<<<<<<<
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)
+ */
+  __pyx_t_26 = (__pyx_v_print_values != 0);
+  if (__pyx_t_26) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":106
+ *     value0, value1, value2, value3, value4, value5, value6, value7 = [min([objdist(*p) for objdist in objects]) for p in position]
+ *     if print_values:
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)             # <<<<<<<<<<<<<<
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)
+ *         print 'last obj distance to position[4]: ', objects[len(objects)-1](*position[4])
+ */
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_12 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_11 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_14 = PyTuple_New(6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_10);
+    PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_10);
+    __Pyx_GIVEREF(__pyx_t_12);
+    PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_t_12);
+    __Pyx_GIVEREF(__pyx_t_11);
+    PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_t_11);
+    __pyx_t_5 = 0;
+    __pyx_t_8 = 0;
+    __pyx_t_9 = 0;
+    __pyx_t_10 = 0;
+    __pyx_t_12 = 0;
+    __pyx_t_11 = 0;
+    __pyx_t_11 = __Pyx_PyString_Format(__pyx_kp_s_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7, __pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    if (__Pyx_PrintOne(0, __pyx_t_11) < 0) __PYX_ERR(0, 106, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":107
+ *     if print_values:
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)             # <<<<<<<<<<<<<<
+ *         print 'last obj distance to position[4]: ', objects[len(objects)-1](*position[4])
+ *         print 'distance to position[4] with everything but the last object:', min([objdist(*position[4]) for objdist in objects[:len(objects)-1]])
+ */
+    __pyx_t_11 = PyFloat_FromDouble(__pyx_v_value0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_14 = PyFloat_FromDouble(__pyx_v_value1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_14);
+    __pyx_t_12 = PyFloat_FromDouble(__pyx_v_value2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_12);
+    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_value3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_9 = PyFloat_FromDouble(__pyx_v_value4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_value5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_5 = PyFloat_FromDouble(__pyx_v_value6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_13 = PyFloat_FromDouble(__pyx_v_value7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_15 = PyTuple_New(8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_15);
+    __Pyx_GIVEREF(__pyx_t_11);
+    PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_11);
+    __Pyx_GIVEREF(__pyx_t_14);
+    PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14);
+    __Pyx_GIVEREF(__pyx_t_12);
+    PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_12);
+    __Pyx_GIVEREF(__pyx_t_10);
+    PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_t_10);
+    __Pyx_GIVEREF(__pyx_t_9);
+    PyTuple_SET_ITEM(__pyx_t_15, 4, __pyx_t_9);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_15, 5, __pyx_t_8);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_15, 6, __pyx_t_5);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyTuple_SET_ITEM(__pyx_t_15, 7, __pyx_t_13);
+    __pyx_t_11 = 0;
+    __pyx_t_14 = 0;
+    __pyx_t_12 = 0;
+    __pyx_t_10 = 0;
+    __pyx_t_9 = 0;
+    __pyx_t_8 = 0;
+    __pyx_t_5 = 0;
+    __pyx_t_13 = 0;
+    __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_7f_7f_7f_7f_7f_7f_7f_7f, __pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    if (__Pyx_PrintOne(0, __pyx_t_13) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":108
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)
+ *         print 'last obj distance to position[4]: ', objects[len(objects)-1](*position[4])             # <<<<<<<<<<<<<<
+ *         print 'distance to position[4] with everything but the last object:', min([objdist(*position[4]) for objdist in objects[:len(objects)-1]])
+ *         print 'distance to position[4] with everything:', min([objdist(*position[4]) for objdist in objects[:]])
+ */
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 108, __pyx_L1_error)
+    }
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+      __PYX_ERR(0, 108, __pyx_L1_error)
+    }
+    __pyx_t_16 = PyList_GET_SIZE(__pyx_v_objects); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 108, __pyx_L1_error)
+    __pyx_t_17 = (__pyx_t_16 - 1);
+    __pyx_t_13 = __Pyx_PySequence_Tuple(PyList_GET_ITEM(__pyx_v_position, 4)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 108, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_15 = __Pyx_PyObject_Call(PyList_GET_ITEM(__pyx_v_objects, __pyx_t_17), __pyx_t_13, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 108, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_15);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 108, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_kp_s_last_obj_distance_to_position_4);
+    __Pyx_GIVEREF(__pyx_kp_s_last_obj_distance_to_position_4);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_s_last_obj_distance_to_position_4);
+    __Pyx_GIVEREF(__pyx_t_15);
+    PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_15);
+    __pyx_t_15 = 0;
+    if (__Pyx_Print(0, __pyx_t_13, 1) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":109
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)
+ *         print 'last obj distance to position[4]: ', objects[len(objects)-1](*position[4])
+ *         print 'distance to position[4] with everything but the last object:', min([objdist(*position[4]) for objdist in objects[:len(objects)-1]])             # <<<<<<<<<<<<<<
+ *         print 'distance to position[4] with everything:', min([objdist(*position[4]) for objdist in objects[:]])
+ *         print 'last object:', objects[len(objects) - 1]
+ */
+    __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 109, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 109, __pyx_L1_error)
+    }
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+      __PYX_ERR(0, 109, __pyx_L1_error)
+    }
+    __pyx_t_17 = PyList_GET_SIZE(__pyx_v_objects); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 109, __pyx_L1_error)
+    __pyx_t_15 = __Pyx_PyList_GetSlice(__pyx_v_objects, 0, (__pyx_t_17 - 1)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 109, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_15);
+    __pyx_t_5 = __pyx_t_15; __Pyx_INCREF(__pyx_t_5); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    for (;;) {
+      if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_5)) break;
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_15 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_17); __Pyx_INCREF(__pyx_t_15); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 109, __pyx_L1_error)
+      #else
+      __pyx_t_15 = PySequence_ITEM(__pyx_t_5, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 109, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_15);
+      #endif
+      __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_15);
+      __pyx_t_15 = 0;
+      __pyx_t_15 = __Pyx_PySequence_Tuple(PyList_GET_ITEM(__pyx_v_position, 4)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 109, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_15);
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_v_objdist, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 109, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_13, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 109, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 109, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 109, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_kp_s_distance_to_position_4_with_ever);
+    __Pyx_GIVEREF(__pyx_kp_s_distance_to_position_4_with_ever);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_s_distance_to_position_4_with_ever);
+    __Pyx_GIVEREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_5);
+    __pyx_t_5 = 0;
+    if (__Pyx_Print(0, __pyx_t_13, 1) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":110
+ *         print 'last obj distance to position[4]: ', objects[len(objects)-1](*position[4])
+ *         print 'distance to position[4] with everything but the last object:', min([objdist(*position[4]) for objdist in objects[:len(objects)-1]])
+ *         print 'distance to position[4] with everything:', min([objdist(*position[4]) for objdist in objects[:]])             # <<<<<<<<<<<<<<
+ *         print 'last object:', objects[len(objects) - 1]
+ *         print 'position[4]:', position[4]
+ */
+    __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 110, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 110, __pyx_L1_error)
+    }
+    __pyx_t_5 = __Pyx_PyList_GetSlice(__pyx_v_objects, 0, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 110, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_17 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    for (;;) {
+      if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_8)) break;
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_17); __Pyx_INCREF(__pyx_t_5); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 110, __pyx_L1_error)
+      #else
+      __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 110, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      #endif
+      __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_5);
+      __pyx_t_5 = 0;
+      __pyx_t_5 = __Pyx_PySequence_Tuple(PyList_GET_ITEM(__pyx_v_position, 4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 110, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_15 = __Pyx_PyObject_Call(__pyx_v_objdist, __pyx_t_5, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 110, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_15);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_13, (PyObject*)__pyx_t_15))) __PYX_ERR(0, 110, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 110, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 110, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_kp_s_distance_to_position_4_with_ever_2);
+    __Pyx_GIVEREF(__pyx_kp_s_distance_to_position_4_with_ever_2);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_s_distance_to_position_4_with_ever_2);
+    __Pyx_GIVEREF(__pyx_t_8);
+    PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_8);
+    __pyx_t_8 = 0;
+    if (__Pyx_Print(0, __pyx_t_13, 1) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":111
+ *         print 'distance to position[4] with everything but the last object:', min([objdist(*position[4]) for objdist in objects[:len(objects)-1]])
+ *         print 'distance to position[4] with everything:', min([objdist(*position[4]) for objdist in objects[:]])
+ *         print 'last object:', objects[len(objects) - 1]             # <<<<<<<<<<<<<<
+ *         print 'position[4]:', position[4]
+ * 
+ */
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 111, __pyx_L1_error)
+    }
+    if (unlikely(__pyx_v_objects == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
+      __PYX_ERR(0, 111, __pyx_L1_error)
+    }
+    __pyx_t_17 = PyList_GET_SIZE(__pyx_v_objects); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 111, __pyx_L1_error)
+    __pyx_t_16 = (__pyx_t_17 - 1);
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 111, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_kp_s_last_object);
+    __Pyx_GIVEREF(__pyx_kp_s_last_object);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_s_last_object);
+    __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_objects, __pyx_t_16));
+    __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_objects, __pyx_t_16));
+    PyTuple_SET_ITEM(__pyx_t_13, 1, PyList_GET_ITEM(__pyx_v_objects, __pyx_t_16));
+    if (__Pyx_Print(0, __pyx_t_13, 1) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":112
+ *         print 'distance to position[4] with everything:', min([objdist(*position[4]) for objdist in objects[:]])
+ *         print 'last object:', objects[len(objects) - 1]
+ *         print 'position[4]:', position[4]             # <<<<<<<<<<<<<<
+ * 
+ *     new_index = start + 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ */
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 112, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_INCREF(__pyx_kp_s_position_4);
+    __Pyx_GIVEREF(__pyx_kp_s_position_4);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_kp_s_position_4);
+    __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_position, 4));
+    __Pyx_GIVEREF(PyList_GET_ITEM(__pyx_v_position, 4));
+    PyTuple_SET_ITEM(__pyx_t_13, 1, PyList_GET_ITEM(__pyx_v_position, 4));
+    if (__Pyx_Print(0, __pyx_t_13, 1) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":105
+ *     cdef double value0, value1, value2, value3, value4, value5, value6, value7
+ *     value0, value1, value2, value3, value4, value5, value6, value7 = [min([objdist(*p) for objdist in objects]) for p in position]
+ *     if print_values:             # <<<<<<<<<<<<<<
+ *         print '(x, y, z) = (%7f, %7f, %7f); (x1, y1, z1) = (%7f, %7f, %7f)' % (x, y, z, x1, y1, z1)
+ *         print '%7f %7f %7f %7f %7f %7f %7f %7f' % (value0, value1, value2, value3, value4, value5, value6, value7)
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":114
+ *         print 'position[4]:', position[4]
+ * 
+ *     new_index = start + 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])             # <<<<<<<<<<<<<<
+ *     if store_areas:
+ *         areas[i, j, k] = _tri_area(tridata, start, new_index)
+ */
+  __pyx_t_1 = __pyx_v_start;
+  __pyx_v_new_index = (__pyx_v_start + (9 * find_triangles(__pyx_v_value0, __pyx_v_value1, __pyx_v_value2, __pyx_v_value3, __pyx_v_value4, __pyx_v_value5, __pyx_v_value6, __pyx_v_value7, __pyx_v_x, __pyx_v_x1, __pyx_v_y, __pyx_v_y1, __pyx_v_z, __pyx_v_z1, (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_tridata.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_tridata.diminfo[0].strides))))));
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":115
+ * 
+ *     new_index = start + 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ *     if store_areas:             # <<<<<<<<<<<<<<
+ *         areas[i, j, k] = _tri_area(tridata, start, new_index)
+ *     return new_index
+ */
+  __pyx_t_26 = (__pyx_v_store_areas != 0);
+  if (__pyx_t_26) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":116
+ *     new_index = start + 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ *     if store_areas:
+ *         areas[i, j, k] = _tri_area(tridata, start, new_index)             # <<<<<<<<<<<<<<
+ *     return new_index
+ * 
+ */
+    __pyx_t_1 = __pyx_v_i;
+    __pyx_t_27 = __pyx_v_j;
+    __pyx_t_28 = __pyx_v_k;
+    *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_areas.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_areas.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_areas.diminfo[2].strides) = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__tri_area(((PyArrayObject *)__pyx_v_tridata), __pyx_v_start, __pyx_v_new_index, 0);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":115
+ * 
+ *     new_index = start + 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ *     if store_areas:             # <<<<<<<<<<<<<<
+ *         areas[i, j, k] = _tri_area(tridata, start, new_index)
+ *     return new_index
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":117
+ *     if store_areas:
+ *         areas[i, j, k] = _tri_area(tridata, start, new_index)
+ *     return new_index             # <<<<<<<<<<<<<<
+ * 
+ * # a matrix whose values are unambiguously outside the object
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_new_index); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 117, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_r = __pyx_t_13;
+  __pyx_t_13 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":88
+ * @cython.wraparound(False)
+ * #cdef int process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint print_values=False):
+ * def process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint store_areas=False, numpy.ndarray[numpy.float_t, ndim=3] areas=None, bint print_values=False):             # <<<<<<<<<<<<<<
+ *     cdef int new_index
+ *     cdef double x, y, z, x1, y1, z1
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_areas.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_xs.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ys.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_zs.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.process_cell", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_areas.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_xs.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ys.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_zs.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF(__pyx_v_position);
+  __Pyx_XDECREF(__pyx_v_p);
+  __Pyx_XDECREF(__pyx_v_objdist);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":128
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):             # <<<<<<<<<<<<<<
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ */
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_7volume_inside_cell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyMethodDef __pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_7volume_inside_cell = {"volume_inside_cell", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_7volume_inside_cell, METH_VARARGS|METH_KEYWORDS, 0};
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_7volume_inside_cell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  int __pyx_v_i;
+  int __pyx_v_j;
+  int __pyx_v_k;
+  PyObject *__pyx_v_objects = 0;
+  PyArrayObject *__pyx_v_xs = 0;
+  PyArrayObject *__pyx_v_ys = 0;
+  PyArrayObject *__pyx_v_zs = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("volume_inside_cell (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_k,&__pyx_n_s_objects,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,0};
+    PyObject* values[7] = {0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 1); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 2); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 3); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 4); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 5); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, 6); __PYX_ERR(0, 128, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "volume_inside_cell") < 0)) __PYX_ERR(0, 128, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+    }
+    __pyx_v_i = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 128, __pyx_L3_error)
+    __pyx_v_j = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_j == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 128, __pyx_L3_error)
+    __pyx_v_k = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_k == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 128, __pyx_L3_error)
+    __pyx_v_objects = ((PyObject*)values[3]);
+    __pyx_v_xs = ((PyArrayObject *)values[4]);
+    __pyx_v_ys = ((PyArrayObject *)values[5]);
+    __pyx_v_zs = ((PyArrayObject *)values[6]);
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("volume_inside_cell", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 128, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.volume_inside_cell", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 128, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_xs), __pyx_ptype_5numpy_ndarray, 1, "xs", 0))) __PYX_ERR(0, 128, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ys), __pyx_ptype_5numpy_ndarray, 1, "ys", 0))) __PYX_ERR(0, 128, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_zs), __pyx_ptype_5numpy_ndarray, 1, "zs", 0))) __PYX_ERR(0, 128, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_6volume_inside_cell(__pyx_self, __pyx_v_i, __pyx_v_j, __pyx_v_k, __pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_6volume_inside_cell(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_i, int __pyx_v_j, int __pyx_v_k, PyObject *__pyx_v_objects, PyArrayObject *__pyx_v_xs, PyArrayObject *__pyx_v_ys, PyArrayObject *__pyx_v_zs) {
+  double __pyx_v_x0;
+  double __pyx_v_y0;
+  double __pyx_v_z0;
+  double __pyx_v_x1;
+  double __pyx_v_y1;
+  double __pyx_v_z1;
+  double __pyx_v_dx;
+  double __pyx_v_dy;
+  double __pyx_v_dz;
+  CYTHON_UNUSED PyArrayObject *__pyx_v_local_xs = 0;
+  CYTHON_UNUSED PyArrayObject *__pyx_v_local_ys = 0;
+  CYTHON_UNUSED PyArrayObject *__pyx_v_local_zs = 0;
+  PyArrayObject *__pyx_v_data = 0;
+  double __pyx_v_x;
+  double __pyx_v_y;
+  double __pyx_v_z;
+  int __pyx_v_i1;
+  int __pyx_v_j1;
+  int __pyx_v_k1;
+  PyArrayObject *__pyx_v_tridata = 0;
+  int __pyx_v_start;
+  PyObject *__pyx_v_value0 = NULL;
+  PyObject *__pyx_v_value1 = NULL;
+  PyObject *__pyx_v_value2 = NULL;
+  PyObject *__pyx_v_value3 = NULL;
+  PyObject *__pyx_v_value4 = NULL;
+  PyObject *__pyx_v_value5 = NULL;
+  PyObject *__pyx_v_value6 = NULL;
+  PyObject *__pyx_v_value7 = NULL;
+  PyObject *__pyx_v_objdist = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_data;
+  __Pyx_Buffer __pyx_pybuffer_data;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_local_xs;
+  __Pyx_Buffer __pyx_pybuffer_local_xs;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_local_ys;
+  __Pyx_Buffer __pyx_pybuffer_local_ys;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_local_zs;
+  __Pyx_Buffer __pyx_pybuffer_local_zs;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_tridata;
+  __Pyx_Buffer __pyx_pybuffer_tridata;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_xs;
+  __Pyx_Buffer __pyx_pybuffer_xs;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_ys;
+  __Pyx_Buffer __pyx_pybuffer_ys;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_zs;
+  __Pyx_Buffer __pyx_pybuffer_zs;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyArrayObject *__pyx_t_9 = NULL;
+  PyArrayObject *__pyx_t_10 = NULL;
+  PyArrayObject *__pyx_t_11 = NULL;
+  PyArrayObject *__pyx_t_12 = NULL;
+  int __pyx_t_13;
+  int __pyx_t_14;
+  Py_ssize_t __pyx_t_15;
+  PyObject *(*__pyx_t_16)(PyObject *);
+  PyObject *(*__pyx_t_17)(PyObject *);
+  int __pyx_t_18;
+  double __pyx_t_19;
+  Py_ssize_t __pyx_t_20;
+  PyObject *(*__pyx_t_21)(PyObject *);
+  Py_ssize_t __pyx_t_22;
+  PyObject *(*__pyx_t_23)(PyObject *);
+  Py_ssize_t __pyx_t_24;
+  PyObject *__pyx_t_25 = NULL;
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  PyObject *__pyx_t_29 = NULL;
+  __pyx_t_5numpy_float_t __pyx_t_30;
+  Py_ssize_t __pyx_t_31;
+  Py_ssize_t __pyx_t_32;
+  PyArrayObject *__pyx_t_33 = NULL;
+  int __pyx_t_34;
+  int __pyx_t_35;
+  __pyx_t_5numpy_float_t __pyx_t_36;
+  __pyx_t_5numpy_float_t __pyx_t_37;
+  double __pyx_t_38;
+  double __pyx_t_39;
+  double __pyx_t_40;
+  double __pyx_t_41;
+  double __pyx_t_42;
+  double __pyx_t_43;
+  double __pyx_t_44;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("volume_inside_cell", 0);
+  __pyx_pybuffer_local_xs.pybuffer.buf = NULL;
+  __pyx_pybuffer_local_xs.refcount = 0;
+  __pyx_pybuffernd_local_xs.data = NULL;
+  __pyx_pybuffernd_local_xs.rcbuffer = &__pyx_pybuffer_local_xs;
+  __pyx_pybuffer_local_ys.pybuffer.buf = NULL;
+  __pyx_pybuffer_local_ys.refcount = 0;
+  __pyx_pybuffernd_local_ys.data = NULL;
+  __pyx_pybuffernd_local_ys.rcbuffer = &__pyx_pybuffer_local_ys;
+  __pyx_pybuffer_local_zs.pybuffer.buf = NULL;
+  __pyx_pybuffer_local_zs.refcount = 0;
+  __pyx_pybuffernd_local_zs.data = NULL;
+  __pyx_pybuffernd_local_zs.rcbuffer = &__pyx_pybuffer_local_zs;
+  __pyx_pybuffer_data.pybuffer.buf = NULL;
+  __pyx_pybuffer_data.refcount = 0;
+  __pyx_pybuffernd_data.data = NULL;
+  __pyx_pybuffernd_data.rcbuffer = &__pyx_pybuffer_data;
+  __pyx_pybuffer_tridata.pybuffer.buf = NULL;
+  __pyx_pybuffer_tridata.refcount = 0;
+  __pyx_pybuffernd_tridata.data = NULL;
+  __pyx_pybuffernd_tridata.rcbuffer = &__pyx_pybuffer_tridata;
+  __pyx_pybuffer_xs.pybuffer.buf = NULL;
+  __pyx_pybuffer_xs.refcount = 0;
+  __pyx_pybuffernd_xs.data = NULL;
+  __pyx_pybuffernd_xs.rcbuffer = &__pyx_pybuffer_xs;
+  __pyx_pybuffer_ys.pybuffer.buf = NULL;
+  __pyx_pybuffer_ys.refcount = 0;
+  __pyx_pybuffernd_ys.data = NULL;
+  __pyx_pybuffernd_ys.rcbuffer = &__pyx_pybuffer_ys;
+  __pyx_pybuffer_zs.pybuffer.buf = NULL;
+  __pyx_pybuffer_zs.refcount = 0;
+  __pyx_pybuffernd_zs.data = NULL;
+  __pyx_pybuffernd_zs.rcbuffer = &__pyx_pybuffer_zs;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_xs.rcbuffer->pybuffer, (PyObject*)__pyx_v_xs, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 128, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_xs.diminfo[0].strides = __pyx_pybuffernd_xs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_xs.diminfo[0].shape = __pyx_pybuffernd_xs.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_ys.rcbuffer->pybuffer, (PyObject*)__pyx_v_ys, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 128, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_ys.diminfo[0].strides = __pyx_pybuffernd_ys.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_ys.diminfo[0].shape = __pyx_pybuffernd_ys.rcbuffer->pybuffer.shape[0];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_zs.rcbuffer->pybuffer, (PyObject*)__pyx_v_zs, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 128, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_zs.diminfo[0].strides = __pyx_pybuffernd_zs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_zs.diminfo[0].shape = __pyx_pybuffernd_zs.rcbuffer->pybuffer.shape[0];
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":129
+ * @cython.wraparound(False)
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]             # <<<<<<<<<<<<<<
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ *     cdef double dx = x1 - x0, dy = y1 - y0, dz = z1 - z0
+ */
+  __pyx_t_1 = __pyx_v_i;
+  __pyx_v_x0 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_xs.diminfo[0].strides));
+  __pyx_t_1 = __pyx_v_j;
+  __pyx_v_y0 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_ys.diminfo[0].strides));
+  __pyx_t_1 = __pyx_v_k;
+  __pyx_v_z0 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_zs.diminfo[0].strides));
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":130
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]             # <<<<<<<<<<<<<<
+ *     cdef double dx = x1 - x0, dy = y1 - y0, dz = z1 - z0
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_xs = numpy.array([x0 - dx, x0, x1, x0 + 2 * dx])
+ */
+  __pyx_t_1 = (__pyx_v_i + 1);
+  __pyx_v_x1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_xs.diminfo[0].strides));
+  __pyx_t_1 = (__pyx_v_j + 1);
+  __pyx_v_y1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_ys.diminfo[0].strides));
+  __pyx_t_1 = (__pyx_v_k + 1);
+  __pyx_v_z1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_zs.diminfo[0].strides));
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":131
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ *     cdef double dx = x1 - x0, dy = y1 - y0, dz = z1 - z0             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_xs = numpy.array([x0 - dx, x0, x1, x0 + 2 * dx])
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_ys = numpy.array([y0 - dy, y0, y1, y0 + 2 * dy])
+ */
+  __pyx_v_dx = (__pyx_v_x1 - __pyx_v_x0);
+  __pyx_v_dy = (__pyx_v_y1 - __pyx_v_y0);
+  __pyx_v_dz = (__pyx_v_z1 - __pyx_v_z0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":132
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ *     cdef double dx = x1 - x0, dy = y1 - y0, dz = z1 - z0
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_xs = numpy.array([x0 - dx, x0, x1, x0 + 2 * dx])             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_ys = numpy.array([y0 - dy, y0, y1, y0 + 2 * dy])
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_zs = numpy.array([z0 - dz, z0, z1, z0 + 2 * dz])
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_x0 - __pyx_v_dx)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble((__pyx_v_x0 + (2.0 * __pyx_v_dx))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_8 = PyList_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_7);
+  __pyx_t_3 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_7 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_7)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_7);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 132, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 132, __pyx_L1_error)
+  __pyx_t_9 = ((PyArrayObject *)__pyx_t_2);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_local_xs.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_local_xs = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_local_xs.rcbuffer->pybuffer.buf = NULL;
+      __PYX_ERR(0, 132, __pyx_L1_error)
+    } else {__pyx_pybuffernd_local_xs.diminfo[0].strides = __pyx_pybuffernd_local_xs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_local_xs.diminfo[0].shape = __pyx_pybuffernd_local_xs.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_9 = 0;
+  __pyx_v_local_xs = ((PyArrayObject *)__pyx_t_2);
+  __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":133
+ *     cdef double dx = x1 - x0, dy = y1 - y0, dz = z1 - z0
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_xs = numpy.array([x0 - dx, x0, x1, x0 + 2 * dx])
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_ys = numpy.array([y0 - dy, y0, y1, y0 + 2 * dy])             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_zs = numpy.array([z0 - dz, z0, z1, z0 + 2 * dz])
+ *     # big numbers unambiguously outside, no two of which are the same so (probably) no risk of dividing by zero?
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_numpy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_y0 - __pyx_v_dy)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyFloat_FromDouble((__pyx_v_y0 + (2.0 * __pyx_v_dy))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_3, 3, __pyx_t_5);
+  __pyx_t_4 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_5 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
+    if (likely(__pyx_t_5)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_8, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 133, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 133, __pyx_L1_error)
+  __pyx_t_10 = ((PyArrayObject *)__pyx_t_2);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_local_ys.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_local_ys = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_local_ys.rcbuffer->pybuffer.buf = NULL;
+      __PYX_ERR(0, 133, __pyx_L1_error)
+    } else {__pyx_pybuffernd_local_ys.diminfo[0].strides = __pyx_pybuffernd_local_ys.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_local_ys.diminfo[0].shape = __pyx_pybuffernd_local_ys.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_10 = 0;
+  __pyx_v_local_ys = ((PyArrayObject *)__pyx_t_2);
+  __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":134
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_xs = numpy.array([x0 - dx, x0, x1, x0 + 2 * dx])
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_ys = numpy.array([y0 - dy, y0, y1, y0 + 2 * dy])
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_zs = numpy.array([z0 - dz, z0, z1, z0 + 2 * dz])             # <<<<<<<<<<<<<<
+ *     # big numbers unambiguously outside, no two of which are the same so (probably) no risk of dividing by zero?
+ *     cdef numpy.ndarray[numpy.float_t, ndim=3] data = numpy.array(big_number_matrix)
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_numpy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_t_8 = PyFloat_FromDouble((__pyx_v_z0 - __pyx_v_dz)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_7 = PyFloat_FromDouble((__pyx_v_z0 + (2.0 * __pyx_v_dz))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __pyx_t_4 = PyList_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_7);
+  __pyx_t_8 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_7 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
+    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
+    if (likely(__pyx_t_7)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_7);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_3, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 134, __pyx_L1_error)
+  __pyx_t_11 = ((PyArrayObject *)__pyx_t_2);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_local_zs.rcbuffer->pybuffer, (PyObject*)__pyx_t_11, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_local_zs = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_local_zs.rcbuffer->pybuffer.buf = NULL;
+      __PYX_ERR(0, 134, __pyx_L1_error)
+    } else {__pyx_pybuffernd_local_zs.diminfo[0].strides = __pyx_pybuffernd_local_zs.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_local_zs.diminfo[0].shape = __pyx_pybuffernd_local_zs.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_11 = 0;
+  __pyx_v_local_zs = ((PyArrayObject *)__pyx_t_2);
+  __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":136
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] local_zs = numpy.array([z0 - dz, z0, z1, z0 + 2 * dz])
+ *     # big numbers unambiguously outside, no two of which are the same so (probably) no risk of dividing by zero?
+ *     cdef numpy.ndarray[numpy.float_t, ndim=3] data = numpy.array(big_number_matrix)             # <<<<<<<<<<<<<<
+ *     cdef double x, y, z
+ *     cdef int i1, j1, k1
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 136, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 136, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_big_number_matrix); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 136, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_7 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+    if (likely(__pyx_t_7)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_7);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+    }
+  }
+  __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 136, __pyx_L1_error)
+  __pyx_t_12 = ((PyArrayObject *)__pyx_t_2);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) {
+      __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL;
+      __PYX_ERR(0, 136, __pyx_L1_error)
+    } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_data.diminfo[1].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_data.diminfo[1].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_data.diminfo[2].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_data.diminfo[2].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[2];
+    }
+  }
+  __pyx_t_12 = 0;
+  __pyx_v_data = ((PyArrayObject *)__pyx_t_2);
+  __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":139
+ *     cdef double x, y, z
+ *     cdef int i1, j1, k1
+ *     if not objects:             # <<<<<<<<<<<<<<
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):
+ */
+  __pyx_t_13 = (__pyx_v_objects != Py_None)&&(PyList_GET_SIZE(__pyx_v_objects) != 0);
+  __pyx_t_14 = ((!__pyx_t_13) != 0);
+  if (__pyx_t_14) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":140
+ *     cdef int i1, j1, k1
+ *     if not objects:
+ *         print 'grr... it thinks there is surface when no nearby objects.'             # <<<<<<<<<<<<<<
+ *     for i, x in zip([1, 2], [x0, x1]):
+ *         for j, y in zip([1, 2], [y0, y1]):
+ */
+    if (__Pyx_PrintOne(0, __pyx_kp_s_grr_it_thinks_there_is_surface_w) < 0) __PYX_ERR(0, 140, __pyx_L1_error)
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":139
+ *     cdef double x, y, z
+ *     cdef int i1, j1, k1
+ *     if not objects:             # <<<<<<<<<<<<<<
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":141
+ *     if not objects:
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):             # <<<<<<<<<<<<<<
+ *         for j, y in zip([1, 2], [y0, y1]):
+ *             for k, z in zip([1, 2], [z0, z1]):
+ */
+  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_INCREF(__pyx_int_1);
+  __Pyx_GIVEREF(__pyx_int_1);
+  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
+  __Pyx_INCREF(__pyx_int_2);
+  __Pyx_GIVEREF(__pyx_int_2);
+  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_int_2);
+  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_x0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_x1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_3);
+  __pyx_t_4 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
+  __pyx_t_2 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
+    __pyx_t_3 = __pyx_t_7; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0;
+    __pyx_t_16 = NULL;
+  } else {
+    __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 141, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 141, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_16)) {
+      if (likely(PyList_CheckExact(__pyx_t_3))) {
+        if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_7 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 141, __pyx_L1_error)
+        #else
+        __pyx_t_7 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        #endif
+      } else {
+        if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 141, __pyx_L1_error)
+        #else
+        __pyx_t_7 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        #endif
+      }
+    } else {
+      __pyx_t_7 = __pyx_t_16(__pyx_t_3);
+      if (unlikely(!__pyx_t_7)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 141, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_7);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) {
+      PyObject* sequence = __pyx_t_7;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 141, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_4);
+      #else
+      __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      #endif
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 141, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __pyx_t_17 = Py_TYPE(__pyx_t_6)->tp_iternext;
+      index = 0; __pyx_t_2 = __pyx_t_17(__pyx_t_6); if (unlikely(!__pyx_t_2)) goto __pyx_L6_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_2);
+      index = 1; __pyx_t_4 = __pyx_t_17(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_4);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_6), 2) < 0) __PYX_ERR(0, 141, __pyx_L1_error)
+      __pyx_t_17 = NULL;
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      goto __pyx_L7_unpacking_done;
+      __pyx_L6_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __pyx_t_17 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 141, __pyx_L1_error)
+      __pyx_L7_unpacking_done:;
+    }
+    __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 141, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 141, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_i = __pyx_t_18;
+    __pyx_v_x = __pyx_t_19;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":142
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):
+ *         for j, y in zip([1, 2], [y0, y1]):             # <<<<<<<<<<<<<<
+ *             for k, z in zip([1, 2], [z0, z1]):
+ *                 data[i, j, k] = min([objdist(x, y, z) for objdist in objects])
+ */
+    __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_INCREF(__pyx_int_1);
+    __Pyx_GIVEREF(__pyx_int_1);
+    PyList_SET_ITEM(__pyx_t_7, 0, __pyx_int_1);
+    __Pyx_INCREF(__pyx_int_2);
+    __Pyx_GIVEREF(__pyx_int_2);
+    PyList_SET_ITEM(__pyx_t_7, 1, __pyx_int_2);
+    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_y0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_4);
+    PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_2);
+    __pyx_t_4 = 0;
+    __pyx_t_2 = 0;
+    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_7);
+    __Pyx_GIVEREF(__pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
+    __pyx_t_7 = 0;
+    __pyx_t_6 = 0;
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 142, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
+      __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2); __pyx_t_20 = 0;
+      __pyx_t_21 = NULL;
+    } else {
+      __pyx_t_20 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __pyx_t_21 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 142, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_21)) {
+        if (likely(PyList_CheckExact(__pyx_t_2))) {
+          if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_2)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_20); __Pyx_INCREF(__pyx_t_6); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 142, __pyx_L1_error)
+          #else
+          __pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 142, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          #endif
+        } else {
+          if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_20); __Pyx_INCREF(__pyx_t_6); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 142, __pyx_L1_error)
+          #else
+          __pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 142, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          #endif
+        }
+      } else {
+        __pyx_t_6 = __pyx_t_21(__pyx_t_2);
+        if (unlikely(!__pyx_t_6)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 142, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_6);
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
+        PyObject* sequence = __pyx_t_6;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 2)) {
+          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 142, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+        } else {
+          __pyx_t_7 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+        }
+        __Pyx_INCREF(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_4);
+        #else
+        __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 142, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 142, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext;
+        index = 0; __pyx_t_7 = __pyx_t_17(__pyx_t_5); if (unlikely(!__pyx_t_7)) goto __pyx_L10_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_7);
+        index = 1; __pyx_t_4 = __pyx_t_17(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L10_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_4);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_5), 2) < 0) __PYX_ERR(0, 142, __pyx_L1_error)
+        __pyx_t_17 = NULL;
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        goto __pyx_L11_unpacking_done;
+        __pyx_L10_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_17 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 142, __pyx_L1_error)
+        __pyx_L11_unpacking_done:;
+      }
+      __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 142, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 142, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_v_j = __pyx_t_18;
+      __pyx_v_y = __pyx_t_19;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":143
+ *     for i, x in zip([1, 2], [x0, x1]):
+ *         for j, y in zip([1, 2], [y0, y1]):
+ *             for k, z in zip([1, 2], [z0, z1]):             # <<<<<<<<<<<<<<
+ *                 data[i, j, k] = min([objdist(x, y, z) for objdist in objects])
+ * 
+ */
+      __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_INCREF(__pyx_int_1);
+      __Pyx_GIVEREF(__pyx_int_1);
+      PyList_SET_ITEM(__pyx_t_6, 0, __pyx_int_1);
+      __Pyx_INCREF(__pyx_int_2);
+      __Pyx_GIVEREF(__pyx_int_2);
+      PyList_SET_ITEM(__pyx_t_6, 1, __pyx_int_2);
+      __pyx_t_4 = PyFloat_FromDouble(__pyx_v_z0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_7 = PyFloat_FromDouble(__pyx_v_z1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GIVEREF(__pyx_t_4);
+      PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+      __Pyx_GIVEREF(__pyx_t_7);
+      PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_7);
+      __pyx_t_4 = 0;
+      __pyx_t_7 = 0;
+      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      __Pyx_GIVEREF(__pyx_t_6);
+      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
+      __Pyx_GIVEREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
+      __pyx_t_6 = 0;
+      __pyx_t_5 = 0;
+      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
+        __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_22 = 0;
+        __pyx_t_23 = NULL;
+      } else {
+        __pyx_t_22 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 143, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        __pyx_t_23 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 143, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_23)) {
+          if (likely(PyList_CheckExact(__pyx_t_7))) {
+            if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_7)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_5); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 143, __pyx_L1_error)
+            #else
+            __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            #endif
+          } else {
+            if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_7)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_5); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 143, __pyx_L1_error)
+            #else
+            __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_5);
+            #endif
+          }
+        } else {
+          __pyx_t_5 = __pyx_t_23(__pyx_t_7);
+          if (unlikely(!__pyx_t_5)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 143, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_5);
+        }
+        if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
+          PyObject* sequence = __pyx_t_5;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 2)) {
+            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 143, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+          } else {
+            __pyx_t_6 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+          }
+          __Pyx_INCREF(__pyx_t_6);
+          __Pyx_INCREF(__pyx_t_4);
+          #else
+          __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 143, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          #endif
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 143, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __pyx_t_17 = Py_TYPE(__pyx_t_8)->tp_iternext;
+          index = 0; __pyx_t_6 = __pyx_t_17(__pyx_t_8); if (unlikely(!__pyx_t_6)) goto __pyx_L14_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_6);
+          index = 1; __pyx_t_4 = __pyx_t_17(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L14_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_4);
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_17(__pyx_t_8), 2) < 0) __PYX_ERR(0, 143, __pyx_L1_error)
+          __pyx_t_17 = NULL;
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          goto __pyx_L15_unpacking_done;
+          __pyx_L14_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          __pyx_t_17 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 143, __pyx_L1_error)
+          __pyx_L15_unpacking_done:;
+        }
+        __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_v_k = __pyx_t_18;
+        __pyx_v_z = __pyx_t_19;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":144
+ *         for j, y in zip([1, 2], [y0, y1]):
+ *             for k, z in zip([1, 2], [z0, z1]):
+ *                 data[i, j, k] = min([objdist(x, y, z) for objdist in objects])             # <<<<<<<<<<<<<<
+ * 
+ *     # TODO: I probably don't need the 8 corner voxels
+ */
+        __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 144, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+        if (unlikely(__pyx_v_objects == Py_None)) {
+          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+          __PYX_ERR(0, 144, __pyx_L1_error)
+        }
+        __pyx_t_4 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_4); __pyx_t_24 = 0;
+        for (;;) {
+          if (__pyx_t_24 >= PyList_GET_SIZE(__pyx_t_4)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_24); __Pyx_INCREF(__pyx_t_6); __pyx_t_24++; if (unlikely(0 < 0)) __PYX_ERR(0, 144, __pyx_L1_error)
+          #else
+          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_24); __pyx_t_24++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          #endif
+          __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_6);
+          __pyx_t_6 = 0;
+          __pyx_t_8 = PyFloat_FromDouble(__pyx_v_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 144, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_8);
+          __pyx_t_25 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 144, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_25);
+          __pyx_t_26 = PyFloat_FromDouble(__pyx_v_z); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 144, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __Pyx_INCREF(__pyx_v_objdist);
+          __pyx_t_27 = __pyx_v_objdist; __pyx_t_28 = NULL;
+          __pyx_t_18 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) {
+            __pyx_t_28 = PyMethod_GET_SELF(__pyx_t_27);
+            if (likely(__pyx_t_28)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27);
+              __Pyx_INCREF(__pyx_t_28);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_27, function);
+              __pyx_t_18 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_27)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_28, __pyx_t_8, __pyx_t_25, __pyx_t_26};
+            __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+            __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_28, __pyx_t_8, __pyx_t_25, __pyx_t_26};
+            __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+            __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_29 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 144, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            if (__pyx_t_28) {
+              __Pyx_GIVEREF(__pyx_t_28); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_28); __pyx_t_28 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_8);
+            PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_18, __pyx_t_8);
+            __Pyx_GIVEREF(__pyx_t_25);
+            PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_18, __pyx_t_25);
+            __Pyx_GIVEREF(__pyx_t_26);
+            PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_18, __pyx_t_26);
+            __pyx_t_8 = 0;
+            __pyx_t_25 = 0;
+            __pyx_t_26 = 0;
+            __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_29, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 144, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 144, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_30 == ((npy_double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 144, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_1 = __pyx_v_i;
+        __pyx_t_31 = __pyx_v_j;
+        __pyx_t_32 = __pyx_v_k;
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_data.diminfo[2].strides) = __pyx_t_30;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":143
+ *     for i, x in zip([1, 2], [x0, x1]):
+ *         for j, y in zip([1, 2], [y0, y1]):
+ *             for k, z in zip([1, 2], [z0, z1]):             # <<<<<<<<<<<<<<
+ *                 data[i, j, k] = min([objdist(x, y, z) for objdist in objects])
+ * 
+ */
+      }
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":142
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):
+ *         for j, y in zip([1, 2], [y0, y1]):             # <<<<<<<<<<<<<<
+ *             for k, z in zip([1, 2], [z0, z1]):
+ *                 data[i, j, k] = min([objdist(x, y, z) for objdist in objects])
+ */
+    }
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":141
+ *     if not objects:
+ *         print 'grr... it thinks there is surface when no nearby objects.'
+ *     for i, x in zip([1, 2], [x0, x1]):             # <<<<<<<<<<<<<<
+ *         for j, y in zip([1, 2], [y0, y1]):
+ *             for k, z in zip([1, 2], [z0, z1]):
+ */
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":148
+ *     # TODO: I probably don't need the 8 corner voxels
+ *     # 9 doubles/tri * 5 tri/cell * 27 cells = 1215 doubles
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] tridata = numpy.zeros(1215)             # <<<<<<<<<<<<<<
+ *     cdef int start = 0
+ *     for i in range(3):
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 148, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_7, function);
+    }
+  }
+  __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_2, __pyx_int_1215) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_1215);
+  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 148, __pyx_L1_error)
+  __pyx_t_33 = ((PyArrayObject *)__pyx_t_3);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer, (PyObject*)__pyx_t_33, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_tridata = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_tridata.rcbuffer->pybuffer.buf = NULL;
+      __PYX_ERR(0, 148, __pyx_L1_error)
+    } else {__pyx_pybuffernd_tridata.diminfo[0].strides = __pyx_pybuffernd_tridata.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_tridata.diminfo[0].shape = __pyx_pybuffernd_tridata.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_33 = 0;
+  __pyx_v_tridata = ((PyArrayObject *)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":149
+ *     # 9 doubles/tri * 5 tri/cell * 27 cells = 1215 doubles
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] tridata = numpy.zeros(1215)
+ *     cdef int start = 0             # <<<<<<<<<<<<<<
+ *     for i in range(3):
+ *         i1 = i + 1
+ */
+  __pyx_v_start = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":150
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] tridata = numpy.zeros(1215)
+ *     cdef int start = 0
+ *     for i in range(3):             # <<<<<<<<<<<<<<
+ *         i1 = i + 1
+ *         for j in range(3):
+ */
+  for (__pyx_t_18 = 0; __pyx_t_18 < 3; __pyx_t_18+=1) {
+    __pyx_v_i = __pyx_t_18;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":151
+ *     cdef int start = 0
+ *     for i in range(3):
+ *         i1 = i + 1             # <<<<<<<<<<<<<<
+ *         for j in range(3):
+ *             j1 = j + 1
+ */
+    __pyx_v_i1 = (__pyx_v_i + 1);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":152
+ *     for i in range(3):
+ *         i1 = i + 1
+ *         for j in range(3):             # <<<<<<<<<<<<<<
+ *             j1 = j + 1
+ *             for k in range(3):
+ */
+    for (__pyx_t_34 = 0; __pyx_t_34 < 3; __pyx_t_34+=1) {
+      __pyx_v_j = __pyx_t_34;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":153
+ *         i1 = i + 1
+ *         for j in range(3):
+ *             j1 = j + 1             # <<<<<<<<<<<<<<
+ *             for k in range(3):
+ *                 k1 = k + 1
+ */
+      __pyx_v_j1 = (__pyx_v_j + 1);
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":154
+ *         for j in range(3):
+ *             j1 = j + 1
+ *             for k in range(3):             # <<<<<<<<<<<<<<
+ *                 k1 = k + 1
+ *                 x, y, z = xs[i], ys[j], zs[k]
+ */
+      for (__pyx_t_35 = 0; __pyx_t_35 < 3; __pyx_t_35+=1) {
+        __pyx_v_k = __pyx_t_35;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":155
+ *             j1 = j + 1
+ *             for k in range(3):
+ *                 k1 = k + 1             # <<<<<<<<<<<<<<
+ *                 x, y, z = xs[i], ys[j], zs[k]
+ *                 x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ */
+        __pyx_v_k1 = (__pyx_v_k + 1);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":156
+ *             for k in range(3):
+ *                 k1 = k + 1
+ *                 x, y, z = xs[i], ys[j], zs[k]             # <<<<<<<<<<<<<<
+ *                 x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ *                 value0, value1, value2, value3, value4, value5, value6, value7 = (data[i, j, k],
+ */
+        __pyx_t_32 = __pyx_v_i;
+        __pyx_t_30 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_xs.diminfo[0].strides));
+        __pyx_t_32 = __pyx_v_j;
+        __pyx_t_36 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_ys.diminfo[0].strides));
+        __pyx_t_32 = __pyx_v_k;
+        __pyx_t_37 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_zs.diminfo[0].strides));
+        __pyx_v_x = __pyx_t_30;
+        __pyx_v_y = __pyx_t_36;
+        __pyx_v_z = __pyx_t_37;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":157
+ *                 k1 = k + 1
+ *                 x, y, z = xs[i], ys[j], zs[k]
+ *                 x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]             # <<<<<<<<<<<<<<
+ *                 value0, value1, value2, value3, value4, value5, value6, value7 = (data[i, j, k],
+ *                                                                                   data[i1, j, k],
+ */
+        __pyx_t_32 = (__pyx_v_i + 1);
+        __pyx_t_37 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_xs.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_xs.diminfo[0].strides));
+        __pyx_t_32 = (__pyx_v_j + 1);
+        __pyx_t_36 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_ys.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_ys.diminfo[0].strides));
+        __pyx_t_32 = (__pyx_v_k + 1);
+        __pyx_t_30 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_zs.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_zs.diminfo[0].strides));
+        __pyx_v_x1 = __pyx_t_37;
+        __pyx_v_y1 = __pyx_t_36;
+        __pyx_v_z1 = __pyx_t_30;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":158
+ *                 x, y, z = xs[i], ys[j], zs[k]
+ *                 x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ *                 value0, value1, value2, value3, value4, value5, value6, value7 = (data[i, j, k],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i1, j, k],
+ *                                                                                   data[i1, j1, k],
+ */
+        __pyx_t_32 = __pyx_v_i;
+        __pyx_t_31 = __pyx_v_j;
+        __pyx_t_1 = __pyx_v_k;
+        __pyx_t_3 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_1, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":159
+ *                 x1, y1, z1 = xs[i + 1], ys[j + 1], zs[k + 1]
+ *                 value0, value1, value2, value3, value4, value5, value6, value7 = (data[i, j, k],
+ *                                                                                   data[i1, j, k],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i1, j1, k],
+ *                                                                                   data[i, j1, k],
+ */
+        __pyx_t_1 = __pyx_v_i1;
+        __pyx_t_31 = __pyx_v_j;
+        __pyx_t_32 = __pyx_v_k;
+        __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 159, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":160
+ *                 value0, value1, value2, value3, value4, value5, value6, value7 = (data[i, j, k],
+ *                                                                                   data[i1, j, k],
+ *                                                                                   data[i1, j1, k],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i, j1, k],
+ *                                                                                   data[i, j, k1],
+ */
+        __pyx_t_32 = __pyx_v_i1;
+        __pyx_t_31 = __pyx_v_j1;
+        __pyx_t_1 = __pyx_v_k;
+        __pyx_t_2 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_1, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":161
+ *                                                                                   data[i1, j, k],
+ *                                                                                   data[i1, j1, k],
+ *                                                                                   data[i, j1, k],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i, j, k1],
+ *                                                                                   data[i1, j, k1],
+ */
+        __pyx_t_1 = __pyx_v_i;
+        __pyx_t_31 = __pyx_v_j1;
+        __pyx_t_32 = __pyx_v_k;
+        __pyx_t_4 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 161, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":162
+ *                                                                                   data[i1, j1, k],
+ *                                                                                   data[i, j1, k],
+ *                                                                                   data[i, j, k1],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i1, j, k1],
+ *                                                                                   data[i1, j1, k1],
+ */
+        __pyx_t_32 = __pyx_v_i;
+        __pyx_t_31 = __pyx_v_j;
+        __pyx_t_1 = __pyx_v_k1;
+        __pyx_t_5 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_1, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 162, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_5);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":163
+ *                                                                                   data[i, j1, k],
+ *                                                                                   data[i, j, k1],
+ *                                                                                   data[i1, j, k1],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i1, j1, k1],
+ *                                                                                   data[i, j1, k1])
+ */
+        __pyx_t_1 = __pyx_v_i1;
+        __pyx_t_31 = __pyx_v_j;
+        __pyx_t_32 = __pyx_v_k1;
+        __pyx_t_6 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 163, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":164
+ *                                                                                   data[i, j, k1],
+ *                                                                                   data[i1, j, k1],
+ *                                                                                   data[i1, j1, k1],             # <<<<<<<<<<<<<<
+ *                                                                                   data[i, j1, k1])
+ *                 # TODO: if i = 0, j = k = 1, then this finds the triangles to the left (so can get area that way), etc...
+ */
+        __pyx_t_32 = __pyx_v_i1;
+        __pyx_t_31 = __pyx_v_j1;
+        __pyx_t_1 = __pyx_v_k1;
+        __pyx_t_27 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_1, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 164, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":165
+ *                                                                                   data[i1, j, k1],
+ *                                                                                   data[i1, j1, k1],
+ *                                                                                   data[i, j1, k1])             # <<<<<<<<<<<<<<
+ *                 # TODO: if i = 0, j = k = 1, then this finds the triangles to the left (so can get area that way), etc...
+ *                 start += 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ */
+        __pyx_t_1 = __pyx_v_i;
+        __pyx_t_31 = __pyx_v_j1;
+        __pyx_t_32 = __pyx_v_k1;
+        __pyx_t_29 = PyFloat_FromDouble((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_data.rcbuffer->pybuffer.buf, __pyx_t_1, __pyx_pybuffernd_data.diminfo[0].strides, __pyx_t_31, __pyx_pybuffernd_data.diminfo[1].strides, __pyx_t_32, __pyx_pybuffernd_data.diminfo[2].strides))); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 165, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_29);
+        __Pyx_XDECREF_SET(__pyx_v_value0, __pyx_t_3);
+        __pyx_t_3 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value1, __pyx_t_7);
+        __pyx_t_7 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value2, __pyx_t_2);
+        __pyx_t_2 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value3, __pyx_t_4);
+        __pyx_t_4 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value4, __pyx_t_5);
+        __pyx_t_5 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value5, __pyx_t_6);
+        __pyx_t_6 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value6, __pyx_t_27);
+        __pyx_t_27 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_value7, __pyx_t_29);
+        __pyx_t_29 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":167
+ *                                                                                   data[i, j1, k1])
+ *                 # TODO: if i = 0, j = k = 1, then this finds the triangles to the left (so can get area that way), etc...
+ *                 start += 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])             # <<<<<<<<<<<<<<
+ *     # at this point tridata contains a triangularization that encloses the entire cell's volume
+ *     tridata.resize(start, refcheck=False)
+ */
+        __pyx_t_19 = __pyx_PyFloat_AsDouble(__pyx_v_value0); if (unlikely((__pyx_t_19 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_38 = __pyx_PyFloat_AsDouble(__pyx_v_value1); if (unlikely((__pyx_t_38 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_39 = __pyx_PyFloat_AsDouble(__pyx_v_value2); if (unlikely((__pyx_t_39 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_40 = __pyx_PyFloat_AsDouble(__pyx_v_value3); if (unlikely((__pyx_t_40 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_41 = __pyx_PyFloat_AsDouble(__pyx_v_value4); if (unlikely((__pyx_t_41 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_42 = __pyx_PyFloat_AsDouble(__pyx_v_value5); if (unlikely((__pyx_t_42 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_43 = __pyx_PyFloat_AsDouble(__pyx_v_value6); if (unlikely((__pyx_t_43 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_44 = __pyx_PyFloat_AsDouble(__pyx_v_value7); if (unlikely((__pyx_t_44 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
+        __pyx_t_32 = __pyx_v_start;
+        __pyx_v_start = (__pyx_v_start + (9 * find_triangles(__pyx_t_19, __pyx_t_38, __pyx_t_39, __pyx_t_40, __pyx_t_41, __pyx_t_42, __pyx_t_43, __pyx_t_44, __pyx_v_x, __pyx_v_x1, __pyx_v_y, __pyx_v_y1, __pyx_v_z, __pyx_v_z1, (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_tridata.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_tridata.diminfo[0].strides))))));
+      }
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":169
+ *                 start += 9 * find_triangles(value0, value1, value2, value3, value4, value5, value6, value7, x, x1, y, y1, z, z1, &tridata[start])
+ *     # at this point tridata contains a triangularization that encloses the entire cell's volume
+ *     tridata.resize(start, refcheck=False)             # <<<<<<<<<<<<<<
+ *     return tri_volume(tridata)
+ * 
+ */
+  __pyx_t_29 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_tridata), __pyx_n_s_resize); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_start); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_27);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_27);
+  __pyx_t_27 = 0;
+  __pyx_t_27 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  if (PyDict_SetItem(__pyx_t_27, __pyx_n_s_refcheck, Py_False) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_29, __pyx_t_6, __pyx_t_27); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":170
+ *     # at this point tridata contains a triangularization that encloses the entire cell's volume
+ *     tridata.resize(start, refcheck=False)
+ *     return tri_volume(tridata)             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_5 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_volume(((PyArrayObject *)__pyx_v_tridata), 0)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 170, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_r = __pyx_t_5;
+  __pyx_t_5 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":128
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):             # <<<<<<<<<<<<<<
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_XDECREF(__pyx_t_29);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_xs.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_ys.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_zs.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_xs.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ys.rcbuffer->pybuffer);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_zs.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.volume_inside_cell", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_xs.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_ys.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_local_zs.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_tridata.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_xs.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_ys.rcbuffer->pybuffer);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_zs.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_local_xs);
+  __Pyx_XDECREF((PyObject *)__pyx_v_local_ys);
+  __Pyx_XDECREF((PyObject *)__pyx_v_local_zs);
+  __Pyx_XDECREF((PyObject *)__pyx_v_data);
+  __Pyx_XDECREF((PyObject *)__pyx_v_tridata);
+  __Pyx_XDECREF(__pyx_v_value0);
+  __Pyx_XDECREF(__pyx_v_value1);
+  __Pyx_XDECREF(__pyx_v_value2);
+  __Pyx_XDECREF(__pyx_v_value3);
+  __Pyx_XDECREF(__pyx_v_value4);
+  __Pyx_XDECREF(__pyx_v_value5);
+  __Pyx_XDECREF(__pyx_v_value6);
+  __Pyx_XDECREF(__pyx_v_value7);
+  __Pyx_XDECREF(__pyx_v_objdist);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":173
+ * 
+ * 
+ * cdef append_with_deltas(list cell_list, int i, int j, int k):             # <<<<<<<<<<<<<<
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),
+ */
+
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_append_with_deltas(PyObject *__pyx_v_cell_list, int __pyx_v_i, int __pyx_v_j, int __pyx_v_k) {
+  int __pyx_v_im1;
+  int __pyx_v_jm1;
+  int __pyx_v_km1;
+  int __pyx_v_ip1;
+  int __pyx_v_jp1;
+  int __pyx_v_kp1;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  PyObject *__pyx_t_15 = NULL;
+  PyObject *__pyx_t_16 = NULL;
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *__pyx_t_19 = NULL;
+  PyObject *__pyx_t_20 = NULL;
+  PyObject *__pyx_t_21 = NULL;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  PyObject *__pyx_t_24 = NULL;
+  PyObject *__pyx_t_25 = NULL;
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  PyObject *__pyx_t_29 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("append_with_deltas", 0);
+  __Pyx_INCREF(__pyx_v_cell_list);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":174
+ * 
+ * cdef append_with_deltas(list cell_list, int i, int j, int k):
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1             # <<<<<<<<<<<<<<
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),
+ */
+  __pyx_v_im1 = (__pyx_v_i - 1);
+  __pyx_v_jm1 = (__pyx_v_j - 1);
+  __pyx_v_km1 = (__pyx_v_k - 1);
+  __pyx_v_ip1 = (__pyx_v_i + 1);
+  __pyx_v_jp1 = (__pyx_v_j + 1);
+  __pyx_v_kp1 = (__pyx_v_k + 1);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":175
+ * cdef append_with_deltas(list cell_list, int i, int j, int k):
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),             # <<<<<<<<<<<<<<
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":176
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),             # <<<<<<<<<<<<<<
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),
+ *                   (i, j, km1), (i, j, kp1), (i, jp1, km1), (i, jp1, k), (i, jp1, kp1),
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 176, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":177
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),             # <<<<<<<<<<<<<<
+ *                   (i, j, km1), (i, j, kp1), (i, jp1, km1), (i, jp1, k), (i, jp1, kp1),
+ *                   (ip1, jm1, km1), (ip1, jm1, k), (ip1, jm1, kp1), (ip1, j, km1),
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_im1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_15 = PyTuple_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 177, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":178
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),
+ *                   (i, j, km1), (i, j, kp1), (i, jp1, km1), (i, jp1, k), (i, jp1, kp1),             # <<<<<<<<<<<<<<
+ *                   (ip1, jm1, km1), (ip1, jm1, k), (ip1, jm1, kp1), (ip1, j, km1),
+ *                   (ip1, j, k), (ip1, j, kp1), (ip1, jp1, km1), (ip1, jp1, k),
+ */
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_18 = PyTuple_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_18, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_19 = PyTuple_New(3); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_19, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_19, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_20 = PyTuple_New(3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 178, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_20, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":179
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),
+ *                   (i, j, km1), (i, j, kp1), (i, jp1, km1), (i, jp1, k), (i, jp1, kp1),
+ *                   (ip1, jm1, km1), (ip1, jm1, k), (ip1, jm1, kp1), (ip1, j, km1),             # <<<<<<<<<<<<<<
+ *                   (ip1, j, k), (ip1, j, kp1), (ip1, jp1, km1), (ip1, jp1, k),
+ *                   (ip1, jp1, kp1)]
+ */
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_21 = PyTuple_New(3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_21, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_22 = PyTuple_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_22);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_22, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jm1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_23 = PyTuple_New(3); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_24 = PyTuple_New(3); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 179, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_24, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":180
+ *                   (i, j, km1), (i, j, kp1), (i, jp1, km1), (i, jp1, k), (i, jp1, kp1),
+ *                   (ip1, jm1, km1), (ip1, jm1, k), (ip1, jm1, kp1), (ip1, j, km1),
+ *                   (ip1, j, k), (ip1, j, kp1), (ip1, jp1, km1), (ip1, jp1, k),             # <<<<<<<<<<<<<<
+ *                   (ip1, jp1, kp1)]
+ * 
+ */
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_25 = PyTuple_New(3); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_25);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_25, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_25, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_26 = PyTuple_New(3); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_26, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_km1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_27 = PyTuple_New(3); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_27);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_27, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 180, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_28);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_t_3);
+  __pyx_t_1 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":181
+ *                   (ip1, jm1, km1), (ip1, jm1, k), (ip1, jm1, kp1), (ip1, j, km1),
+ *                   (ip1, j, k), (ip1, j, kp1), (ip1, jp1, km1), (ip1, jp1, k),
+ *                   (ip1, jp1, kp1)]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_ip1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_jp1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_kp1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_29 = PyTuple_New(3); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_29, 1, __pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_1);
+  PyTuple_SET_ITEM(__pyx_t_29, 2, __pyx_t_1);
+  __pyx_t_3 = 0;
+  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":175
+ * cdef append_with_deltas(list cell_list, int i, int j, int k):
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),             # <<<<<<<<<<<<<<
+ *                   (im1, j, k), (im1, j, kp1), (im1, jp1, km1), (im1, jp1, k),
+ *                   (im1, jp1, kp1), (i, jm1, km1), (i, jm1, k), (i, jm1, kp1),
+ */
+  __pyx_t_1 = PyList_New(26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_5);
+  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_6);
+  PyList_SET_ITEM(__pyx_t_1, 2, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_7);
+  PyList_SET_ITEM(__pyx_t_1, 3, __pyx_t_7);
+  __Pyx_GIVEREF(__pyx_t_8);
+  PyList_SET_ITEM(__pyx_t_1, 4, __pyx_t_8);
+  __Pyx_GIVEREF(__pyx_t_9);
+  PyList_SET_ITEM(__pyx_t_1, 5, __pyx_t_9);
+  __Pyx_GIVEREF(__pyx_t_10);
+  PyList_SET_ITEM(__pyx_t_1, 6, __pyx_t_10);
+  __Pyx_GIVEREF(__pyx_t_11);
+  PyList_SET_ITEM(__pyx_t_1, 7, __pyx_t_11);
+  __Pyx_GIVEREF(__pyx_t_12);
+  PyList_SET_ITEM(__pyx_t_1, 8, __pyx_t_12);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyList_SET_ITEM(__pyx_t_1, 9, __pyx_t_13);
+  __Pyx_GIVEREF(__pyx_t_14);
+  PyList_SET_ITEM(__pyx_t_1, 10, __pyx_t_14);
+  __Pyx_GIVEREF(__pyx_t_15);
+  PyList_SET_ITEM(__pyx_t_1, 11, __pyx_t_15);
+  __Pyx_GIVEREF(__pyx_t_16);
+  PyList_SET_ITEM(__pyx_t_1, 12, __pyx_t_16);
+  __Pyx_GIVEREF(__pyx_t_17);
+  PyList_SET_ITEM(__pyx_t_1, 13, __pyx_t_17);
+  __Pyx_GIVEREF(__pyx_t_18);
+  PyList_SET_ITEM(__pyx_t_1, 14, __pyx_t_18);
+  __Pyx_GIVEREF(__pyx_t_19);
+  PyList_SET_ITEM(__pyx_t_1, 15, __pyx_t_19);
+  __Pyx_GIVEREF(__pyx_t_20);
+  PyList_SET_ITEM(__pyx_t_1, 16, __pyx_t_20);
+  __Pyx_GIVEREF(__pyx_t_21);
+  PyList_SET_ITEM(__pyx_t_1, 17, __pyx_t_21);
+  __Pyx_GIVEREF(__pyx_t_22);
+  PyList_SET_ITEM(__pyx_t_1, 18, __pyx_t_22);
+  __Pyx_GIVEREF(__pyx_t_23);
+  PyList_SET_ITEM(__pyx_t_1, 19, __pyx_t_23);
+  __Pyx_GIVEREF(__pyx_t_24);
+  PyList_SET_ITEM(__pyx_t_1, 20, __pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_25);
+  PyList_SET_ITEM(__pyx_t_1, 21, __pyx_t_25);
+  __Pyx_GIVEREF(__pyx_t_26);
+  PyList_SET_ITEM(__pyx_t_1, 22, __pyx_t_26);
+  __Pyx_GIVEREF(__pyx_t_27);
+  PyList_SET_ITEM(__pyx_t_1, 23, __pyx_t_27);
+  __Pyx_GIVEREF(__pyx_t_28);
+  PyList_SET_ITEM(__pyx_t_1, 24, __pyx_t_28);
+  __Pyx_GIVEREF(__pyx_t_29);
+  PyList_SET_ITEM(__pyx_t_1, 25, __pyx_t_29);
+  __pyx_t_4 = 0;
+  __pyx_t_5 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_7 = 0;
+  __pyx_t_8 = 0;
+  __pyx_t_9 = 0;
+  __pyx_t_10 = 0;
+  __pyx_t_11 = 0;
+  __pyx_t_12 = 0;
+  __pyx_t_13 = 0;
+  __pyx_t_14 = 0;
+  __pyx_t_15 = 0;
+  __pyx_t_16 = 0;
+  __pyx_t_17 = 0;
+  __pyx_t_18 = 0;
+  __pyx_t_19 = 0;
+  __pyx_t_20 = 0;
+  __pyx_t_21 = 0;
+  __pyx_t_22 = 0;
+  __pyx_t_23 = 0;
+  __pyx_t_24 = 0;
+  __pyx_t_25 = 0;
+  __pyx_t_26 = 0;
+  __pyx_t_27 = 0;
+  __pyx_t_28 = 0;
+  __pyx_t_29 = 0;
+  __pyx_t_29 = PyNumber_InPlaceAdd(__pyx_v_cell_list, __pyx_t_1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 175, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF_SET(__pyx_v_cell_list, ((PyObject*)__pyx_t_29));
+  __pyx_t_29 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":173
+ * 
+ * 
+ * cdef append_with_deltas(list cell_list, int i, int j, int k):             # <<<<<<<<<<<<<<
+ *     cdef int im1 = i - 1, jm1 = j - 1, km1 = k - 1, ip1 = i + 1, jp1 = j + 1, kp1 = k + 1
+ *     cell_list += [(im1, jm1, km1), (im1, jm1, k), (im1, jm1, kp1), (im1, j, km1),
+ */
+
+  /* function exit code */
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_15);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_19);
+  __Pyx_XDECREF(__pyx_t_20);
+  __Pyx_XDECREF(__pyx_t_21);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_24);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.append_with_deltas", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_cell_list);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":194
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef chunkify(objects, xs, ys, zs, int chunk_size, double dx):             # <<<<<<<<<<<<<<
+ * 
+ *     cdef int almost = chunk_size - 1
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_9chunkify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_chunkify(PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_v_chunk_size, double __pyx_v_dx, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  int __pyx_v_almost;
+  int __pyx_v_nx;
+  int __pyx_v_ny;
+  int __pyx_v_nz;
+  CYTHON_UNUSED PyObject *__pyx_v_objects_distances = 0;
+  CYTHON_UNUSED int __pyx_v_m;
+  int __pyx_v_i;
+  int __pyx_v_j;
+  int __pyx_v_k;
+  double __pyx_v_max_d;
+  PyObject *__pyx_v_chunk_objs = 0;
+  int __pyx_v_lenx;
+  int __pyx_v_leny;
+  int __pyx_v_lenz;
+  CYTHON_UNUSED int __pyx_v_robj;
+  double __pyx_v_xlo;
+  double __pyx_v_xhi;
+  double __pyx_v_ylo;
+  double __pyx_v_yhi;
+  double __pyx_v_zlo;
+  double __pyx_v_zhi;
+  double __pyx_v_bufferdx;
+  PyObject *__pyx_v_obj = NULL;
+  int __pyx_v_is_skew_cone;
+  PyObject *__pyx_v_objdist = NULL;
+  PyObject *__pyx_v_chunk_objsi = NULL;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *(*__pyx_t_5)(PyObject *);
+  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_7;
+  int __pyx_t_8;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  int __pyx_t_11;
+  int __pyx_t_12;
+  int __pyx_t_13;
+  int __pyx_t_14;
+  int __pyx_t_15;
+  PyObject *__pyx_t_16 = NULL;
+  int __pyx_t_17;
+  double __pyx_t_18;
+  long __pyx_t_19;
+  long __pyx_t_20;
+  long __pyx_t_21;
+  double __pyx_t_22;
+  PyObject *__pyx_t_23 = NULL;
+  PyObject *__pyx_t_24 = NULL;
+  PyObject *__pyx_t_25 = NULL;
+  int __pyx_t_26;
+  int __pyx_t_27;
+  int __pyx_t_28;
+  PyObject *__pyx_t_29 = NULL;
+  int __pyx_t_30;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("chunkify", 0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":196
+ * cpdef chunkify(objects, xs, ys, zs, int chunk_size, double dx):
+ * 
+ *     cdef int almost = chunk_size - 1             # <<<<<<<<<<<<<<
+ *     cdef int nx = (len(xs) + almost) // chunk_size
+ *     cdef int ny = (len(ys) + almost) // chunk_size
+ */
+  __pyx_v_almost = (__pyx_v_chunk_size - 1);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":197
+ * 
+ *     cdef int almost = chunk_size - 1
+ *     cdef int nx = (len(xs) + almost) // chunk_size             # <<<<<<<<<<<<<<
+ *     cdef int ny = (len(ys) + almost) // chunk_size
+ *     cdef int nz = (len(zs) + almost) // chunk_size
+ */
+  __pyx_t_1 = PyObject_Length(__pyx_v_xs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 197, __pyx_L1_error)
+  __pyx_t_2 = (__pyx_t_1 + __pyx_v_almost);
+  if (unlikely(__pyx_v_chunk_size == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+    __PYX_ERR(0, 197, __pyx_L1_error)
+  }
+  else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_t_2))) {
+    PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+    __PYX_ERR(0, 197, __pyx_L1_error)
+  }
+  __pyx_v_nx = __Pyx_div_Py_ssize_t(__pyx_t_2, __pyx_v_chunk_size);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":198
+ *     cdef int almost = chunk_size - 1
+ *     cdef int nx = (len(xs) + almost) // chunk_size
+ *     cdef int ny = (len(ys) + almost) // chunk_size             # <<<<<<<<<<<<<<
+ *     cdef int nz = (len(zs) + almost) // chunk_size
+ *     cdef list objects_distances = [obj.distance for obj in objects]
+ */
+  __pyx_t_2 = PyObject_Length(__pyx_v_ys); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 198, __pyx_L1_error)
+  __pyx_t_1 = (__pyx_t_2 + __pyx_v_almost);
+  if (unlikely(__pyx_v_chunk_size == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+    __PYX_ERR(0, 198, __pyx_L1_error)
+  }
+  else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_t_1))) {
+    PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+    __PYX_ERR(0, 198, __pyx_L1_error)
+  }
+  __pyx_v_ny = __Pyx_div_Py_ssize_t(__pyx_t_1, __pyx_v_chunk_size);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":199
+ *     cdef int nx = (len(xs) + almost) // chunk_size
+ *     cdef int ny = (len(ys) + almost) // chunk_size
+ *     cdef int nz = (len(zs) + almost) // chunk_size             # <<<<<<<<<<<<<<
+ *     cdef list objects_distances = [obj.distance for obj in objects]
+ *     cdef int m, i, j, k
+ */
+  __pyx_t_1 = PyObject_Length(__pyx_v_zs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 199, __pyx_L1_error)
+  __pyx_t_2 = (__pyx_t_1 + __pyx_v_almost);
+  if (unlikely(__pyx_v_chunk_size == 0)) {
+    PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+    __PYX_ERR(0, 199, __pyx_L1_error)
+  }
+  else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_t_2))) {
+    PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+    __PYX_ERR(0, 199, __pyx_L1_error)
+  }
+  __pyx_v_nz = __Pyx_div_Py_ssize_t(__pyx_t_2, __pyx_v_chunk_size);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":200
+ *     cdef int ny = (len(ys) + almost) // chunk_size
+ *     cdef int nz = (len(zs) + almost) // chunk_size
+ *     cdef list objects_distances = [obj.distance for obj in objects]             # <<<<<<<<<<<<<<
+ *     cdef int m, i, j, k
+ * 
+ */
+  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  if (likely(PyList_CheckExact(__pyx_v_objects)) || PyTuple_CheckExact(__pyx_v_objects)) {
+    __pyx_t_4 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = 0;
+    __pyx_t_5 = NULL;
+  } else {
+    __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_objects); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 200, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_5)) {
+      if (likely(PyList_CheckExact(__pyx_t_4))) {
+        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_4)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 200, __pyx_L1_error)
+        #else
+        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        #endif
+      } else {
+        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 200, __pyx_L1_error)
+        #else
+        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        #endif
+      }
+    } else {
+      __pyx_t_6 = __pyx_t_5(__pyx_t_4);
+      if (unlikely(!__pyx_t_6)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 200, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_6);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_6);
+    __pyx_t_6 = 0;
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 200, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_objects_distances = ((PyObject*)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":204
+ * 
+ *     # this is bigger than sqrt(3) * dx / 2 \approx 0.866, the distance from center of cube to corner
+ *     cdef double max_d = dx * .87 * chunk_size             # <<<<<<<<<<<<<<
+ * 
+ *     # safety factor
+ */
+  __pyx_v_max_d = ((__pyx_v_dx * .87) * __pyx_v_chunk_size);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":207
+ * 
+ *     # safety factor
+ *     max_d *= 2             # <<<<<<<<<<<<<<
+ * 
+ *     cdef list chunk_objs = [[[[] for k in range(nz)] for j in range(ny)] for i in range(nx)]
+ */
+  __pyx_v_max_d = (__pyx_v_max_d * 2.0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":209
+ *     max_d *= 2
+ * 
+ *     cdef list chunk_objs = [[[[] for k in range(nz)] for j in range(ny)] for i in range(nx)]             # <<<<<<<<<<<<<<
+ * 
+ *     # identify chunk_objs
+ */
+  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_7 = __pyx_v_nx;
+  __pyx_t_8 = __pyx_t_7;
+  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
+    __pyx_v_i = __pyx_t_9;
+    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_10 = __pyx_v_ny;
+    __pyx_t_11 = __pyx_t_10;
+    for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
+      __pyx_v_j = __pyx_t_12;
+      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 209, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_13 = __pyx_v_nz;
+      __pyx_t_14 = __pyx_t_13;
+      for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) {
+        __pyx_v_k = __pyx_t_15;
+        __pyx_t_16 = PyList_New(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 209, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_16);
+        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_16))) __PYX_ERR(0, 209, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+      }
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 209, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    }
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 209, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }
+  __pyx_v_chunk_objs = ((PyObject*)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":212
+ * 
+ *     # identify chunk_objs
+ *     cdef int lenx = len(xs)             # <<<<<<<<<<<<<<
+ *     cdef int leny = len(ys)
+ *     cdef int lenz = len(zs), robj = 0
+ */
+  __pyx_t_2 = PyObject_Length(__pyx_v_xs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 212, __pyx_L1_error)
+  __pyx_v_lenx = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":213
+ *     # identify chunk_objs
+ *     cdef int lenx = len(xs)
+ *     cdef int leny = len(ys)             # <<<<<<<<<<<<<<
+ *     cdef int lenz = len(zs), robj = 0
+ *     cdef double xlo, xhi, ylo, yhi, zlo, zhi
+ */
+  __pyx_t_2 = PyObject_Length(__pyx_v_ys); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 213, __pyx_L1_error)
+  __pyx_v_leny = __pyx_t_2;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":214
+ *     cdef int lenx = len(xs)
+ *     cdef int leny = len(ys)
+ *     cdef int lenz = len(zs), robj = 0             # <<<<<<<<<<<<<<
+ *     cdef double xlo, xhi, ylo, yhi, zlo, zhi
+ *     cdef double bufferdx = 3 * dx
+ */
+  __pyx_t_2 = PyObject_Length(__pyx_v_zs); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 214, __pyx_L1_error)
+  __pyx_v_lenz = __pyx_t_2;
+  __pyx_v_robj = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":216
+ *     cdef int lenz = len(zs), robj = 0
+ *     cdef double xlo, xhi, ylo, yhi, zlo, zhi
+ *     cdef double bufferdx = 3 * dx             # <<<<<<<<<<<<<<
+ * 
+ *     # TODO: the is_skew_cone business is here because distances are not the real distances in that case;
+ */
+  __pyx_v_bufferdx = (3.0 * __pyx_v_dx);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":220
+ *     # TODO: the is_skew_cone business is here because distances are not the real distances in that case;
+ *     #       remove it when I fix this (and will get better performance)
+ *     for m, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         is_skew_cone = isinstance(obj, graphicsPrimitives.SkewCone)
+ *         objdist = obj.distance
+ */
+  __pyx_t_7 = 0;
+  if (likely(PyList_CheckExact(__pyx_v_objects)) || PyTuple_CheckExact(__pyx_v_objects)) {
+    __pyx_t_3 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = 0;
+    __pyx_t_5 = NULL;
+  } else {
+    __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_objects); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 220, __pyx_L1_error)
+  }
+  for (;;) {
+    if (likely(!__pyx_t_5)) {
+      if (likely(PyList_CheckExact(__pyx_t_3))) {
+        if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 220, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      } else {
+        if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 220, __pyx_L1_error)
+        #else
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        #endif
+      }
+    } else {
+      __pyx_t_4 = __pyx_t_5(__pyx_t_3);
+      if (unlikely(!__pyx_t_4)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 220, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_4);
+    }
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_v_m = __pyx_t_7;
+    __pyx_t_7 = (__pyx_t_7 + 1);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":221
+ *     #       remove it when I fix this (and will get better performance)
+ *     for m, obj in enumerate(objects):
+ *         is_skew_cone = isinstance(obj, graphicsPrimitives.SkewCone)             # <<<<<<<<<<<<<<
+ *         objdist = obj.distance
+ *         for i in range(nx):
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_graphicsPrimitives); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 221, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_SkewCone); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_17 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_6); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(0, 221, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_v_is_skew_cone = __pyx_t_17;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":222
+ *     for m, obj in enumerate(objects):
+ *         is_skew_cone = isinstance(obj, graphicsPrimitives.SkewCone)
+ *         objdist = obj.distance             # <<<<<<<<<<<<<<
+ *         for i in range(nx):
+ *             xlo, xhi = xs[i * chunk_size], xs[min((i + 1) * chunk_size - 1, lenx - 1)]
+ */
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 222, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_6);
+    __pyx_t_6 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":223
+ *         is_skew_cone = isinstance(obj, graphicsPrimitives.SkewCone)
+ *         objdist = obj.distance
+ *         for i in range(nx):             # <<<<<<<<<<<<<<
+ *             xlo, xhi = xs[i * chunk_size], xs[min((i + 1) * chunk_size - 1, lenx - 1)]
+ *             chunk_objsi = chunk_objs[i]
+ */
+    __pyx_t_8 = __pyx_v_nx;
+    __pyx_t_9 = __pyx_t_8;
+    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
+      __pyx_v_i = __pyx_t_10;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":224
+ *         objdist = obj.distance
+ *         for i in range(nx):
+ *             xlo, xhi = xs[i * chunk_size], xs[min((i + 1) * chunk_size - 1, lenx - 1)]             # <<<<<<<<<<<<<<
+ *             chunk_objsi = chunk_objs[i]
+ *             # CTNG:testbb
+ */
+      __pyx_t_11 = (__pyx_v_i * __pyx_v_chunk_size);
+      __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_xs, __pyx_t_11, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 224, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __pyx_t_19 = (__pyx_v_lenx - 1);
+      __pyx_t_20 = (((__pyx_v_i + 1) * __pyx_v_chunk_size) - 1);
+      if (((__pyx_t_19 < __pyx_t_20) != 0)) {
+        __pyx_t_21 = __pyx_t_19;
+      } else {
+        __pyx_t_21 = __pyx_t_20;
+      }
+      __pyx_t_19 = __pyx_t_21;
+      __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_xs, __pyx_t_19, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 224, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __pyx_v_xlo = __pyx_t_18;
+      __pyx_v_xhi = __pyx_t_22;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":225
+ *         for i in range(nx):
+ *             xlo, xhi = xs[i * chunk_size], xs[min((i + 1) * chunk_size - 1, lenx - 1)]
+ *             chunk_objsi = chunk_objs[i]             # <<<<<<<<<<<<<<
+ *             # CTNG:testbb
+ *             if not obj.overlaps_x(xlo - bufferdx, xhi + bufferdx): continue
+ */
+      __pyx_t_6 = PyList_GET_ITEM(__pyx_v_chunk_objs, __pyx_v_i);
+      __Pyx_INCREF(__pyx_t_6);
+      __Pyx_XDECREF_SET(__pyx_v_chunk_objsi, __pyx_t_6);
+      __pyx_t_6 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":227
+ *             chunk_objsi = chunk_objs[i]
+ *             # CTNG:testbb
+ *             if not obj.overlaps_x(xlo - bufferdx, xhi + bufferdx): continue             # <<<<<<<<<<<<<<
+ *             for j in range(ny):
+ *                 ylo, yhi = ys[j * chunk_size], ys[min(leny - 1, (j + 1) * chunk_size - 1)]
+ */
+      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_overlaps_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 227, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_16 = PyFloat_FromDouble((__pyx_v_xlo - __pyx_v_bufferdx)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 227, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_16);
+      __pyx_t_23 = PyFloat_FromDouble((__pyx_v_xhi + __pyx_v_bufferdx)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 227, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_23);
+      __pyx_t_24 = NULL;
+      __pyx_t_11 = 0;
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+        __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_4);
+        if (likely(__pyx_t_24)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+          __Pyx_INCREF(__pyx_t_24);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_4, function);
+          __pyx_t_11 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_4)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_t_16, __pyx_t_23};
+        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+        __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_t_16, __pyx_t_23};
+        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+        __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_25 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 227, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_25);
+        if (__pyx_t_24) {
+          __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_24); __pyx_t_24 = NULL;
+        }
+        __Pyx_GIVEREF(__pyx_t_16);
+        PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_11, __pyx_t_16);
+        __Pyx_GIVEREF(__pyx_t_23);
+        PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_11, __pyx_t_23);
+        __pyx_t_16 = 0;
+        __pyx_t_23 = 0;
+        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_25, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 227, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __pyx_t_26 = ((!__pyx_t_17) != 0);
+      if (__pyx_t_26) {
+        goto __pyx_L13_continue;
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":228
+ *             # CTNG:testbb
+ *             if not obj.overlaps_x(xlo - bufferdx, xhi + bufferdx): continue
+ *             for j in range(ny):             # <<<<<<<<<<<<<<
+ *                 ylo, yhi = ys[j * chunk_size], ys[min(leny - 1, (j + 1) * chunk_size - 1)]
+ *                 if not obj.overlaps_y(ylo - bufferdx, yhi + bufferdx): continue
+ */
+      __pyx_t_11 = __pyx_v_ny;
+      __pyx_t_12 = __pyx_t_11;
+      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
+        __pyx_v_j = __pyx_t_13;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":229
+ *             if not obj.overlaps_x(xlo - bufferdx, xhi + bufferdx): continue
+ *             for j in range(ny):
+ *                 ylo, yhi = ys[j * chunk_size], ys[min(leny - 1, (j + 1) * chunk_size - 1)]             # <<<<<<<<<<<<<<
+ *                 if not obj.overlaps_y(ylo - bufferdx, yhi + bufferdx): continue
+ *                 for k in range(nz):
+ */
+        __pyx_t_14 = (__pyx_v_j * __pyx_v_chunk_size);
+        __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_ys, __pyx_t_14, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 229, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_19 = (((__pyx_v_j + 1) * __pyx_v_chunk_size) - 1);
+        __pyx_t_21 = (__pyx_v_leny - 1);
+        if (((__pyx_t_19 < __pyx_t_21) != 0)) {
+          __pyx_t_20 = __pyx_t_19;
+        } else {
+          __pyx_t_20 = __pyx_t_21;
+        }
+        __pyx_t_19 = __pyx_t_20;
+        __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_ys, __pyx_t_19, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_6);
+        __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 229, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_v_ylo = __pyx_t_22;
+        __pyx_v_yhi = __pyx_t_18;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":230
+ *             for j in range(ny):
+ *                 ylo, yhi = ys[j * chunk_size], ys[min(leny - 1, (j + 1) * chunk_size - 1)]
+ *                 if not obj.overlaps_y(ylo - bufferdx, yhi + bufferdx): continue             # <<<<<<<<<<<<<<
+ *                 for k in range(nz):
+ *                     zlo, zhi = zs[k * chunk_size], zs[min(lenz - 1, (k + 1) * chunk_size - 1)]
+ */
+        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_overlaps_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __pyx_t_25 = PyFloat_FromDouble((__pyx_v_ylo - __pyx_v_bufferdx)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 230, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_25);
+        __pyx_t_23 = PyFloat_FromDouble((__pyx_v_yhi + __pyx_v_bufferdx)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 230, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        __pyx_t_16 = NULL;
+        __pyx_t_14 = 0;
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+          __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_4);
+          if (likely(__pyx_t_16)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+            __Pyx_INCREF(__pyx_t_16);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_4, function);
+            __pyx_t_14 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_4)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_25, __pyx_t_23};
+          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 230, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+          __Pyx_GOTREF(__pyx_t_6);
+          __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+          PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_25, __pyx_t_23};
+          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 230, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+          __Pyx_GOTREF(__pyx_t_6);
+          __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_24 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 230, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_24);
+          if (__pyx_t_16) {
+            __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_16); __pyx_t_16 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_25);
+          PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_14, __pyx_t_25);
+          __Pyx_GIVEREF(__pyx_t_23);
+          PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_14, __pyx_t_23);
+          __pyx_t_25 = 0;
+          __pyx_t_23 = 0;
+          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_24, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 230, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __pyx_t_26 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_26 < 0)) __PYX_ERR(0, 230, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __pyx_t_17 = ((!__pyx_t_26) != 0);
+        if (__pyx_t_17) {
+          goto __pyx_L16_continue;
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":231
+ *                 ylo, yhi = ys[j * chunk_size], ys[min(leny - 1, (j + 1) * chunk_size - 1)]
+ *                 if not obj.overlaps_y(ylo - bufferdx, yhi + bufferdx): continue
+ *                 for k in range(nz):             # <<<<<<<<<<<<<<
+ *                     zlo, zhi = zs[k * chunk_size], zs[min(lenz - 1, (k + 1) * chunk_size - 1)]
+ *                     if not obj.overlaps_z(zlo - bufferdx, zhi + bufferdx): continue
+ */
+        __pyx_t_14 = __pyx_v_nz;
+        __pyx_t_15 = __pyx_t_14;
+        for (__pyx_t_27 = 0; __pyx_t_27 < __pyx_t_15; __pyx_t_27+=1) {
+          __pyx_v_k = __pyx_t_27;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":232
+ *                 if not obj.overlaps_y(ylo - bufferdx, yhi + bufferdx): continue
+ *                 for k in range(nz):
+ *                     zlo, zhi = zs[k * chunk_size], zs[min(lenz - 1, (k + 1) * chunk_size - 1)]             # <<<<<<<<<<<<<<
+ *                     if not obj.overlaps_z(zlo - bufferdx, zhi + bufferdx): continue
+ *                     # CTNG:testball
+ */
+          __pyx_t_28 = (__pyx_v_k * __pyx_v_chunk_size);
+          __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_zs, __pyx_t_28, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          __pyx_t_18 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_18 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __pyx_t_19 = (((__pyx_v_k + 1) * __pyx_v_chunk_size) - 1);
+          __pyx_t_20 = (__pyx_v_lenz - 1);
+          if (((__pyx_t_19 < __pyx_t_20) != 0)) {
+            __pyx_t_21 = __pyx_t_19;
+          } else {
+            __pyx_t_21 = __pyx_t_20;
+          }
+          __pyx_t_19 = __pyx_t_21;
+          __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_zs, __pyx_t_19, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_6);
+          __pyx_t_22 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_22 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __pyx_v_zlo = __pyx_t_18;
+          __pyx_v_zhi = __pyx_t_22;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":233
+ *                 for k in range(nz):
+ *                     zlo, zhi = zs[k * chunk_size], zs[min(lenz - 1, (k + 1) * chunk_size - 1)]
+ *                     if not obj.overlaps_z(zlo - bufferdx, zhi + bufferdx): continue             # <<<<<<<<<<<<<<
+ *                     # CTNG:testball
+ *                     if is_skew_cone or objdist((xlo + xhi) * .5, (ylo + yhi) * .5, (zlo + zhi) * .5) < max_d:
+ */
+          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_overlaps_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_24 = PyFloat_FromDouble((__pyx_v_zlo - __pyx_v_bufferdx)); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 233, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_24);
+          __pyx_t_23 = PyFloat_FromDouble((__pyx_v_zhi + __pyx_v_bufferdx)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 233, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __pyx_t_25 = NULL;
+          __pyx_t_28 = 0;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+            __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_4);
+            if (likely(__pyx_t_25)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+              __Pyx_INCREF(__pyx_t_25);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_4, function);
+              __pyx_t_28 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_4)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_t_24, __pyx_t_23};
+            __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 2+__pyx_t_28); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 233, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+            PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_t_24, __pyx_t_23};
+            __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_28, 2+__pyx_t_28); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 233, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_16 = PyTuple_New(2+__pyx_t_28); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 233, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_16);
+            if (__pyx_t_25) {
+              __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_25); __pyx_t_25 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_24);
+            PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_28, __pyx_t_24);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_28, __pyx_t_23);
+            __pyx_t_24 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_16, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 233, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 233, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __pyx_t_26 = ((!__pyx_t_17) != 0);
+          if (__pyx_t_26) {
+            goto __pyx_L19_continue;
+          }
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":235
+ *                     if not obj.overlaps_z(zlo - bufferdx, zhi + bufferdx): continue
+ *                     # CTNG:testball
+ *                     if is_skew_cone or objdist((xlo + xhi) * .5, (ylo + yhi) * .5, (zlo + zhi) * .5) < max_d:             # <<<<<<<<<<<<<<
+ *                         chunk_objsi[j][k].append(objdist)
+ *     return chunk_objs, nx, ny, nz
+ */
+          __pyx_t_17 = (__pyx_v_is_skew_cone != 0);
+          if (!__pyx_t_17) {
+          } else {
+            __pyx_t_26 = __pyx_t_17;
+            goto __pyx_L23_bool_binop_done;
+          }
+          __pyx_t_4 = PyFloat_FromDouble(((__pyx_v_xlo + __pyx_v_xhi) * .5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_16 = PyFloat_FromDouble(((__pyx_v_ylo + __pyx_v_yhi) * .5)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_16);
+          __pyx_t_23 = PyFloat_FromDouble(((__pyx_v_zlo + __pyx_v_zhi) * .5)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __Pyx_INCREF(__pyx_v_objdist);
+          __pyx_t_24 = __pyx_v_objdist; __pyx_t_25 = NULL;
+          __pyx_t_28 = 0;
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_24))) {
+            __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_24);
+            if (likely(__pyx_t_25)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24);
+              __Pyx_INCREF(__pyx_t_25);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_24, function);
+              __pyx_t_28 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_24)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_25, __pyx_t_4, __pyx_t_16, __pyx_t_23};
+            __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_24)) {
+            PyObject *__pyx_temp[4] = {__pyx_t_25, __pyx_t_4, __pyx_t_16, __pyx_t_23};
+            __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+            __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_29 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 235, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            if (__pyx_t_25) {
+              __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_25); __pyx_t_25 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_4);
+            PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_28, __pyx_t_4);
+            __Pyx_GIVEREF(__pyx_t_16);
+            PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_28, __pyx_t_16);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_28, __pyx_t_23);
+            __pyx_t_4 = 0;
+            __pyx_t_16 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_24, __pyx_t_29, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 235, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_6);
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+          __pyx_t_24 = PyFloat_FromDouble(__pyx_v_max_d); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_24);
+          __pyx_t_29 = PyObject_RichCompare(__pyx_t_6, __pyx_t_24, Py_LT); __Pyx_XGOTREF(__pyx_t_29); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+          __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_29); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 235, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_26 = __pyx_t_17;
+          __pyx_L23_bool_binop_done:;
+          if (__pyx_t_26) {
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":236
+ *                     # CTNG:testball
+ *                     if is_skew_cone or objdist((xlo + xhi) * .5, (ylo + yhi) * .5, (zlo + zhi) * .5) < max_d:
+ *                         chunk_objsi[j][k].append(objdist)             # <<<<<<<<<<<<<<
+ *     return chunk_objs, nx, ny, nz
+ * 
+ */
+            __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_chunk_objsi, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 236, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            __pyx_t_24 = __Pyx_GetItemInt(__pyx_t_29, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 0, 0); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 236, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_24);
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __pyx_t_30 = __Pyx_PyObject_Append(__pyx_t_24, __pyx_v_objdist); if (unlikely(__pyx_t_30 == ((int)-1))) __PYX_ERR(0, 236, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":235
+ *                     if not obj.overlaps_z(zlo - bufferdx, zhi + bufferdx): continue
+ *                     # CTNG:testball
+ *                     if is_skew_cone or objdist((xlo + xhi) * .5, (ylo + yhi) * .5, (zlo + zhi) * .5) < max_d:             # <<<<<<<<<<<<<<
+ *                         chunk_objsi[j][k].append(objdist)
+ *     return chunk_objs, nx, ny, nz
+ */
+          }
+          __pyx_L19_continue:;
+        }
+        __pyx_L16_continue:;
+      }
+      __pyx_L13_continue:;
+    }
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":220
+ *     # TODO: the is_skew_cone business is here because distances are not the real distances in that case;
+ *     #       remove it when I fix this (and will get better performance)
+ *     for m, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         is_skew_cone = isinstance(obj, graphicsPrimitives.SkewCone)
+ *         objdist = obj.distance
+ */
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":237
+ *                     if is_skew_cone or objdist((xlo + xhi) * .5, (ylo + yhi) * .5, (zlo + zhi) * .5) < max_d:
+ *                         chunk_objsi[j][k].append(objdist)
+ *     return chunk_objs, nx, ny, nz             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_ny); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 237, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_24);
+  __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_nz); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 237, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 237, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_INCREF(__pyx_v_chunk_objs);
+  __Pyx_GIVEREF(__pyx_v_chunk_objs);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_chunk_objs);
+  __Pyx_GIVEREF(__pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
+  __Pyx_GIVEREF(__pyx_t_24);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_24);
+  __Pyx_GIVEREF(__pyx_t_29);
+  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_29);
+  __pyx_t_3 = 0;
+  __pyx_t_24 = 0;
+  __pyx_t_29 = 0;
+  __pyx_r = __pyx_t_6;
+  __pyx_t_6 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":194
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef chunkify(objects, xs, ys, zs, int chunk_size, double dx):             # <<<<<<<<<<<<<<
+ * 
+ *     cdef int almost = chunk_size - 1
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_16);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_24);
+  __Pyx_XDECREF(__pyx_t_25);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.chunkify", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_objects_distances);
+  __Pyx_XDECREF(__pyx_v_chunk_objs);
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_XDECREF(__pyx_v_objdist);
+  __Pyx_XDECREF(__pyx_v_chunk_objsi);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_9chunkify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_9chunkify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_objects = 0;
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  int __pyx_v_chunk_size;
+  double __pyx_v_dx;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("chunkify (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objects,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,&__pyx_n_s_chunk_size,&__pyx_n_s_dx,0};
+    PyObject* values[6] = {0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, 1); __PYX_ERR(0, 194, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, 2); __PYX_ERR(0, 194, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, 3); __PYX_ERR(0, 194, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_chunk_size)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, 4); __PYX_ERR(0, 194, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dx)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, 5); __PYX_ERR(0, 194, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "chunkify") < 0)) __PYX_ERR(0, 194, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+    }
+    __pyx_v_objects = values[0];
+    __pyx_v_xs = values[1];
+    __pyx_v_ys = values[2];
+    __pyx_v_zs = values[3];
+    __pyx_v_chunk_size = __Pyx_PyInt_As_int(values[4]); if (unlikely((__pyx_v_chunk_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 194, __pyx_L3_error)
+    __pyx_v_dx = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_dx == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 194, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("chunkify", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 194, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.chunkify", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_8chunkify(__pyx_self, __pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_chunk_size, __pyx_v_dx);
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_8chunkify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, int __pyx_v_chunk_size, double __pyx_v_dx) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("chunkify", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_chunkify(__pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_chunk_size, __pyx_v_dx, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.chunkify", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":252
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef triangulate_surface(list objects, xs, ys, zs, internal_membranes):             # <<<<<<<<<<<<<<
+ *     # use chunks no smaller than 10 voxels across, but aim for max_chunks chunks
+ *     cdef int chunk_size = max(10, int((len(xs) * len(ys) * len(zs) / max_chunks) ** (1 / 3.)))
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_11triangulate_surface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_triangulate_surface(PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  int __pyx_v_chunk_size;
+  double __pyx_v_grid_dx;
+  CYTHON_UNUSED double __pyx_v_grid_dy;
+  CYTHON_UNUSED double __pyx_v_grid_dz;
+  double __pyx_v_dx;
+  PyObject *__pyx_v_chunk_objs = 0;
+  int __pyx_v_nx;
+  int __pyx_v_ny;
+  int __pyx_v_nz;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  Py_ssize_t __pyx_t_2;
+  Py_ssize_t __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  long __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_t_9;
+  int __pyx_t_10;
+  double __pyx_t_11;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *(*__pyx_t_14)(PyObject *);
+  int __pyx_t_15;
+  int __pyx_t_16;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("triangulate_surface", 0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":254
+ * cpdef triangulate_surface(list objects, xs, ys, zs, internal_membranes):
+ *     # use chunks no smaller than 10 voxels across, but aim for max_chunks chunks
+ *     cdef int chunk_size = max(10, int((len(xs) * len(ys) * len(zs) / max_chunks) ** (1 / 3.)))             # <<<<<<<<<<<<<<
+ *     cdef double grid_dx = xs[1] - xs[0], grid_dy = ys[1] - ys[0], grid_dz = zs[1] - zs[0]
+ *     cdef double dx = grid_dx
+ */
+  __pyx_t_1 = PyObject_Length(__pyx_v_xs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 254, __pyx_L1_error)
+  __pyx_t_2 = PyObject_Length(__pyx_v_ys); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 254, __pyx_L1_error)
+  __pyx_t_3 = PyObject_Length(__pyx_v_zs); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 254, __pyx_L1_error)
+  __pyx_t_4 = PyInt_FromSsize_t(((__pyx_t_1 * __pyx_t_2) * __pyx_t_3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_max_chunks); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = PyFloat_FromDouble((1.0 / 3.)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_4 = PyNumber_Power(__pyx_t_6, __pyx_t_5, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_7 = 10;
+  __pyx_t_6 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_8 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  if (__pyx_t_9) {
+    __Pyx_INCREF(__pyx_t_5);
+    __pyx_t_4 = __pyx_t_5;
+  } else {
+    __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 254, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_4 = __pyx_t_8;
+    __pyx_t_8 = 0;
+  }
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 254, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_chunk_size = __pyx_t_10;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":255
+ *     # use chunks no smaller than 10 voxels across, but aim for max_chunks chunks
+ *     cdef int chunk_size = max(10, int((len(xs) * len(ys) * len(zs) / max_chunks) ** (1 / 3.)))
+ *     cdef double grid_dx = xs[1] - xs[0], grid_dy = ys[1] - ys[0], grid_dz = zs[1] - zs[0]             # <<<<<<<<<<<<<<
+ *     cdef double dx = grid_dx
+ * 
+ */
+  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_xs, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_xs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_8 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_grid_dx = __pyx_t_11;
+  __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ys, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_ys, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_4 = PyNumber_Subtract(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_v_grid_dy = __pyx_t_11;
+  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_zs, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_zs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_8 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  __pyx_v_grid_dz = __pyx_t_11;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":256
+ *     cdef int chunk_size = max(10, int((len(xs) * len(ys) * len(zs) / max_chunks) ** (1 / 3.)))
+ *     cdef double grid_dx = xs[1] - xs[0], grid_dy = ys[1] - ys[0], grid_dz = zs[1] - zs[0]
+ *     cdef double dx = grid_dx             # <<<<<<<<<<<<<<
+ * 
+ *     cdef list chunk_objs
+ */
+  __pyx_v_dx = __pyx_v_grid_dx;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":260
+ *     cdef list chunk_objs
+ *     cdef int nx, ny, nz
+ *     chunk_objs, nx, ny, nz = chunkify(objects, xs, ys, zs, chunk_size, dx)             # <<<<<<<<<<<<<<
+ *     return _triangulate_surface_given_chunks(objects, xs, ys, zs, internal_membranes, chunk_size, chunk_objs, nx, ny, nz, False, None)
+ * 
+ */
+  __pyx_t_8 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_chunkify(__pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_chunk_size, __pyx_v_dx, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 260, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
+    PyObject* sequence = __pyx_t_8;
+    Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+    if (unlikely(size != 4)) {
+      if (size > 4) __Pyx_RaiseTooManyValuesError(4);
+      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+      __PYX_ERR(0, 260, __pyx_L1_error)
+    }
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    if (likely(PyTuple_CheckExact(sequence))) {
+      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); 
+      __pyx_t_12 = PyTuple_GET_ITEM(sequence, 3); 
+    } else {
+      __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+      __pyx_t_6 = PyList_GET_ITEM(sequence, 2); 
+      __pyx_t_12 = PyList_GET_ITEM(sequence, 3); 
+    }
+    __Pyx_INCREF(__pyx_t_5);
+    __Pyx_INCREF(__pyx_t_4);
+    __Pyx_INCREF(__pyx_t_6);
+    __Pyx_INCREF(__pyx_t_12);
+    #else
+    {
+      Py_ssize_t i;
+      PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_6,&__pyx_t_12};
+      for (i=0; i < 4; i++) {
+        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 260, __pyx_L1_error)
+        __Pyx_GOTREF(item);
+        *(temps[i]) = item;
+      }
+    }
+    #endif
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  } else {
+    Py_ssize_t index = -1;
+    PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_4,&__pyx_t_6,&__pyx_t_12};
+    __pyx_t_13 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 260, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_14 = Py_TYPE(__pyx_t_13)->tp_iternext;
+    for (index=0; index < 4; index++) {
+      PyObject* item = __pyx_t_14(__pyx_t_13); if (unlikely(!item)) goto __pyx_L3_unpacking_failed;
+      __Pyx_GOTREF(item);
+      *(temps[index]) = item;
+    }
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 4) < 0) __PYX_ERR(0, 260, __pyx_L1_error)
+    __pyx_t_14 = NULL;
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    goto __pyx_L4_unpacking_done;
+    __pyx_L3_unpacking_failed:;
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_14 = NULL;
+    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+    __PYX_ERR(0, 260, __pyx_L1_error)
+    __pyx_L4_unpacking_done:;
+  }
+  if (!(likely(PyList_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 260, __pyx_L1_error)
+  __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_16 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_16 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+  __pyx_v_chunk_objs = ((PyObject*)__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_v_nx = __pyx_t_10;
+  __pyx_v_ny = __pyx_t_15;
+  __pyx_v_nz = __pyx_t_16;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":261
+ *     cdef int nx, ny, nz
+ *     chunk_objs, nx, ny, nz = chunkify(objects, xs, ys, zs, chunk_size, dx)
+ *     return _triangulate_surface_given_chunks(objects, xs, ys, zs, internal_membranes, chunk_size, chunk_objs, nx, ny, nz, False, None)             # <<<<<<<<<<<<<<
+ * 
+ * cpdef _triangulate_surface_given_chunks(list objects, xs, ys, zs, internal_membranes, int chunk_size, list chunk_objs, int nx, int ny, int nz, bint store_areas, areas):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_8 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__triangulate_surface_given_chunks(__pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_internal_membranes, __pyx_v_chunk_size, __pyx_v_chunk_objs, __pyx_v_nx, __pyx_v_ny, __pyx_v_nz, 0, Py_None, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 261, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_r = __pyx_t_8;
+  __pyx_t_8 = 0;
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":252
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef triangulate_surface(list objects, xs, ys, zs, internal_membranes):             # <<<<<<<<<<<<<<
+ *     # use chunks no smaller than 10 voxels across, but aim for max_chunks chunks
+ *     cdef int chunk_size = max(10, int((len(xs) * len(ys) * len(zs) / max_chunks) ** (1 / 3.)))
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_12);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.triangulate_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XDECREF(__pyx_v_chunk_objs);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_11triangulate_surface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_11triangulate_surface(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_objects = 0;
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  PyObject *__pyx_v_internal_membranes = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("triangulate_surface (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objects,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,&__pyx_n_s_internal_membranes,0};
+    PyObject* values[5] = {0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("triangulate_surface", 1, 5, 5, 1); __PYX_ERR(0, 252, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("triangulate_surface", 1, 5, 5, 2); __PYX_ERR(0, 252, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("triangulate_surface", 1, 5, 5, 3); __PYX_ERR(0, 252, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_internal_membranes)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("triangulate_surface", 1, 5, 5, 4); __PYX_ERR(0, 252, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "triangulate_surface") < 0)) __PYX_ERR(0, 252, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+    }
+    __pyx_v_objects = ((PyObject*)values[0]);
+    __pyx_v_xs = values[1];
+    __pyx_v_ys = values[2];
+    __pyx_v_zs = values[3];
+    __pyx_v_internal_membranes = values[4];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("triangulate_surface", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 252, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.triangulate_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 252, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_10triangulate_surface(__pyx_self, __pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_internal_membranes);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_10triangulate_surface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("triangulate_surface", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_triangulate_surface(__pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_internal_membranes, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.triangulate_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":263
+ *     return _triangulate_surface_given_chunks(objects, xs, ys, zs, internal_membranes, chunk_size, chunk_objs, nx, ny, nz, False, None)
+ * 
+ * cpdef _triangulate_surface_given_chunks(list objects, xs, ys, zs, internal_membranes, int chunk_size, list chunk_objs, int nx, int ny, int nz, bint store_areas, areas):             # <<<<<<<<<<<<<<
+ *     cdef int i, j, k, di, dj, dk
+ *     cdef double area
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_13_triangulate_surface_given_chunks(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_f_6neuron_3rxd_10geometry3d_8surfaces__triangulate_surface_given_chunks(PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes, int __pyx_v_chunk_size, PyObject *__pyx_v_chunk_objs, int __pyx_v_nx, int __pyx_v_ny, int __pyx_v_nz, int __pyx_v_store_areas, PyObject *__pyx_v_areas, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  int __pyx_v_i;
+  int __pyx_v_j;
+  int __pyx_v_k;
+  int __pyx_v_di;
+  int __pyx_v_dj;
+  int __pyx_v_dk;
+  double __pyx_v_grid_dx;
+  CYTHON_UNUSED double __pyx_v_grid_dy;
+  CYTHON_UNUSED double __pyx_v_grid_dz;
+  double __pyx_v_r_inner;
+  double __pyx_v_r_outer;
+  double __pyx_v_dx;
+  PyObject *__pyx_v_cell_list = 0;
+  PyObject *__pyx_v_to_process = 0;
+  CYTHON_UNUSED int __pyx_v_cell_count;
+  CYTHON_UNUSED int __pyx_v_dup_count;
+  int __pyx_v_last_starti;
+  CYTHON_UNUSED PyObject *__pyx_v_cell_list2 = 0;
+  PyArrayObject *__pyx_v_triangles = 0;
+  CYTHON_UNUSED int __pyx_v_surf_count;
+  PyObject *__pyx_v_cur_processed = 0;
+  int __pyx_v_brute_force_count;
+  CYTHON_UNUSED PyObject *__pyx_v_clip_objs = 0;
+  PyObject *__pyx_v_cell_id = 0;
+  CYTHON_UNUSED int __pyx_v_numcompartments;
+  int __pyx_v_triangles_i;
+  int __pyx_v_reject_if_outside;
+  Py_ssize_t __pyx_v_m;
+  PyObject *__pyx_v_obj = NULL;
+  PyObject *__pyx_v_objdist = NULL;
+  PyObject *__pyx_v_chunk_pts = 0;
+  int __pyx_v_num_keys;
+  int __pyx_v_missing_objs;
+  int __pyx_v_starti;
+  int __pyx_v_a;
+  int __pyx_v_b;
+  int __pyx_v_c;
+  PyObject *__pyx_v_chunk_objsa = NULL;
+  PyObject *__pyx_v_chunk_ptsa = NULL;
+  PyObject *__pyx_v_objs = NULL;
+  PyObject *__pyx_v_cells = NULL;
+  CYTHON_UNUSED PyObject *__pyx_v_start_i = NULL;
+  PyObject *__pyx_v_process2 = 0;
+  PyObject *__pyx_v_pt_neighbor_map = NULL;
+  PyObject *__pyx_v_count = 0;
+  int __pyx_v_old_start_i;
+  PyObject *__pyx_v_still_to_process = 0;
+  PyObject *__pyx_v_local_objs = 0;
+  PyObject *__pyx_v_pts = NULL;
+  PyObject *__pyx_v_xlo = NULL;
+  PyObject *__pyx_v_ylo = NULL;
+  PyObject *__pyx_v_zlo = NULL;
+  PyObject *__pyx_v_pt = NULL;
+  PyObject *__pyx_v_neighbor_list = NULL;
+  PyObject *__pyx_v_neighbor = NULL;
+  PyObject *__pyx_v_ncount = NULL;
+  PyObject *__pyx_v_point = NULL;
+  Py_ssize_t __pyx_v_n;
+  PyObject *__pyx_v_clipper = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  double __pyx_t_4;
+  PyArrayObject *__pyx_t_5 = NULL;
+  int __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  Py_ssize_t __pyx_t_10;
+  Py_ssize_t __pyx_t_11;
+  int __pyx_t_12;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  Py_ssize_t __pyx_t_15;
+  PyObject *(*__pyx_t_16)(PyObject *);
+  PyObject *__pyx_t_17 = NULL;
+  PyObject *__pyx_t_18 = NULL;
+  PyObject *(*__pyx_t_19)(PyObject *);
+  int __pyx_t_20;
+  int __pyx_t_21;
+  PyObject *__pyx_t_22 = NULL;
+  PyObject *__pyx_t_23 = NULL;
+  Py_ssize_t __pyx_t_24;
+  PyObject *(*__pyx_t_25)(PyObject *);
+  PyObject *__pyx_t_26 = NULL;
+  PyObject *__pyx_t_27 = NULL;
+  PyObject *__pyx_t_28 = NULL;
+  PyObject *__pyx_t_29 = NULL;
+  PyObject *__pyx_t_30 = NULL;
+  int __pyx_t_31;
+  Py_ssize_t __pyx_t_32;
+  Py_ssize_t __pyx_t_33;
+  int __pyx_t_34;
+  int __pyx_t_35;
+  int __pyx_t_36;
+  int __pyx_t_37;
+  int __pyx_t_38;
+  int __pyx_t_39;
+  int __pyx_t_40;
+  int __pyx_t_41;
+  int __pyx_t_42;
+  int __pyx_t_43;
+  int __pyx_t_44;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_triangulate_surface_given_chunks", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":266
+ *     cdef int i, j, k, di, dj, dk
+ *     cdef double area
+ *     cdef double grid_dx = xs[1] - xs[0], grid_dy = ys[1] - ys[0], grid_dz = zs[1] - zs[0]             # <<<<<<<<<<<<<<
+ *     # TODO: we assume a cubic mesh
+ *     # assert(grid_dx == grid_dy == grid_dz)
+ */
+  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_xs, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_xs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_v_grid_dx = __pyx_t_4;
+  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_ys, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ys, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = PyNumber_Subtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v_grid_dy = __pyx_t_4;
+  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_zs, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_zs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 266, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_v_grid_dz = __pyx_t_4;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":269
+ *     # TODO: we assume a cubic mesh
+ *     # assert(grid_dx == grid_dy == grid_dz)
+ *     cdef double r_inner = grid_dx / 2., r_outer = r_inner * sqrt(3)             # <<<<<<<<<<<<<<
+ *     cdef double dx = grid_dx
+ * 
+ */
+  __pyx_v_r_inner = (__pyx_v_grid_dx / 2.);
+  __pyx_v_r_outer = (__pyx_v_r_inner * sqrt(3.0));
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":270
+ *     # assert(grid_dx == grid_dy == grid_dz)
+ *     cdef double r_inner = grid_dx / 2., r_outer = r_inner * sqrt(3)
+ *     cdef double dx = grid_dx             # <<<<<<<<<<<<<<
+ * 
+ *     cdef list cell_list
+ */
+  __pyx_v_dx = __pyx_v_grid_dx;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":274
+ *     cdef list cell_list
+ * 
+ *     cdef dict to_process = {}             # <<<<<<<<<<<<<<
+ * 
+ *     cdef int cell_count = 0
+ */
+  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 274, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_v_to_process = ((PyObject*)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":276
+ *     cdef dict to_process = {}
+ * 
+ *     cdef int cell_count = 0             # <<<<<<<<<<<<<<
+ *     cdef int dup_count = 0
+ *     cdef int last_starti
+ */
+  __pyx_v_cell_count = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":277
+ * 
+ *     cdef int cell_count = 0
+ *     cdef int dup_count = 0             # <<<<<<<<<<<<<<
+ *     cdef int last_starti
+ * 
+ */
+  __pyx_v_dup_count = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":280
+ *     cdef int last_starti
+ * 
+ *     cdef list cell_list2 = []             # <<<<<<<<<<<<<<
+ * 
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] triangles
+ */
+  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __pyx_v_cell_list2 = ((PyObject*)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":283
+ * 
+ *     cdef numpy.ndarray[numpy.float_t, ndim=1] triangles
+ *     cdef int surf_count = 0             # <<<<<<<<<<<<<<
+ * 
+ *     cdef dict cur_processed
+ */
+  __pyx_v_surf_count = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":286
+ * 
+ *     cdef dict cur_processed
+ *     cdef int brute_force_count = 0             # <<<<<<<<<<<<<<
+ *     cdef list clip_objs
+ *     cdef tuple cell_id
+ */
+  __pyx_v_brute_force_count = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":293
+ *     cdef int numcompartments
+ *     # locate all the potential boundary locations
+ *     triangles = numpy.zeros(1000)             # <<<<<<<<<<<<<<
+ *     cdef int triangles_i = 0
+ *     cdef bint reject_if_outside
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+    if (likely(__pyx_t_2)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+    }
+  }
+  __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_1000) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_1000);
+  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 293, __pyx_L1_error)
+  __pyx_t_5 = ((PyArrayObject *)__pyx_t_3);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+    __pyx_t_6 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_6 < 0)) {
+      PyErr_Fetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_7); Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_7, __pyx_t_8, __pyx_t_9);
+      }
+      __pyx_t_7 = __pyx_t_8 = __pyx_t_9 = 0;
+    }
+    __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 293, __pyx_L1_error)
+  }
+  __pyx_t_5 = 0;
+  __pyx_v_triangles = ((PyArrayObject *)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":294
+ *     # locate all the potential boundary locations
+ *     triangles = numpy.zeros(1000)
+ *     cdef int triangles_i = 0             # <<<<<<<<<<<<<<
+ *     cdef bint reject_if_outside
+ *     for m, obj in enumerate(objects):
+ */
+  __pyx_v_triangles_i = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":296
+ *     cdef int triangles_i = 0
+ *     cdef bint reject_if_outside
+ *     for m, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         # TODO: remove all the stuff about reject_if_outside when have true SkewCone distances
+ *         reject_if_outside = not(isinstance(obj, graphicsPrimitives.SkewCone))
+ */
+  __pyx_t_10 = 0;
+  __pyx_t_3 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_3); __pyx_t_11 = 0;
+  for (;;) {
+    if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_3)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 296, __pyx_L1_error)
+    #else
+    __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_1);
+    __pyx_t_1 = 0;
+    __pyx_v_m = __pyx_t_10;
+    __pyx_t_10 = (__pyx_t_10 + 1);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":298
+ *     for m, obj in enumerate(objects):
+ *         # TODO: remove all the stuff about reject_if_outside when have true SkewCone distances
+ *         reject_if_outside = not(isinstance(obj, graphicsPrimitives.SkewCone))             # <<<<<<<<<<<<<<
+ *         objdist = obj.distance
+ *         clip_objs = sum([clipper.primitives for clipper in obj.get_clip()], [])
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_graphicsPrimitives); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SkewCone); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_12 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_2); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 298, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_v_reject_if_outside = (!(__pyx_t_12 != 0));
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":299
+ *         # TODO: remove all the stuff about reject_if_outside when have true SkewCone distances
+ *         reject_if_outside = not(isinstance(obj, graphicsPrimitives.SkewCone))
+ *         objdist = obj.distance             # <<<<<<<<<<<<<<
+ *         clip_objs = sum([clipper.primitives for clipper in obj.get_clip()], [])
+ *         cell_list = []
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":300
+ *         reject_if_outside = not(isinstance(obj, graphicsPrimitives.SkewCone))
+ *         objdist = obj.distance
+ *         clip_objs = sum([clipper.primitives for clipper in obj.get_clip()], [])             # <<<<<<<<<<<<<<
+ *         cell_list = []
+ *         cur_processed = {}
+ */
+    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_get_clip); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_14 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
+      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
+      if (likely(__pyx_t_14)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_13, function);
+      }
+    }
+    __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_13);
+    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
+      __pyx_t_13 = __pyx_t_1; __Pyx_INCREF(__pyx_t_13); __pyx_t_15 = 0;
+      __pyx_t_16 = NULL;
+    } else {
+      __pyx_t_15 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_16 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 300, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_16)) {
+        if (likely(PyList_CheckExact(__pyx_t_13))) {
+          if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_13)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 300, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_13, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        } else {
+          if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 300, __pyx_L1_error)
+          #else
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_13, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          #endif
+        }
+      } else {
+        __pyx_t_1 = __pyx_t_16(__pyx_t_13);
+        if (unlikely(!__pyx_t_1)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 300, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_1);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_clipper, __pyx_t_1);
+      __pyx_t_1 = 0;
+      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clipper, __pyx_n_s_primitives); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 300, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __Pyx_GIVEREF(__pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_13);
+    __pyx_t_2 = 0;
+    __pyx_t_13 = 0;
+    __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_sum, __pyx_t_1, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    if (!(likely(PyList_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 300, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_clip_objs, ((PyObject*)__pyx_t_13));
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":301
+ *         objdist = obj.distance
+ *         clip_objs = sum([clipper.primitives for clipper in obj.get_clip()], [])
+ *         cell_list = []             # <<<<<<<<<<<<<<
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ */
+    __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 301, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_XDECREF_SET(__pyx_v_cell_list, ((PyObject*)__pyx_t_13));
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":302
+ *         clip_objs = sum([clipper.primitives for clipper in obj.get_clip()], [])
+ *         cell_list = []
+ *         cur_processed = {}             # <<<<<<<<<<<<<<
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ */
+    __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 302, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_XDECREF_SET(__pyx_v_cur_processed, ((PyObject*)__pyx_t_13));
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":303
+ *         cell_list = []
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):             # <<<<<<<<<<<<<<
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_starting_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_2 = NULL;
+    __pyx_t_6 = 0;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
+      if (likely(__pyx_t_2)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_1, function);
+        __pyx_t_6 = 1;
+      }
+    }
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(__pyx_t_1)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+    } else
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
+      PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs};
+      __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_GOTREF(__pyx_t_13);
+    } else
+    #endif
+    {
+      __pyx_t_14 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      if (__pyx_t_2) {
+        __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_2); __pyx_t_2 = NULL;
+      }
+      __Pyx_INCREF(__pyx_v_xs);
+      __Pyx_GIVEREF(__pyx_v_xs);
+      PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_v_xs);
+      __Pyx_INCREF(__pyx_v_ys);
+      __Pyx_GIVEREF(__pyx_v_ys);
+      PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_v_ys);
+      __Pyx_INCREF(__pyx_v_zs);
+      __Pyx_GIVEREF(__pyx_v_zs);
+      PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_6, __pyx_v_zs);
+      __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_14, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    }
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
+      __pyx_t_1 = __pyx_t_13; __Pyx_INCREF(__pyx_t_1); __pyx_t_15 = 0;
+      __pyx_t_16 = NULL;
+    } else {
+      __pyx_t_15 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_1);
+      __pyx_t_16 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 303, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_16)) {
+        if (likely(PyList_CheckExact(__pyx_t_1))) {
+          if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_13 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_13); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 303, __pyx_L1_error)
+          #else
+          __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          #endif
+        } else {
+          if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_13); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 303, __pyx_L1_error)
+          #else
+          __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          #endif
+        }
+      } else {
+        __pyx_t_13 = __pyx_t_16(__pyx_t_1);
+        if (unlikely(!__pyx_t_13)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 303, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_13);
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_13))) || (PyList_CheckExact(__pyx_t_13))) {
+        PyObject* sequence = __pyx_t_13;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 3)) {
+          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 303, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
+          __pyx_t_17 = PyTuple_GET_ITEM(sequence, 2); 
+        } else {
+          __pyx_t_14 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_2 = PyList_GET_ITEM(sequence, 1); 
+          __pyx_t_17 = PyList_GET_ITEM(sequence, 2); 
+        }
+        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_17);
+        #else
+        __pyx_t_14 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 303, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 303, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_17 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 303, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        #endif
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_18 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 303, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_18);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_19 = Py_TYPE(__pyx_t_18)->tp_iternext;
+        index = 0; __pyx_t_14 = __pyx_t_19(__pyx_t_18); if (unlikely(!__pyx_t_14)) goto __pyx_L9_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_14);
+        index = 1; __pyx_t_2 = __pyx_t_19(__pyx_t_18); if (unlikely(!__pyx_t_2)) goto __pyx_L9_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_2);
+        index = 2; __pyx_t_17 = __pyx_t_19(__pyx_t_18); if (unlikely(!__pyx_t_17)) goto __pyx_L9_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_17);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_18), 3) < 0) __PYX_ERR(0, 303, __pyx_L1_error)
+        __pyx_t_19 = NULL;
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+        goto __pyx_L10_unpacking_done;
+        __pyx_L9_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+        __pyx_t_19 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 303, __pyx_L1_error)
+        __pyx_L10_unpacking_done:;
+      }
+      __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 303, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __pyx_v_i = __pyx_t_6;
+      __pyx_v_j = __pyx_t_20;
+      __pyx_v_k = __pyx_t_21;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":304
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):             # <<<<<<<<<<<<<<
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_itertools); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 304, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_product); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __pyx_t_17 = PyList_New(5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 304, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __Pyx_INCREF(__pyx_int_0);
+      __Pyx_GIVEREF(__pyx_int_0);
+      PyList_SET_ITEM(__pyx_t_17, 0, __pyx_int_0);
+      __Pyx_INCREF(__pyx_int_neg_1);
+      __Pyx_GIVEREF(__pyx_int_neg_1);
+      PyList_SET_ITEM(__pyx_t_17, 1, __pyx_int_neg_1);
+      __Pyx_INCREF(__pyx_int_1);
+      __Pyx_GIVEREF(__pyx_int_1);
+      PyList_SET_ITEM(__pyx_t_17, 2, __pyx_int_1);
+      __Pyx_INCREF(__pyx_int_neg_2);
+      __Pyx_GIVEREF(__pyx_int_neg_2);
+      PyList_SET_ITEM(__pyx_t_17, 3, __pyx_int_neg_2);
+      __Pyx_INCREF(__pyx_int_2);
+      __Pyx_GIVEREF(__pyx_int_2);
+      PyList_SET_ITEM(__pyx_t_17, 4, __pyx_int_2);
+      __pyx_t_14 = PyList_New(5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 304, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __Pyx_INCREF(__pyx_int_0);
+      __Pyx_GIVEREF(__pyx_int_0);
+      PyList_SET_ITEM(__pyx_t_14, 0, __pyx_int_0);
+      __Pyx_INCREF(__pyx_int_neg_1);
+      __Pyx_GIVEREF(__pyx_int_neg_1);
+      PyList_SET_ITEM(__pyx_t_14, 1, __pyx_int_neg_1);
+      __Pyx_INCREF(__pyx_int_1);
+      __Pyx_GIVEREF(__pyx_int_1);
+      PyList_SET_ITEM(__pyx_t_14, 2, __pyx_int_1);
+      __Pyx_INCREF(__pyx_int_neg_2);
+      __Pyx_GIVEREF(__pyx_int_neg_2);
+      PyList_SET_ITEM(__pyx_t_14, 3, __pyx_int_neg_2);
+      __Pyx_INCREF(__pyx_int_2);
+      __Pyx_GIVEREF(__pyx_int_2);
+      PyList_SET_ITEM(__pyx_t_14, 4, __pyx_int_2);
+      __pyx_t_18 = PyList_New(5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 304, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_18);
+      __Pyx_INCREF(__pyx_int_0);
+      __Pyx_GIVEREF(__pyx_int_0);
+      PyList_SET_ITEM(__pyx_t_18, 0, __pyx_int_0);
+      __Pyx_INCREF(__pyx_int_neg_1);
+      __Pyx_GIVEREF(__pyx_int_neg_1);
+      PyList_SET_ITEM(__pyx_t_18, 1, __pyx_int_neg_1);
+      __Pyx_INCREF(__pyx_int_1);
+      __Pyx_GIVEREF(__pyx_int_1);
+      PyList_SET_ITEM(__pyx_t_18, 2, __pyx_int_1);
+      __Pyx_INCREF(__pyx_int_neg_2);
+      __Pyx_GIVEREF(__pyx_int_neg_2);
+      PyList_SET_ITEM(__pyx_t_18, 3, __pyx_int_neg_2);
+      __Pyx_INCREF(__pyx_int_2);
+      __Pyx_GIVEREF(__pyx_int_2);
+      PyList_SET_ITEM(__pyx_t_18, 4, __pyx_int_2);
+      __pyx_t_22 = NULL;
+      __pyx_t_21 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+        __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_2);
+        if (likely(__pyx_t_22)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+          __Pyx_INCREF(__pyx_t_22);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_2, function);
+          __pyx_t_21 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_22, __pyx_t_17, __pyx_t_14, __pyx_t_18};
+        __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_21, 3+__pyx_t_21); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_22, __pyx_t_17, __pyx_t_14, __pyx_t_18};
+        __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_21, 3+__pyx_t_21); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_23 = PyTuple_New(3+__pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        if (__pyx_t_22) {
+          __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL;
+        }
+        __Pyx_GIVEREF(__pyx_t_17);
+        PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_21, __pyx_t_17);
+        __Pyx_GIVEREF(__pyx_t_14);
+        PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_21, __pyx_t_14);
+        __Pyx_GIVEREF(__pyx_t_18);
+        PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_21, __pyx_t_18);
+        __pyx_t_17 = 0;
+        __pyx_t_14 = 0;
+        __pyx_t_18 = 0;
+        __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_23, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
+        __pyx_t_2 = __pyx_t_13; __Pyx_INCREF(__pyx_t_2); __pyx_t_24 = 0;
+        __pyx_t_25 = NULL;
+      } else {
+        __pyx_t_24 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_25 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 304, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_25)) {
+          if (likely(PyList_CheckExact(__pyx_t_2))) {
+            if (__pyx_t_24 >= PyList_GET_SIZE(__pyx_t_2)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_13 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_24); __Pyx_INCREF(__pyx_t_13); __pyx_t_24++; if (unlikely(0 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+            #else
+            __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_24); __pyx_t_24++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 304, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            #endif
+          } else {
+            if (__pyx_t_24 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_24); __Pyx_INCREF(__pyx_t_13); __pyx_t_24++; if (unlikely(0 < 0)) __PYX_ERR(0, 304, __pyx_L1_error)
+            #else
+            __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_24); __pyx_t_24++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 304, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            #endif
+          }
+        } else {
+          __pyx_t_13 = __pyx_t_25(__pyx_t_2);
+          if (unlikely(!__pyx_t_13)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 304, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_13);
+        }
+        if ((likely(PyTuple_CheckExact(__pyx_t_13))) || (PyList_CheckExact(__pyx_t_13))) {
+          PyObject* sequence = __pyx_t_13;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 3)) {
+            if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 304, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_23 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_18 = PyTuple_GET_ITEM(sequence, 1); 
+            __pyx_t_14 = PyTuple_GET_ITEM(sequence, 2); 
+          } else {
+            __pyx_t_23 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_18 = PyList_GET_ITEM(sequence, 1); 
+            __pyx_t_14 = PyList_GET_ITEM(sequence, 2); 
+          }
+          __Pyx_INCREF(__pyx_t_23);
+          __Pyx_INCREF(__pyx_t_18);
+          __Pyx_INCREF(__pyx_t_14);
+          #else
+          __pyx_t_23 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 304, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __pyx_t_18 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 304, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_18);
+          __pyx_t_14 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 304, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_14);
+          #endif
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          __pyx_t_17 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 304, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_19 = Py_TYPE(__pyx_t_17)->tp_iternext;
+          index = 0; __pyx_t_23 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_23)) goto __pyx_L13_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_23);
+          index = 1; __pyx_t_18 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_18)) goto __pyx_L13_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_18);
+          index = 2; __pyx_t_14 = __pyx_t_19(__pyx_t_17); if (unlikely(!__pyx_t_14)) goto __pyx_L13_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_14);
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_17), 3) < 0) __PYX_ERR(0, 304, __pyx_L1_error)
+          __pyx_t_19 = NULL;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          goto __pyx_L14_unpacking_done;
+          __pyx_L13_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_t_19 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 304, __pyx_L1_error)
+          __pyx_L14_unpacking_done:;
+        }
+        __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_23); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+        __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_18); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+        __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 304, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __pyx_v_di = __pyx_t_21;
+        __pyx_v_dj = __pyx_t_20;
+        __pyx_v_dk = __pyx_t_6;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":305
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ *                     break
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_contains_surface); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_18 = __Pyx_PyInt_From_int((__pyx_v_i + __pyx_v_di)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_18);
+        __pyx_t_23 = __Pyx_PyInt_From_int((__pyx_v_j + __pyx_v_dj)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        __pyx_t_17 = __Pyx_PyInt_From_int((__pyx_v_k + __pyx_v_dk)); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_22 = PyFloat_FromDouble(__pyx_v_grid_dx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_22);
+        __pyx_t_26 = PyFloat_FromDouble(__pyx_v_r_inner); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        __pyx_t_27 = PyFloat_FromDouble(__pyx_v_r_outer); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        __pyx_t_28 = __Pyx_PyBool_FromLong(__pyx_v_reject_if_outside); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __pyx_t_29 = NULL;
+        __pyx_t_6 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
+          __pyx_t_29 = PyMethod_GET_SELF(__pyx_t_14);
+          if (likely(__pyx_t_29)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+            __Pyx_INCREF(__pyx_t_29);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_14, function);
+            __pyx_t_6 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_14)) {
+          PyObject *__pyx_temp[12] = {__pyx_t_29, __pyx_t_18, __pyx_t_23, __pyx_t_17, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_22, __pyx_t_26, __pyx_t_27, __pyx_t_28};
+          __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+          PyObject *__pyx_temp[12] = {__pyx_t_29, __pyx_t_18, __pyx_t_23, __pyx_t_17, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_22, __pyx_t_26, __pyx_t_27, __pyx_t_28};
+          __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_30 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          if (__pyx_t_29) {
+            __Pyx_GIVEREF(__pyx_t_29); PyTuple_SET_ITEM(__pyx_t_30, 0, __pyx_t_29); __pyx_t_29 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_18);
+          PyTuple_SET_ITEM(__pyx_t_30, 0+__pyx_t_6, __pyx_t_18);
+          __Pyx_GIVEREF(__pyx_t_23);
+          PyTuple_SET_ITEM(__pyx_t_30, 1+__pyx_t_6, __pyx_t_23);
+          __Pyx_GIVEREF(__pyx_t_17);
+          PyTuple_SET_ITEM(__pyx_t_30, 2+__pyx_t_6, __pyx_t_17);
+          __Pyx_INCREF(__pyx_v_objdist);
+          __Pyx_GIVEREF(__pyx_v_objdist);
+          PyTuple_SET_ITEM(__pyx_t_30, 3+__pyx_t_6, __pyx_v_objdist);
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_30, 4+__pyx_t_6, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_30, 5+__pyx_t_6, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_30, 6+__pyx_t_6, __pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_t_22);
+          PyTuple_SET_ITEM(__pyx_t_30, 7+__pyx_t_6, __pyx_t_22);
+          __Pyx_GIVEREF(__pyx_t_26);
+          PyTuple_SET_ITEM(__pyx_t_30, 8+__pyx_t_6, __pyx_t_26);
+          __Pyx_GIVEREF(__pyx_t_27);
+          PyTuple_SET_ITEM(__pyx_t_30, 9+__pyx_t_6, __pyx_t_27);
+          __Pyx_GIVEREF(__pyx_t_28);
+          PyTuple_SET_ITEM(__pyx_t_30, 10+__pyx_t_6, __pyx_t_28);
+          __pyx_t_18 = 0;
+          __pyx_t_23 = 0;
+          __pyx_t_17 = 0;
+          __pyx_t_22 = 0;
+          __pyx_t_26 = 0;
+          __pyx_t_27 = 0;
+          __pyx_t_28 = 0;
+          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_30, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 305, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 305, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        if (__pyx_t_12) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":306
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i + di, j + dj, k + dk))             # <<<<<<<<<<<<<<
+ *                     break
+ *             if cell_list: break
+ */
+          __pyx_t_13 = __Pyx_PyInt_From_int((__pyx_v_i + __pyx_v_di)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 306, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_14 = __Pyx_PyInt_From_int((__pyx_v_j + __pyx_v_dj)); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 306, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_14);
+          __pyx_t_30 = __Pyx_PyInt_From_int((__pyx_v_k + __pyx_v_dk)); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 306, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __pyx_t_28 = PyTuple_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 306, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_28);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_14);
+          PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_14);
+          __Pyx_GIVEREF(__pyx_t_30);
+          PyTuple_SET_ITEM(__pyx_t_28, 2, __pyx_t_30);
+          __pyx_t_13 = 0;
+          __pyx_t_14 = 0;
+          __pyx_t_30 = 0;
+          __pyx_t_31 = __Pyx_PyList_Append(__pyx_v_cell_list, __pyx_t_28); if (unlikely(__pyx_t_31 == ((int)-1))) __PYX_ERR(0, 306, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":307
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ *                     break             # <<<<<<<<<<<<<<
+ *             if cell_list: break
+ *         else:
+ */
+          goto __pyx_L12_break;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":305
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ *                     break
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":304
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):             # <<<<<<<<<<<<<<
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ */
+      }
+      __pyx_L12_break:;
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":308
+ *                     cell_list.append((i + di, j + dj, k + dk))
+ *                     break
+ *             if cell_list: break             # <<<<<<<<<<<<<<
+ *         else:
+ *             # CTNG:systemsearch
+ */
+      __pyx_t_12 = (PyList_GET_SIZE(__pyx_v_cell_list) != 0);
+      if (__pyx_t_12) {
+        goto __pyx_L8_break;
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":303
+ *         cell_list = []
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):             # <<<<<<<<<<<<<<
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+    }
+    /*else*/ {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":311
+ *         else:
+ *             # CTNG:systemsearch
+ *             brute_force_count += 1             # <<<<<<<<<<<<<<
+ *             # TODO: we are highly unlikely to ever reach this code (happened 0 times with the neuron I tested)
+ *             #       can we prove we never get here?
+ */
+      __pyx_v_brute_force_count = (__pyx_v_brute_force_count + 1);
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":315
+ *             #       can we prove we never get here?
+ * 
+ *             numcompartments = (4 + len(range(bisect.bisect_left(xs, obj.xlo), bisect.bisect_right(xs, obj.xhi)))) * (4 + len(range(bisect.bisect_left(ys, obj.ylo), bisect.bisect_right(ys, obj.yhi)))) * (4 + len(range(bisect.bisect_left(zs, obj.zlo), bisect.bisect_right(zs, obj.zhi))))             # <<<<<<<<<<<<<<
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_28, __pyx_n_s_bisect); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_t_28, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_xlo); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_30))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_30);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_30);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_30, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_30)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_28};
+        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_30, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_30)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_28};
+        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_30, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_13 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_v_xs);
+        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_6, __pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_t_28);
+        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_6, __pyx_t_28);
+        __pyx_t_28 = 0;
+        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_30, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_bisect); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_xhi); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_28))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_28);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_28);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_28, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_13};
+        __pyx_t_30 = __Pyx_PyFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_13};
+        __pyx_t_30 = __Pyx_PyCFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_27 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_v_xs);
+        PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_t_13);
+        __pyx_t_13 = 0;
+        __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_28, __pyx_t_27, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_2);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_2);
+      __Pyx_GIVEREF(__pyx_t_30);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_30);
+      __pyx_t_2 = 0;
+      __pyx_t_30 = 0;
+      __pyx_t_30 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_28, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_24 = PyObject_Length(__pyx_t_30); if (unlikely(__pyx_t_24 == ((Py_ssize_t)-1))) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_28, __pyx_n_s_bisect); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_28, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_ylo); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_27 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+        __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_2);
+        if (likely(__pyx_t_27)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+          __Pyx_INCREF(__pyx_t_27);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_2, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_27, __pyx_v_ys, __pyx_t_28};
+        __pyx_t_30 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_27, __pyx_v_ys, __pyx_t_28};
+        __pyx_t_30 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_13 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        if (__pyx_t_27) {
+          __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_27); __pyx_t_27 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_v_ys);
+        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_6, __pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_t_28);
+        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_6, __pyx_t_28);
+        __pyx_t_28 = 0;
+        __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_bisect); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_yhi); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_27 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_28))) {
+        __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_28);
+        if (likely(__pyx_t_27)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_28);
+          __Pyx_INCREF(__pyx_t_27);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_28, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_27, __pyx_v_ys, __pyx_t_13};
+        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_27, __pyx_v_ys, __pyx_t_13};
+        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_14 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        if (__pyx_t_27) {
+          __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_27); __pyx_t_27 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_v_ys);
+        PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_t_13);
+        __pyx_t_13 = 0;
+        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_28, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_30);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_30);
+      __Pyx_GIVEREF(__pyx_t_2);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_2);
+      __pyx_t_30 = 0;
+      __pyx_t_2 = 0;
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_28, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_32 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_32 == ((Py_ssize_t)-1))) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_28, __pyx_n_s_bisect); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_t_28, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_zlo); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_30))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_30);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_30);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_30, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_30)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_28};
+        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_30, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_30)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_28};
+        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_30, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_13 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_v_zs);
+        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_6, __pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_t_28);
+        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_6, __pyx_t_28);
+        __pyx_t_28 = 0;
+        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_30, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_bisect); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_zhi); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_28))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_28);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_28);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_28, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_13};
+        __pyx_t_30 = __Pyx_PyFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_28)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_13};
+        __pyx_t_30 = __Pyx_PyCFunction_FastCall(__pyx_t_28, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_27 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_v_zs);
+        PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_t_13);
+        __pyx_t_13 = 0;
+        __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_28, __pyx_t_27, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_2);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_2);
+      __Pyx_GIVEREF(__pyx_t_30);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_30);
+      __pyx_t_2 = 0;
+      __pyx_t_30 = 0;
+      __pyx_t_30 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_28, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_33 = PyObject_Length(__pyx_t_30); if (unlikely(__pyx_t_33 == ((Py_ssize_t)-1))) __PYX_ERR(0, 315, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      __pyx_v_numcompartments = (((4 + __pyx_t_24) * (4 + __pyx_t_32)) * (4 + __pyx_t_33));
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":316
+ * 
+ *             numcompartments = (4 + len(range(bisect.bisect_left(xs, obj.xlo), bisect.bisect_right(xs, obj.xhi)))) * (4 + len(range(bisect.bisect_left(ys, obj.ylo), bisect.bisect_right(ys, obj.yhi)))) * (4 + len(range(bisect.bisect_left(zs, obj.zlo), bisect.bisect_right(zs, obj.zhi))))
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):             # <<<<<<<<<<<<<<
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i, j, k))
+ */
+      __Pyx_GetModuleGlobalName(__pyx_t_28, __pyx_n_s_itertools); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_28, __pyx_n_s_product); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_27, __pyx_n_s_bisect); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_xlo); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_13, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_13)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_27};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_27};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_26 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_v_xs);
+        PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_t_27);
+        PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_t_27);
+        __pyx_t_27 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_26, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_bisect); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_26);
+      __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_xhi); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_26);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_27);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_27, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_27)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_26};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_xs, __pyx_t_26};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_22 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_22);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_v_xs);
+        PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_t_26);
+        PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_t_26);
+        __pyx_t_26 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_22, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      __pyx_t_27 = __Pyx_PyInt_AddObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_13);
+      __Pyx_GIVEREF(__pyx_t_27);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_27);
+      __pyx_t_13 = 0;
+      __pyx_t_27 = 0;
+      __pyx_t_27 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_28, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_bisect); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_ylo); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_26 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) {
+        __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_22);
+        if (likely(__pyx_t_26)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22);
+          __Pyx_INCREF(__pyx_t_26);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_22, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_22)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_26, __pyx_v_ys, __pyx_t_13};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_26, __pyx_v_ys, __pyx_t_13};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_14 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        if (__pyx_t_26) {
+          __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_26); __pyx_t_26 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_v_ys);
+        PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_t_13);
+        __pyx_t_13 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_14, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_bisect); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_yhi); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_14);
+      __pyx_t_26 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+        __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_13);
+        if (likely(__pyx_t_26)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+          __Pyx_INCREF(__pyx_t_26);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_13, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_13)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_26, __pyx_v_ys, __pyx_t_14};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_26, __pyx_v_ys, __pyx_t_14};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_17 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        if (__pyx_t_26) {
+          __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_26); __pyx_t_26 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_v_ys);
+        PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_t_14);
+        PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_t_14);
+        __pyx_t_14 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_17, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_22);
+      __Pyx_GIVEREF(__pyx_t_13);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_13);
+      __pyx_t_22 = 0;
+      __pyx_t_13 = 0;
+      __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_28, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_bisect); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_bisect_left); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_zlo); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_17);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_17, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_17)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_22};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_22};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_26 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_v_zs);
+        PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_t_22);
+        PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_t_22);
+        __pyx_t_22 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_26, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      __pyx_t_17 = __Pyx_PyInt_SubtractObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_17);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_bisect); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_26);
+      __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_bisect_right); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_zhi); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_26);
+      __pyx_t_14 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) {
+        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_22);
+        if (likely(__pyx_t_14)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22);
+          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_22, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_22)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_26};
+        __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) {
+        PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_zs, __pyx_t_26};
+        __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_23 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        if (__pyx_t_14) {
+          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_14); __pyx_t_14 = NULL;
+        }
+        __Pyx_INCREF(__pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_v_zs);
+        PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_t_26);
+        PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_t_26);
+        __pyx_t_26 = 0;
+        __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_23, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      __pyx_t_22 = __Pyx_PyInt_AddObjC(__pyx_t_28, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = PyTuple_New(2); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_28);
+      __Pyx_GIVEREF(__pyx_t_17);
+      PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_17);
+      __Pyx_GIVEREF(__pyx_t_22);
+      PyTuple_SET_ITEM(__pyx_t_28, 1, __pyx_t_22);
+      __pyx_t_17 = 0;
+      __pyx_t_22 = 0;
+      __pyx_t_22 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_28, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_22);
+      __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+      __pyx_t_28 = NULL;
+      __pyx_t_6 = 0;
+      if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+        __pyx_t_28 = PyMethod_GET_SELF(__pyx_t_2);
+        if (likely(__pyx_t_28)) {
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+          __Pyx_INCREF(__pyx_t_28);
+          __Pyx_INCREF(function);
+          __Pyx_DECREF_SET(__pyx_t_2, function);
+          __pyx_t_6 = 1;
+        }
+      }
+      #if CYTHON_FAST_PYCALL
+      if (PyFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_28, __pyx_t_27, __pyx_t_13, __pyx_t_22};
+        __pyx_t_30 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      } else
+      #endif
+      #if CYTHON_FAST_PYCCALL
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+        PyObject *__pyx_temp[4] = {__pyx_t_28, __pyx_t_27, __pyx_t_13, __pyx_t_22};
+        __pyx_t_30 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+      } else
+      #endif
+      {
+        __pyx_t_17 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        if (__pyx_t_28) {
+          __Pyx_GIVEREF(__pyx_t_28); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_28); __pyx_t_28 = NULL;
+        }
+        __Pyx_GIVEREF(__pyx_t_27);
+        PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_27);
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_t_13);
+        __Pyx_GIVEREF(__pyx_t_22);
+        PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_22);
+        __pyx_t_27 = 0;
+        __pyx_t_13 = 0;
+        __pyx_t_22 = 0;
+        __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_17, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      if (likely(PyList_CheckExact(__pyx_t_30)) || PyTuple_CheckExact(__pyx_t_30)) {
+        __pyx_t_2 = __pyx_t_30; __Pyx_INCREF(__pyx_t_2); __pyx_t_33 = 0;
+        __pyx_t_25 = NULL;
+      } else {
+        __pyx_t_33 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_30); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_25 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 316, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_25)) {
+          if (likely(PyList_CheckExact(__pyx_t_2))) {
+            if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_2)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_30 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_33); __Pyx_INCREF(__pyx_t_30); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+            #else
+            __pyx_t_30 = PySequence_ITEM(__pyx_t_2, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_30);
+            #endif
+          } else {
+            if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_30 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_33); __Pyx_INCREF(__pyx_t_30); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
+            #else
+            __pyx_t_30 = PySequence_ITEM(__pyx_t_2, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 316, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_30);
+            #endif
+          }
+        } else {
+          __pyx_t_30 = __pyx_t_25(__pyx_t_2);
+          if (unlikely(!__pyx_t_30)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 316, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_30);
+        }
+        if ((likely(PyTuple_CheckExact(__pyx_t_30))) || (PyList_CheckExact(__pyx_t_30))) {
+          PyObject* sequence = __pyx_t_30;
+          Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+          if (unlikely(size != 3)) {
+            if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+            __PYX_ERR(0, 316, __pyx_L1_error)
+          }
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          if (likely(PyTuple_CheckExact(sequence))) {
+            __pyx_t_17 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_22 = PyTuple_GET_ITEM(sequence, 1); 
+            __pyx_t_13 = PyTuple_GET_ITEM(sequence, 2); 
+          } else {
+            __pyx_t_17 = PyList_GET_ITEM(sequence, 0); 
+            __pyx_t_22 = PyList_GET_ITEM(sequence, 1); 
+            __pyx_t_13 = PyList_GET_ITEM(sequence, 2); 
+          }
+          __Pyx_INCREF(__pyx_t_17);
+          __Pyx_INCREF(__pyx_t_22);
+          __Pyx_INCREF(__pyx_t_13);
+          #else
+          __pyx_t_17 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 316, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_22 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 316, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_22);
+          __pyx_t_13 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          #endif
+          __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+        } else {
+          Py_ssize_t index = -1;
+          __pyx_t_27 = PyObject_GetIter(__pyx_t_30); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 316, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+          __pyx_t_19 = Py_TYPE(__pyx_t_27)->tp_iternext;
+          index = 0; __pyx_t_17 = __pyx_t_19(__pyx_t_27); if (unlikely(!__pyx_t_17)) goto __pyx_L21_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_17);
+          index = 1; __pyx_t_22 = __pyx_t_19(__pyx_t_27); if (unlikely(!__pyx_t_22)) goto __pyx_L21_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_22);
+          index = 2; __pyx_t_13 = __pyx_t_19(__pyx_t_27); if (unlikely(!__pyx_t_13)) goto __pyx_L21_unpacking_failed;
+          __Pyx_GOTREF(__pyx_t_13);
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_27), 3) < 0) __PYX_ERR(0, 316, __pyx_L1_error)
+          __pyx_t_19 = NULL;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          goto __pyx_L22_unpacking_done;
+          __pyx_L21_unpacking_failed:;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __pyx_t_19 = NULL;
+          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+          __PYX_ERR(0, 316, __pyx_L1_error)
+          __pyx_L22_unpacking_done:;
+        }
+        __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_22); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+        __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_v_i = __pyx_t_6;
+        __pyx_v_j = __pyx_t_20;
+        __pyx_v_k = __pyx_t_21;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":317
+ *             numcompartments = (4 + len(range(bisect.bisect_left(xs, obj.xlo), bisect.bisect_right(xs, obj.xhi)))) * (4 + len(range(bisect.bisect_left(ys, obj.ylo), bisect.bisect_right(ys, obj.yhi)))) * (4 + len(range(bisect.bisect_left(zs, obj.zlo), bisect.bisect_right(zs, obj.zhi))))
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                     cell_list.append((i, j, k))
+ *                     break
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_contains_surface); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_22);
+        __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        __pyx_t_28 = PyFloat_FromDouble(__pyx_v_grid_dx); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_28);
+        __pyx_t_23 = PyFloat_FromDouble(__pyx_v_r_inner); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        __pyx_t_26 = PyFloat_FromDouble(__pyx_v_r_outer); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        __pyx_t_14 = __Pyx_PyBool_FromLong(__pyx_v_reject_if_outside); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_18 = NULL;
+        __pyx_t_21 = 0;
+        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+          __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_13);
+          if (likely(__pyx_t_18)) {
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+            __Pyx_INCREF(__pyx_t_18);
+            __Pyx_INCREF(function);
+            __Pyx_DECREF_SET(__pyx_t_13, function);
+            __pyx_t_21 = 1;
+          }
+        }
+        #if CYTHON_FAST_PYCALL
+        if (PyFunction_Check(__pyx_t_13)) {
+          PyObject *__pyx_temp[12] = {__pyx_t_18, __pyx_t_22, __pyx_t_17, __pyx_t_27, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_28, __pyx_t_23, __pyx_t_26, __pyx_t_14};
+          __pyx_t_30 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_21, 11+__pyx_t_21); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 317, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
+          __Pyx_GOTREF(__pyx_t_30);
+          __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        } else
+        #endif
+        #if CYTHON_FAST_PYCCALL
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+          PyObject *__pyx_temp[12] = {__pyx_t_18, __pyx_t_22, __pyx_t_17, __pyx_t_27, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_28, __pyx_t_23, __pyx_t_26, __pyx_t_14};
+          __pyx_t_30 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_21, 11+__pyx_t_21); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 317, __pyx_L1_error)
+          __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
+          __Pyx_GOTREF(__pyx_t_30);
+          __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+          __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        } else
+        #endif
+        {
+          __pyx_t_29 = PyTuple_New(11+__pyx_t_21); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 317, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          if (__pyx_t_18) {
+            __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_18); __pyx_t_18 = NULL;
+          }
+          __Pyx_GIVEREF(__pyx_t_22);
+          PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_21, __pyx_t_22);
+          __Pyx_GIVEREF(__pyx_t_17);
+          PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_21, __pyx_t_17);
+          __Pyx_GIVEREF(__pyx_t_27);
+          PyTuple_SET_ITEM(__pyx_t_29, 2+__pyx_t_21, __pyx_t_27);
+          __Pyx_INCREF(__pyx_v_objdist);
+          __Pyx_GIVEREF(__pyx_v_objdist);
+          PyTuple_SET_ITEM(__pyx_t_29, 3+__pyx_t_21, __pyx_v_objdist);
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_29, 4+__pyx_t_21, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_29, 5+__pyx_t_21, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_29, 6+__pyx_t_21, __pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_t_28);
+          PyTuple_SET_ITEM(__pyx_t_29, 7+__pyx_t_21, __pyx_t_28);
+          __Pyx_GIVEREF(__pyx_t_23);
+          PyTuple_SET_ITEM(__pyx_t_29, 8+__pyx_t_21, __pyx_t_23);
+          __Pyx_GIVEREF(__pyx_t_26);
+          PyTuple_SET_ITEM(__pyx_t_29, 9+__pyx_t_21, __pyx_t_26);
+          __Pyx_GIVEREF(__pyx_t_14);
+          PyTuple_SET_ITEM(__pyx_t_29, 10+__pyx_t_21, __pyx_t_14);
+          __pyx_t_22 = 0;
+          __pyx_t_17 = 0;
+          __pyx_t_27 = 0;
+          __pyx_t_28 = 0;
+          __pyx_t_23 = 0;
+          __pyx_t_26 = 0;
+          __pyx_t_14 = 0;
+          __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_29, NULL); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 317, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+        }
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_30); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 317, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+        if (__pyx_t_12) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":318
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i, j, k))             # <<<<<<<<<<<<<<
+ *                     break
+ *             else:
+ */
+          __pyx_t_30 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 318, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 318, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 318, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GIVEREF(__pyx_t_30);
+          PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_30);
+          __Pyx_GIVEREF(__pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_13);
+          __Pyx_GIVEREF(__pyx_t_29);
+          PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_29);
+          __pyx_t_30 = 0;
+          __pyx_t_13 = 0;
+          __pyx_t_29 = 0;
+          __pyx_t_31 = __Pyx_PyList_Append(__pyx_v_cell_list, __pyx_t_14); if (unlikely(__pyx_t_31 == ((int)-1))) __PYX_ERR(0, 318, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":319
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i, j, k))
+ *                     break             # <<<<<<<<<<<<<<
+ *             else:
+ *                 #print 'objects with no contribution to surface'
+ */
+          goto __pyx_L20_break;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":317
+ *             numcompartments = (4 + len(range(bisect.bisect_left(xs, obj.xlo), bisect.bisect_right(xs, obj.xhi)))) * (4 + len(range(bisect.bisect_left(ys, obj.ylo), bisect.bisect_right(ys, obj.yhi)))) * (4 + len(range(bisect.bisect_left(zs, obj.zlo), bisect.bisect_right(zs, obj.zhi))))
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                     cell_list.append((i, j, k))
+ *                     break
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":316
+ * 
+ *             numcompartments = (4 + len(range(bisect.bisect_left(xs, obj.xlo), bisect.bisect_right(xs, obj.xhi)))) * (4 + len(range(bisect.bisect_left(ys, obj.ylo), bisect.bisect_right(ys, obj.yhi)))) * (4 + len(range(bisect.bisect_left(zs, obj.zlo), bisect.bisect_right(zs, obj.zhi))))
+ *             for i, j, k in itertools.product(xrange(bisect.bisect_left(xs, obj.xlo) - 2, bisect.bisect_right(xs, obj.xhi) + 2), xrange(bisect.bisect_left(ys, obj.ylo) - 2, bisect.bisect_right(ys, obj.yhi) + 2), xrange(bisect.bisect_left(zs, obj.zlo) - 2, bisect.bisect_right(zs, obj.zhi) + 2)):             # <<<<<<<<<<<<<<
+ *                 if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                     cell_list.append((i, j, k))
+ */
+      }
+      /*else*/ {
+      }
+      __pyx_L20_break:;
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    }
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":303
+ *         cell_list = []
+ *         cur_processed = {}
+ *         for i, j, k in obj.starting_points(xs, ys, zs):             # <<<<<<<<<<<<<<
+ *             for di, dj, dk in itertools.product([0, -1, 1, -2, 2], [0, -1, 1, -2, 2], [0, -1, 1, -2, 2]):
+ *                 if contains_surface(i + di, j + dj, k + dk, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+    __pyx_L8_break:;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":324
+ *                 pass
+ * 
+ *         if not internal_membranes:             # <<<<<<<<<<<<<<
+ *             # CTNG:floodfill
+ *             while cell_list:
+ */
+    __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_internal_membranes); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 324, __pyx_L1_error)
+    __pyx_t_34 = ((!__pyx_t_12) != 0);
+    if (__pyx_t_34) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":326
+ *         if not internal_membranes:
+ *             # CTNG:floodfill
+ *             while cell_list:             # <<<<<<<<<<<<<<
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:
+ */
+      while (1) {
+        __pyx_t_34 = (PyList_GET_SIZE(__pyx_v_cell_list) != 0);
+        if (!__pyx_t_34) break;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":327
+ *             # CTNG:floodfill
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()             # <<<<<<<<<<<<<<
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0
+ */
+        __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_cell_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 327, __pyx_L1_error)
+        __Pyx_XDECREF_SET(__pyx_v_cell_id, ((PyObject*)__pyx_t_1));
+        __pyx_t_1 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":328
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:             # <<<<<<<<<<<<<<
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ */
+        __pyx_t_34 = (__Pyx_PyDict_ContainsTF(__pyx_v_cell_id, __pyx_v_cur_processed, Py_NE)); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 328, __pyx_L1_error)
+        __pyx_t_12 = (__pyx_t_34 != 0);
+        if (__pyx_t_12) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":329
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0             # <<<<<<<<<<<<<<
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+          if (unlikely(PyDict_SetItem(__pyx_v_cur_processed, __pyx_v_cell_id, __pyx_int_0) < 0)) __PYX_ERR(0, 329, __pyx_L1_error)
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":330
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id             # <<<<<<<<<<<<<<
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         to_process[cell_id] = 0
+ */
+          if (likely(__pyx_v_cell_id != Py_None)) {
+            PyObject* sequence = __pyx_v_cell_id;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 330, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
+            __pyx_t_14 = PyTuple_GET_ITEM(sequence, 2); 
+            __Pyx_INCREF(__pyx_t_1);
+            __Pyx_INCREF(__pyx_t_2);
+            __Pyx_INCREF(__pyx_t_14);
+            #else
+            __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_1);
+            __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 330, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_14 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 330, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            #endif
+          } else {
+            __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 330, __pyx_L1_error)
+          }
+          __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+          __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __pyx_v_i = __pyx_t_21;
+          __pyx_v_j = __pyx_t_20;
+          __pyx_v_k = __pyx_t_6;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":331
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                         to_process[cell_id] = 0
+ *                         append_with_deltas(cell_list, i, j, k)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_contains_surface); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_1);
+          __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_30 = PyFloat_FromDouble(__pyx_v_grid_dx); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __pyx_t_26 = PyFloat_FromDouble(__pyx_v_r_inner); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_23 = PyFloat_FromDouble(__pyx_v_r_outer); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __pyx_t_28 = __Pyx_PyBool_FromLong(__pyx_v_reject_if_outside); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_28);
+          __pyx_t_27 = NULL;
+          __pyx_t_6 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+            __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_2);
+            if (likely(__pyx_t_27)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+              __Pyx_INCREF(__pyx_t_27);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_2, function);
+              __pyx_t_6 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_2)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_27, __pyx_t_1, __pyx_t_29, __pyx_t_13, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_30, __pyx_t_26, __pyx_t_23, __pyx_t_28};
+            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 331, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_27, __pyx_t_1, __pyx_t_29, __pyx_t_13, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_30, __pyx_t_26, __pyx_t_23, __pyx_t_28};
+            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 331, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_17 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 331, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            if (__pyx_t_27) {
+              __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_27); __pyx_t_27 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_1);
+            PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_1);
+            __Pyx_GIVEREF(__pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_t_29);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_13);
+            __Pyx_INCREF(__pyx_v_objdist);
+            __Pyx_GIVEREF(__pyx_v_objdist);
+            PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_6, __pyx_v_objdist);
+            __Pyx_INCREF(__pyx_v_xs);
+            __Pyx_GIVEREF(__pyx_v_xs);
+            PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_6, __pyx_v_xs);
+            __Pyx_INCREF(__pyx_v_ys);
+            __Pyx_GIVEREF(__pyx_v_ys);
+            PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_6, __pyx_v_ys);
+            __Pyx_INCREF(__pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_v_zs);
+            PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_6, __pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_t_30);
+            PyTuple_SET_ITEM(__pyx_t_17, 7+__pyx_t_6, __pyx_t_30);
+            __Pyx_GIVEREF(__pyx_t_26);
+            PyTuple_SET_ITEM(__pyx_t_17, 8+__pyx_t_6, __pyx_t_26);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_17, 9+__pyx_t_6, __pyx_t_23);
+            __Pyx_GIVEREF(__pyx_t_28);
+            PyTuple_SET_ITEM(__pyx_t_17, 10+__pyx_t_6, __pyx_t_28);
+            __pyx_t_1 = 0;
+            __pyx_t_29 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_30 = 0;
+            __pyx_t_26 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_28 = 0;
+            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_17, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 331, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 331, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          if (__pyx_t_12) {
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":332
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         to_process[cell_id] = 0             # <<<<<<<<<<<<<<
+ *                         append_with_deltas(cell_list, i, j, k)
+ * 
+ */
+            if (unlikely(PyDict_SetItem(__pyx_v_to_process, __pyx_v_cell_id, __pyx_int_0) < 0)) __PYX_ERR(0, 332, __pyx_L1_error)
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":333
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         to_process[cell_id] = 0
+ *                         append_with_deltas(cell_list, i, j, k)             # <<<<<<<<<<<<<<
+ * 
+ *         else:
+ */
+            __pyx_t_14 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_append_with_deltas(__pyx_v_cell_list, __pyx_v_i, __pyx_v_j, __pyx_v_k); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 333, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":331
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                         to_process[cell_id] = 0
+ *                         append_with_deltas(cell_list, i, j, k)
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":328
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:             # <<<<<<<<<<<<<<
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ */
+        }
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":324
+ *                 pass
+ * 
+ *         if not internal_membranes:             # <<<<<<<<<<<<<<
+ *             # CTNG:floodfill
+ *             while cell_list:
+ */
+      goto __pyx_L26;
+    }
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":337
+ *         else:
+ *             # TODO: is this support ever really useful?
+ *             while cell_list:             # <<<<<<<<<<<<<<
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:
+ */
+    /*else*/ {
+      while (1) {
+        __pyx_t_12 = (PyList_GET_SIZE(__pyx_v_cell_list) != 0);
+        if (!__pyx_t_12) break;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":338
+ *             # TODO: is this support ever really useful?
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()             # <<<<<<<<<<<<<<
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0
+ */
+        __pyx_t_14 = __Pyx_PyList_Pop(__pyx_v_cell_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        if (!(likely(PyTuple_CheckExact(__pyx_t_14))||((__pyx_t_14) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_14)->tp_name), 0))) __PYX_ERR(0, 338, __pyx_L1_error)
+        __Pyx_XDECREF_SET(__pyx_v_cell_id, ((PyObject*)__pyx_t_14));
+        __pyx_t_14 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":339
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:             # <<<<<<<<<<<<<<
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ */
+        __pyx_t_12 = (__Pyx_PyDict_ContainsTF(__pyx_v_cell_id, __pyx_v_cur_processed, Py_NE)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
+        __pyx_t_34 = (__pyx_t_12 != 0);
+        if (__pyx_t_34) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":340
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0             # <<<<<<<<<<<<<<
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ */
+          if (unlikely(PyDict_SetItem(__pyx_v_cur_processed, __pyx_v_cell_id, __pyx_int_0) < 0)) __PYX_ERR(0, 340, __pyx_L1_error)
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":341
+ *                 if cell_id not in cur_processed:
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id             # <<<<<<<<<<<<<<
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         if triangles_i > triangles.size - 50:
+ */
+          if (likely(__pyx_v_cell_id != Py_None)) {
+            PyObject* sequence = __pyx_v_cell_id;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 341, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0); 
+            __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
+            __pyx_t_17 = PyTuple_GET_ITEM(sequence, 2); 
+            __Pyx_INCREF(__pyx_t_14);
+            __Pyx_INCREF(__pyx_t_2);
+            __Pyx_INCREF(__pyx_t_17);
+            #else
+            __pyx_t_14 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 341, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_17 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 341, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            #endif
+          } else {
+            __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 341, __pyx_L1_error)
+          }
+          __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 341, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          __pyx_v_i = __pyx_t_6;
+          __pyx_v_j = __pyx_t_20;
+          __pyx_v_k = __pyx_t_21;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":342
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                         if triangles_i > triangles.size - 50:
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_contains_surface); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_14);
+          __pyx_t_28 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_28);
+          __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __pyx_t_26 = PyFloat_FromDouble(__pyx_v_grid_dx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_30 = PyFloat_FromDouble(__pyx_v_r_inner); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __pyx_t_13 = PyFloat_FromDouble(__pyx_v_r_outer); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_29 = __Pyx_PyBool_FromLong(__pyx_v_reject_if_outside); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_1 = NULL;
+          __pyx_t_21 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+            if (likely(__pyx_t_1)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+              __Pyx_INCREF(__pyx_t_1);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_2, function);
+              __pyx_t_21 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_2)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_1, __pyx_t_14, __pyx_t_28, __pyx_t_23, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_26, __pyx_t_30, __pyx_t_13, __pyx_t_29};
+            __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_21, 11+__pyx_t_21); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_1, __pyx_t_14, __pyx_t_28, __pyx_t_23, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_26, __pyx_t_30, __pyx_t_13, __pyx_t_29};
+            __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_21, 11+__pyx_t_21); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_27 = PyTuple_New(11+__pyx_t_21); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_27);
+            if (__pyx_t_1) {
+              __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __pyx_t_1 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_14);
+            PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_21, __pyx_t_14);
+            __Pyx_GIVEREF(__pyx_t_28);
+            PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_21, __pyx_t_28);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_21, __pyx_t_23);
+            __Pyx_INCREF(__pyx_v_objdist);
+            __Pyx_GIVEREF(__pyx_v_objdist);
+            PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_21, __pyx_v_objdist);
+            __Pyx_INCREF(__pyx_v_xs);
+            __Pyx_GIVEREF(__pyx_v_xs);
+            PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_21, __pyx_v_xs);
+            __Pyx_INCREF(__pyx_v_ys);
+            __Pyx_GIVEREF(__pyx_v_ys);
+            PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_21, __pyx_v_ys);
+            __Pyx_INCREF(__pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_v_zs);
+            PyTuple_SET_ITEM(__pyx_t_27, 6+__pyx_t_21, __pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_t_26);
+            PyTuple_SET_ITEM(__pyx_t_27, 7+__pyx_t_21, __pyx_t_26);
+            __Pyx_GIVEREF(__pyx_t_30);
+            PyTuple_SET_ITEM(__pyx_t_27, 8+__pyx_t_21, __pyx_t_30);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_27, 9+__pyx_t_21, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_27, 10+__pyx_t_21, __pyx_t_29);
+            __pyx_t_14 = 0;
+            __pyx_t_28 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_26 = 0;
+            __pyx_t_30 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_29 = 0;
+            __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_27, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 342, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 342, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+          if (__pyx_t_34) {
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":343
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         if triangles_i > triangles.size - 50:             # <<<<<<<<<<<<<<
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ *                         triangles_i = process_cell(i, j, k, [objdist], xs, ys, zs, triangles, triangles_i, store_areas=store_areas, areas=areas)
+ */
+            __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_triangles_i); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_triangles), __pyx_n_s_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_27 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_50, 50, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_27);
+            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+            __pyx_t_2 = PyObject_RichCompare(__pyx_t_17, __pyx_t_27, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 343, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+            if (__pyx_t_34) {
+
+              /* "neuron/rxd/geometry3d/surfaces.pyx":344
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         if triangles_i > triangles.size - 50:
+ *                             triangles.resize(triangles.size * 2, refcheck=False)             # <<<<<<<<<<<<<<
+ *                         triangles_i = process_cell(i, j, k, [objdist], xs, ys, zs, triangles, triangles_i, store_areas=store_areas, areas=areas)
+ *                         append_with_deltas(cell_list, i, j, k)
+ */
+              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_triangles), __pyx_n_s_resize); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_2);
+              __pyx_t_27 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_triangles), __pyx_n_s_size); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              __pyx_t_17 = PyNumber_Multiply(__pyx_t_27, __pyx_int_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+              __pyx_t_27 = PyTuple_New(1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_27);
+              __Pyx_GIVEREF(__pyx_t_17);
+              PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_17);
+              __pyx_t_17 = 0;
+              __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_refcheck, Py_False) < 0) __PYX_ERR(0, 344, __pyx_L1_error)
+              __pyx_t_29 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_27, __pyx_t_17); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 344, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_29);
+              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+              __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+
+              /* "neuron/rxd/geometry3d/surfaces.pyx":343
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):
+ *                         if triangles_i > triangles.size - 50:             # <<<<<<<<<<<<<<
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ *                         triangles_i = process_cell(i, j, k, [objdist], xs, ys, zs, triangles, triangles_i, store_areas=store_areas, areas=areas)
+ */
+            }
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":345
+ *                         if triangles_i > triangles.size - 50:
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ *                         triangles_i = process_cell(i, j, k, [objdist], xs, ys, zs, triangles, triangles_i, store_areas=store_areas, areas=areas)             # <<<<<<<<<<<<<<
+ *                         append_with_deltas(cell_list, i, j, k)
+ * 
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_29, __pyx_n_s_process_cell); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __pyx_t_27 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_27);
+            __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_13 = PyList_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_INCREF(__pyx_v_objdist);
+            __Pyx_GIVEREF(__pyx_v_objdist);
+            PyList_SET_ITEM(__pyx_t_13, 0, __pyx_v_objdist);
+            __pyx_t_30 = __Pyx_PyInt_From_int(__pyx_v_triangles_i); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_30);
+            __pyx_t_26 = PyTuple_New(9); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_26);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_26, 1, __pyx_t_27);
+            __Pyx_GIVEREF(__pyx_t_2);
+            PyTuple_SET_ITEM(__pyx_t_26, 2, __pyx_t_2);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_26, 3, __pyx_t_13);
+            __Pyx_INCREF(__pyx_v_xs);
+            __Pyx_GIVEREF(__pyx_v_xs);
+            PyTuple_SET_ITEM(__pyx_t_26, 4, __pyx_v_xs);
+            __Pyx_INCREF(__pyx_v_ys);
+            __Pyx_GIVEREF(__pyx_v_ys);
+            PyTuple_SET_ITEM(__pyx_t_26, 5, __pyx_v_ys);
+            __Pyx_INCREF(__pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_v_zs);
+            PyTuple_SET_ITEM(__pyx_t_26, 6, __pyx_v_zs);
+            __Pyx_INCREF(((PyObject *)__pyx_v_triangles));
+            __Pyx_GIVEREF(((PyObject *)__pyx_v_triangles));
+            PyTuple_SET_ITEM(__pyx_t_26, 7, ((PyObject *)__pyx_v_triangles));
+            __Pyx_GIVEREF(__pyx_t_30);
+            PyTuple_SET_ITEM(__pyx_t_26, 8, __pyx_t_30);
+            __pyx_t_17 = 0;
+            __pyx_t_27 = 0;
+            __pyx_t_2 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_30 = 0;
+            __pyx_t_30 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_30);
+            __pyx_t_13 = __Pyx_PyBool_FromLong(__pyx_v_store_areas); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            if (PyDict_SetItem(__pyx_t_30, __pyx_n_s_store_areas, __pyx_t_13) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            if (PyDict_SetItem(__pyx_t_30, __pyx_n_s_areas, __pyx_v_areas) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
+            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_29, __pyx_t_26, __pyx_t_30); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 345, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+            __pyx_v_triangles_i = __pyx_t_21;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":346
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ *                         triangles_i = process_cell(i, j, k, [objdist], xs, ys, zs, triangles, triangles_i, store_areas=store_areas, areas=areas)
+ *                         append_with_deltas(cell_list, i, j, k)             # <<<<<<<<<<<<<<
+ * 
+ *     if internal_membranes:
+ */
+            __pyx_t_13 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_append_with_deltas(__pyx_v_cell_list, __pyx_v_i, __pyx_v_j, __pyx_v_k); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 346, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":342
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, grid_dx, r_inner, r_outer, reject_if_outside):             # <<<<<<<<<<<<<<
+ *                         if triangles_i > triangles.size - 50:
+ *                             triangles.resize(triangles.size * 2, refcheck=False)
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":339
+ *             while cell_list:
+ *                 cell_id = cell_list.pop()
+ *                 if cell_id not in cur_processed:             # <<<<<<<<<<<<<<
+ *                     cur_processed[cell_id] = 0
+ *                     i, j, k = cell_id
+ */
+        }
+      }
+    }
+    __pyx_L26:;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":296
+ *     cdef int triangles_i = 0
+ *     cdef bint reject_if_outside
+ *     for m, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *         # TODO: remove all the stuff about reject_if_outside when have true SkewCone distances
+ *         reject_if_outside = not(isinstance(obj, graphicsPrimitives.SkewCone))
+ */
+  }
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":348
+ *                         append_with_deltas(cell_list, i, j, k)
+ * 
+ *     if internal_membranes:             # <<<<<<<<<<<<<<
+ *         triangles.resize(triangles_i, refcheck=False)
+ *         return triangles
+ */
+  __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_v_internal_membranes); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 348, __pyx_L1_error)
+  if (__pyx_t_34) {
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":349
+ * 
+ *     if internal_membranes:
+ *         triangles.resize(triangles_i, refcheck=False)             # <<<<<<<<<<<<<<
+ *         return triangles
+ * 
+ */
+    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_triangles), __pyx_n_s_resize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 349, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_triangles_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 349, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_30 = PyTuple_New(1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 349, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_30);
+    __Pyx_GIVEREF(__pyx_t_13);
+    PyTuple_SET_ITEM(__pyx_t_30, 0, __pyx_t_13);
+    __pyx_t_13 = 0;
+    __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 349, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_refcheck, Py_False) < 0) __PYX_ERR(0, 349, __pyx_L1_error)
+    __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_30, __pyx_t_13); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 349, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":350
+ *     if internal_membranes:
+ *         triangles.resize(triangles_i, refcheck=False)
+ *         return triangles             # <<<<<<<<<<<<<<
+ * 
+ *     cur_processed = None
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(((PyObject *)__pyx_v_triangles));
+    __pyx_r = ((PyObject *)__pyx_v_triangles);
+    goto __pyx_L0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":348
+ *                         append_with_deltas(cell_list, i, j, k)
+ * 
+ *     if internal_membranes:             # <<<<<<<<<<<<<<
+ *         triangles.resize(triangles_i, refcheck=False)
+ *         return triangles
+ */
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":352
+ *         return triangles
+ * 
+ *     cur_processed = None             # <<<<<<<<<<<<<<
+ *     cdef list chunk_pts = [[[[] for k in range(nz)] for j in range(ny)] for i in range(nx)]
+ * 
+ */
+  __Pyx_INCREF(Py_None);
+  __Pyx_XDECREF_SET(__pyx_v_cur_processed, ((PyObject*)Py_None));
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":353
+ * 
+ *     cur_processed = None
+ *     cdef list chunk_pts = [[[[] for k in range(nz)] for j in range(ny)] for i in range(nx)]             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_26 = PyList_New(0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 353, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __pyx_t_21 = __pyx_v_nx;
+  __pyx_t_20 = __pyx_t_21;
+  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_20; __pyx_t_6+=1) {
+    __pyx_v_i = __pyx_t_6;
+    __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 353, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_35 = __pyx_v_ny;
+    __pyx_t_36 = __pyx_t_35;
+    for (__pyx_t_37 = 0; __pyx_t_37 < __pyx_t_36; __pyx_t_37+=1) {
+      __pyx_v_j = __pyx_t_37;
+      __pyx_t_30 = PyList_New(0); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 353, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __pyx_t_38 = __pyx_v_nz;
+      __pyx_t_39 = __pyx_t_38;
+      for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
+        __pyx_v_k = __pyx_t_40;
+        __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        if (unlikely(__Pyx_ListComp_Append(__pyx_t_30, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 353, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      }
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_13, (PyObject*)__pyx_t_30))) __PYX_ERR(0, 353, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+    }
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_26, (PyObject*)__pyx_t_13))) __PYX_ERR(0, 353, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  }
+  __pyx_v_chunk_pts = ((PyObject*)__pyx_t_26);
+  __pyx_t_26 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":359
+ * 
+ *     # identify chunk_pts
+ *     for i, j, k in to_process.keys():             # <<<<<<<<<<<<<<
+ *         chunk_pts[i // chunk_size][j // chunk_size][k // chunk_size].append((i, j, k))
+ * 
+ */
+  __pyx_t_26 = __Pyx_PyDict_Keys(__pyx_v_to_process); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 359, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) {
+    __pyx_t_13 = __pyx_t_26; __Pyx_INCREF(__pyx_t_13); __pyx_t_10 = 0;
+    __pyx_t_16 = NULL;
+  } else {
+    __pyx_t_10 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 359, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __pyx_t_16 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 359, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_16)) {
+      if (likely(PyList_CheckExact(__pyx_t_13))) {
+        if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_13)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_26 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_10); __Pyx_INCREF(__pyx_t_26); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 359, __pyx_L1_error)
+        #else
+        __pyx_t_26 = PySequence_ITEM(__pyx_t_13, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 359, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        #endif
+      } else {
+        if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_10); __Pyx_INCREF(__pyx_t_26); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 359, __pyx_L1_error)
+        #else
+        __pyx_t_26 = PySequence_ITEM(__pyx_t_13, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 359, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        #endif
+      }
+    } else {
+      __pyx_t_26 = __pyx_t_16(__pyx_t_13);
+      if (unlikely(!__pyx_t_26)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 359, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_26);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_26))) || (PyList_CheckExact(__pyx_t_26))) {
+      PyObject* sequence = __pyx_t_26;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 3)) {
+        if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 359, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_30 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
+        __pyx_t_29 = PyTuple_GET_ITEM(sequence, 2); 
+      } else {
+        __pyx_t_30 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
+        __pyx_t_29 = PyList_GET_ITEM(sequence, 2); 
+      }
+      __Pyx_INCREF(__pyx_t_30);
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_29);
+      #else
+      __pyx_t_30 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 359, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 359, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_29 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 359, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      #endif
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_2 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+      __pyx_t_19 = Py_TYPE(__pyx_t_2)->tp_iternext;
+      index = 0; __pyx_t_30 = __pyx_t_19(__pyx_t_2); if (unlikely(!__pyx_t_30)) goto __pyx_L45_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_30);
+      index = 1; __pyx_t_3 = __pyx_t_19(__pyx_t_2); if (unlikely(!__pyx_t_3)) goto __pyx_L45_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_3);
+      index = 2; __pyx_t_29 = __pyx_t_19(__pyx_t_2); if (unlikely(!__pyx_t_29)) goto __pyx_L45_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_29);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_2), 3) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
+      __pyx_t_19 = NULL;
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      goto __pyx_L46_unpacking_done;
+      __pyx_L45_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __pyx_t_19 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 359, __pyx_L1_error)
+      __pyx_L46_unpacking_done:;
+    }
+    __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_30); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+    __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_29); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    __pyx_v_i = __pyx_t_21;
+    __pyx_v_j = __pyx_t_20;
+    __pyx_v_k = __pyx_t_6;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":360
+ *     # identify chunk_pts
+ *     for i, j, k in to_process.keys():
+ *         chunk_pts[i // chunk_size][j // chunk_size][k // chunk_size].append((i, j, k))             # <<<<<<<<<<<<<<
+ * 
+ *     cdef int num_keys = len(to_process.keys())
+ */
+    if (unlikely(__pyx_v_chunk_size == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_i))) {
+      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_div_int(__pyx_v_i, __pyx_v_chunk_size);
+    __pyx_t_26 = __Pyx_GetItemInt_List(__pyx_v_chunk_pts, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    if (unlikely(__pyx_v_chunk_size == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_j))) {
+      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_div_int(__pyx_v_j, __pyx_v_chunk_size);
+    __pyx_t_29 = __Pyx_GetItemInt(__pyx_t_26, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+    if (unlikely(__pyx_v_chunk_size == 0)) {
+      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_k))) {
+      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+      __PYX_ERR(0, 360, __pyx_L1_error)
+    }
+    __pyx_t_6 = __Pyx_div_int(__pyx_v_k, __pyx_v_chunk_size);
+    __pyx_t_26 = __Pyx_GetItemInt(__pyx_t_29, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_26);
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_30 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_30);
+    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GIVEREF(__pyx_t_29);
+    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_29);
+    __Pyx_GIVEREF(__pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
+    __Pyx_GIVEREF(__pyx_t_30);
+    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_30);
+    __pyx_t_29 = 0;
+    __pyx_t_3 = 0;
+    __pyx_t_30 = 0;
+    __pyx_t_31 = __Pyx_PyObject_Append(__pyx_t_26, __pyx_t_2); if (unlikely(__pyx_t_31 == ((int)-1))) __PYX_ERR(0, 360, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":359
+ * 
+ *     # identify chunk_pts
+ *     for i, j, k in to_process.keys():             # <<<<<<<<<<<<<<
+ *         chunk_pts[i // chunk_size][j // chunk_size][k // chunk_size].append((i, j, k))
+ * 
+ */
+  }
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":362
+ *         chunk_pts[i // chunk_size][j // chunk_size][k // chunk_size].append((i, j, k))
+ * 
+ *     cdef int num_keys = len(to_process.keys())             # <<<<<<<<<<<<<<
+ *     cdef int missing_objs = 0
+ * 
+ */
+  __pyx_t_13 = __Pyx_PyDict_Keys(__pyx_v_to_process); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 362, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_10 = PyObject_Length(__pyx_t_13); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 362, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __pyx_v_num_keys = __pyx_t_10;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":363
+ * 
+ *     cdef int num_keys = len(to_process.keys())
+ *     cdef int missing_objs = 0             # <<<<<<<<<<<<<<
+ * 
+ *     triangles = numpy.zeros(45 * num_keys)
+ */
+  __pyx_v_missing_objs = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":365
+ *     cdef int missing_objs = 0
+ * 
+ *     triangles = numpy.zeros(45 * num_keys)             # <<<<<<<<<<<<<<
+ *     cdef int starti = 0
+ *     cdef int a, b, c
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_numpy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 365, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_26);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = __Pyx_PyInt_From_long((45 * __pyx_v_num_keys)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_30 = NULL;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) {
+    __pyx_t_30 = PyMethod_GET_SELF(__pyx_t_26);
+    if (likely(__pyx_t_30)) {
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26);
+      __Pyx_INCREF(__pyx_t_30);
+      __Pyx_INCREF(function);
+      __Pyx_DECREF_SET(__pyx_t_26, function);
+    }
+  }
+  __pyx_t_13 = (__pyx_t_30) ? __Pyx_PyObject_Call2Args(__pyx_t_26, __pyx_t_30, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 365, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+  if (!(likely(((__pyx_t_13) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_13, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 365, __pyx_L1_error)
+  __pyx_t_5 = ((PyArrayObject *)__pyx_t_13);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+    __pyx_t_6 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+    if (unlikely(__pyx_t_6 < 0)) {
+      PyErr_Fetch(&__pyx_t_9, &__pyx_t_8, &__pyx_t_7);
+      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+        Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_7);
+        __Pyx_RaiseBufferFallbackError();
+      } else {
+        PyErr_Restore(__pyx_t_9, __pyx_t_8, __pyx_t_7);
+      }
+      __pyx_t_9 = __pyx_t_8 = __pyx_t_7 = 0;
+    }
+    __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+    if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 365, __pyx_L1_error)
+  }
+  __pyx_t_5 = 0;
+  __Pyx_DECREF_SET(__pyx_v_triangles, ((PyArrayObject *)__pyx_t_13));
+  __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":366
+ * 
+ *     triangles = numpy.zeros(45 * num_keys)
+ *     cdef int starti = 0             # <<<<<<<<<<<<<<
+ *     cdef int a, b, c
+ *     cdef int extra_count
+ */
+  __pyx_v_starti = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":371
+ *     cdef list obj_search
+ *     # handle a chunk at a time
+ *     for a in range(nx):             # <<<<<<<<<<<<<<
+ *         chunk_objsa = chunk_objs[a]
+ *         chunk_ptsa = chunk_pts[a]
+ */
+  __pyx_t_6 = __pyx_v_nx;
+  __pyx_t_20 = __pyx_t_6;
+  for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=1) {
+    __pyx_v_a = __pyx_t_21;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":372
+ *     # handle a chunk at a time
+ *     for a in range(nx):
+ *         chunk_objsa = chunk_objs[a]             # <<<<<<<<<<<<<<
+ *         chunk_ptsa = chunk_pts[a]
+ *         for b in range(ny):
+ */
+    if (unlikely(__pyx_v_chunk_objs == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(0, 372, __pyx_L1_error)
+    }
+    __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_chunk_objs, __pyx_v_a, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 372, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_XDECREF_SET(__pyx_v_chunk_objsa, __pyx_t_13);
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":373
+ *     for a in range(nx):
+ *         chunk_objsa = chunk_objs[a]
+ *         chunk_ptsa = chunk_pts[a]             # <<<<<<<<<<<<<<
+ *         for b in range(ny):
+ *             for c in range(nz):
+ */
+    __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_chunk_pts, __pyx_v_a, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 373, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_XDECREF_SET(__pyx_v_chunk_ptsa, __pyx_t_13);
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":374
+ *         chunk_objsa = chunk_objs[a]
+ *         chunk_ptsa = chunk_pts[a]
+ *         for b in range(ny):             # <<<<<<<<<<<<<<
+ *             for c in range(nz):
+ *                 objs = chunk_objsa[b][c]
+ */
+    __pyx_t_35 = __pyx_v_ny;
+    __pyx_t_36 = __pyx_t_35;
+    for (__pyx_t_37 = 0; __pyx_t_37 < __pyx_t_36; __pyx_t_37+=1) {
+      __pyx_v_b = __pyx_t_37;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":375
+ *         chunk_ptsa = chunk_pts[a]
+ *         for b in range(ny):
+ *             for c in range(nz):             # <<<<<<<<<<<<<<
+ *                 objs = chunk_objsa[b][c]
+ *                 cells = chunk_ptsa[b][c]
+ */
+      __pyx_t_38 = __pyx_v_nz;
+      __pyx_t_39 = __pyx_t_38;
+      for (__pyx_t_40 = 0; __pyx_t_40 < __pyx_t_39; __pyx_t_40+=1) {
+        __pyx_v_c = __pyx_t_40;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":376
+ *         for b in range(ny):
+ *             for c in range(nz):
+ *                 objs = chunk_objsa[b][c]             # <<<<<<<<<<<<<<
+ *                 cells = chunk_ptsa[b][c]
+ *                 if cells and not objs:
+ */
+        __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_chunk_objsa, __pyx_v_b, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 376, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_26 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_c, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 376, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_objs, __pyx_t_26);
+        __pyx_t_26 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":377
+ *             for c in range(nz):
+ *                 objs = chunk_objsa[b][c]
+ *                 cells = chunk_ptsa[b][c]             # <<<<<<<<<<<<<<
+ *                 if cells and not objs:
+ *                     # we should never get here; this is just a sanity check
+ */
+        __pyx_t_26 = __Pyx_GetItemInt(__pyx_v_chunk_ptsa, __pyx_v_b, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 377, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_26, __pyx_v_c, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 377, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __Pyx_XDECREF_SET(__pyx_v_cells, __pyx_t_13);
+        __pyx_t_13 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":378
+ *                 objs = chunk_objsa[b][c]
+ *                 cells = chunk_ptsa[b][c]
+ *                 if cells and not objs:             # <<<<<<<<<<<<<<
+ *                     # we should never get here; this is just a sanity check
+ *                     missing_objs += 1
+ */
+        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_cells); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 378, __pyx_L1_error)
+        if (__pyx_t_12) {
+        } else {
+          __pyx_t_34 = __pyx_t_12;
+          goto __pyx_L54_bool_binop_done;
+        }
+        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_objs); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 378, __pyx_L1_error)
+        __pyx_t_41 = ((!__pyx_t_12) != 0);
+        __pyx_t_34 = __pyx_t_41;
+        __pyx_L54_bool_binop_done:;
+        if (__pyx_t_34) {
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":380
+ *                 if cells and not objs:
+ *                     # we should never get here; this is just a sanity check
+ *                     missing_objs += 1             # <<<<<<<<<<<<<<
+ *                     continue
+ *                 for i, j, k in cells:
+ */
+          __pyx_v_missing_objs = (__pyx_v_missing_objs + 1);
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":381
+ *                     # we should never get here; this is just a sanity check
+ *                     missing_objs += 1
+ *                     continue             # <<<<<<<<<<<<<<
+ *                 for i, j, k in cells:
+ *                     last_starti = starti
+ */
+          goto __pyx_L51_continue;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":378
+ *                 objs = chunk_objsa[b][c]
+ *                 cells = chunk_ptsa[b][c]
+ *                 if cells and not objs:             # <<<<<<<<<<<<<<
+ *                     # we should never get here; this is just a sanity check
+ *                     missing_objs += 1
+ */
+        }
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":382
+ *                     missing_objs += 1
+ *                     continue
+ *                 for i, j, k in cells:             # <<<<<<<<<<<<<<
+ *                     last_starti = starti
+ *                     #starti = process_cell(i, j, k, objects_distances, xs, ys, zs, triangles, last_starti) #was objs
+ */
+        if (likely(PyList_CheckExact(__pyx_v_cells)) || PyTuple_CheckExact(__pyx_v_cells)) {
+          __pyx_t_13 = __pyx_v_cells; __Pyx_INCREF(__pyx_t_13); __pyx_t_10 = 0;
+          __pyx_t_16 = NULL;
+        } else {
+          __pyx_t_10 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_v_cells); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_16 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 382, __pyx_L1_error)
+        }
+        for (;;) {
+          if (likely(!__pyx_t_16)) {
+            if (likely(PyList_CheckExact(__pyx_t_13))) {
+              if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_13)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_26 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_10); __Pyx_INCREF(__pyx_t_26); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 382, __pyx_L1_error)
+              #else
+              __pyx_t_26 = PySequence_ITEM(__pyx_t_13, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 382, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_26);
+              #endif
+            } else {
+              if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_10); __Pyx_INCREF(__pyx_t_26); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 382, __pyx_L1_error)
+              #else
+              __pyx_t_26 = PySequence_ITEM(__pyx_t_13, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 382, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_26);
+              #endif
+            }
+          } else {
+            __pyx_t_26 = __pyx_t_16(__pyx_t_13);
+            if (unlikely(!__pyx_t_26)) {
+              PyObject* exc_type = PyErr_Occurred();
+              if (exc_type) {
+                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+                else __PYX_ERR(0, 382, __pyx_L1_error)
+              }
+              break;
+            }
+            __Pyx_GOTREF(__pyx_t_26);
+          }
+          if ((likely(PyTuple_CheckExact(__pyx_t_26))) || (PyList_CheckExact(__pyx_t_26))) {
+            PyObject* sequence = __pyx_t_26;
+            Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+            if (unlikely(size != 3)) {
+              if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+              else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+              __PYX_ERR(0, 382, __pyx_L1_error)
+            }
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            if (likely(PyTuple_CheckExact(sequence))) {
+              __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
+              __pyx_t_30 = PyTuple_GET_ITEM(sequence, 1); 
+              __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); 
+            } else {
+              __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
+              __pyx_t_30 = PyList_GET_ITEM(sequence, 1); 
+              __pyx_t_3 = PyList_GET_ITEM(sequence, 2); 
+            }
+            __Pyx_INCREF(__pyx_t_2);
+            __Pyx_INCREF(__pyx_t_30);
+            __Pyx_INCREF(__pyx_t_3);
+            #else
+            __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 382, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_30 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 382, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_30);
+            __pyx_t_3 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 382, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_3);
+            #endif
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          } else {
+            Py_ssize_t index = -1;
+            __pyx_t_29 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 382, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __pyx_t_19 = Py_TYPE(__pyx_t_29)->tp_iternext;
+            index = 0; __pyx_t_2 = __pyx_t_19(__pyx_t_29); if (unlikely(!__pyx_t_2)) goto __pyx_L58_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_2);
+            index = 1; __pyx_t_30 = __pyx_t_19(__pyx_t_29); if (unlikely(!__pyx_t_30)) goto __pyx_L58_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_30);
+            index = 2; __pyx_t_3 = __pyx_t_19(__pyx_t_29); if (unlikely(!__pyx_t_3)) goto __pyx_L58_unpacking_failed;
+            __Pyx_GOTREF(__pyx_t_3);
+            if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_29), 3) < 0) __PYX_ERR(0, 382, __pyx_L1_error)
+            __pyx_t_19 = NULL;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            goto __pyx_L59_unpacking_done;
+            __pyx_L58_unpacking_failed:;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __pyx_t_19 = NULL;
+            if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+            __PYX_ERR(0, 382, __pyx_L1_error)
+            __pyx_L59_unpacking_done:;
+          }
+          __pyx_t_42 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_42 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          __pyx_t_43 = __Pyx_PyInt_As_int(__pyx_t_30); if (unlikely((__pyx_t_43 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+          __pyx_t_44 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_44 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 382, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+          __pyx_v_i = __pyx_t_42;
+          __pyx_v_j = __pyx_t_43;
+          __pyx_v_k = __pyx_t_44;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":383
+ *                     continue
+ *                 for i, j, k in cells:
+ *                     last_starti = starti             # <<<<<<<<<<<<<<
+ *                     #starti = process_cell(i, j, k, objects_distances, xs, ys, zs, triangles, last_starti) #was objs
+ *                     #tri_data = list(triangles[last_starti : starti])
+ */
+          __pyx_v_last_starti = __pyx_v_starti;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":386
+ *                     #starti = process_cell(i, j, k, objects_distances, xs, ys, zs, triangles, last_starti) #was objs
+ *                     #tri_data = list(triangles[last_starti : starti])
+ *                     start_i = process_cell(i, j, k, objs, xs, ys, zs, triangles, last_starti, store_areas=store_areas, areas=areas)             # <<<<<<<<<<<<<<
+ *                     '''
+ *                     # this an the two-above commented-out lines are for debugging to detect discrepancies between the
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_process_cell); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_3);
+          __pyx_t_30 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_30);
+          __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_last_starti); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_27 = PyTuple_New(9); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_GIVEREF(__pyx_t_3);
+          PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_3);
+          __Pyx_GIVEREF(__pyx_t_30);
+          PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_t_30);
+          __Pyx_GIVEREF(__pyx_t_2);
+          PyTuple_SET_ITEM(__pyx_t_27, 2, __pyx_t_2);
+          __Pyx_INCREF(__pyx_v_objs);
+          __Pyx_GIVEREF(__pyx_v_objs);
+          PyTuple_SET_ITEM(__pyx_t_27, 3, __pyx_v_objs);
+          __Pyx_INCREF(__pyx_v_xs);
+          __Pyx_GIVEREF(__pyx_v_xs);
+          PyTuple_SET_ITEM(__pyx_t_27, 4, __pyx_v_xs);
+          __Pyx_INCREF(__pyx_v_ys);
+          __Pyx_GIVEREF(__pyx_v_ys);
+          PyTuple_SET_ITEM(__pyx_t_27, 5, __pyx_v_ys);
+          __Pyx_INCREF(__pyx_v_zs);
+          __Pyx_GIVEREF(__pyx_v_zs);
+          PyTuple_SET_ITEM(__pyx_t_27, 6, __pyx_v_zs);
+          __Pyx_INCREF(((PyObject *)__pyx_v_triangles));
+          __Pyx_GIVEREF(((PyObject *)__pyx_v_triangles));
+          PyTuple_SET_ITEM(__pyx_t_27, 7, ((PyObject *)__pyx_v_triangles));
+          __Pyx_GIVEREF(__pyx_t_29);
+          PyTuple_SET_ITEM(__pyx_t_27, 8, __pyx_t_29);
+          __pyx_t_3 = 0;
+          __pyx_t_30 = 0;
+          __pyx_t_2 = 0;
+          __pyx_t_29 = 0;
+          __pyx_t_29 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_store_areas); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          if (PyDict_SetItem(__pyx_t_29, __pyx_n_s_store_areas, __pyx_t_2) < 0) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          if (PyDict_SetItem(__pyx_t_29, __pyx_n_s_areas, __pyx_v_areas) < 0) __PYX_ERR(0, 386, __pyx_L1_error)
+          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_t_27, __pyx_t_29); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_XDECREF_SET(__pyx_v_start_i, __pyx_t_2);
+          __pyx_t_2 = 0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":382
+ *                     missing_objs += 1
+ *                     continue
+ *                 for i, j, k in cells:             # <<<<<<<<<<<<<<
+ *                     last_starti = starti
+ *                     #starti = process_cell(i, j, k, objects_distances, xs, ys, zs, triangles, last_starti) #was objs
+ */
+        }
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_L51_continue:;
+      }
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":412
+ * 
+ * 
+ *     last_starti = 0             # <<<<<<<<<<<<<<
+ *     cdef dict process2
+ *     pt_neighbor_map = {}
+ */
+  __pyx_v_last_starti = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":414
+ *     last_starti = 0
+ *     cdef dict process2
+ *     pt_neighbor_map = {}             # <<<<<<<<<<<<<<
+ *     cdef dict count
+ *     cdef int old_start_i
+ */
+  __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 414, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_v_pt_neighbor_map = ((PyObject*)__pyx_t_13);
+  __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":419
+ *     cdef list still_to_process, local_objs
+ *     # append to the pt_neighbor_map
+ *     process2 = {}             # <<<<<<<<<<<<<<
+ *     count = {}
+ * 
+ */
+  __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 419, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_v_process2 = ((PyObject*)__pyx_t_13);
+  __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":420
+ *     # append to the pt_neighbor_map
+ *     process2 = {}
+ *     count = {}             # <<<<<<<<<<<<<<
+ * 
+ *     for i in xrange(last_starti, starti, 9):
+ */
+  __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 420, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_v_count = ((PyObject*)__pyx_t_13);
+  __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":422
+ *     count = {}
+ * 
+ *     for i in xrange(last_starti, starti, 9):             # <<<<<<<<<<<<<<
+ *         pts = {}
+ *         for j in xrange(3):
+ */
+  __pyx_t_6 = __pyx_v_starti;
+  __pyx_t_20 = __pyx_t_6;
+  for (__pyx_t_21 = __pyx_v_last_starti; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=9) {
+    __pyx_v_i = __pyx_t_21;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":423
+ * 
+ *     for i in xrange(last_starti, starti, 9):
+ *         pts = {}             # <<<<<<<<<<<<<<
+ *         for j in xrange(3):
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0
+ */
+    __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 423, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_XDECREF_SET(__pyx_v_pts, __pyx_t_13);
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":424
+ *     for i in xrange(last_starti, starti, 9):
+ *         pts = {}
+ *         for j in xrange(3):             # <<<<<<<<<<<<<<
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0
+ *         pts = list(pts.keys())
+ */
+    for (__pyx_t_35 = 0; __pyx_t_35 < 3; __pyx_t_35+=1) {
+      __pyx_v_j = __pyx_t_35;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":425
+ *         pts = {}
+ *         for j in xrange(3):
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0             # <<<<<<<<<<<<<<
+ *         pts = list(pts.keys())
+ *         if len(pts) == 3:
+ */
+      __pyx_t_13 = __Pyx_PyInt_From_long((__pyx_v_i + (3 * __pyx_v_j))); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_2 = __Pyx_PyInt_From_long(((__pyx_v_i + (3 * __pyx_v_j)) + 3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __pyx_t_29 = PySlice_New(__pyx_t_13, __pyx_t_2, Py_None); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_triangles), __pyx_t_29); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+      __pyx_t_29 = __Pyx_PySequence_Tuple(__pyx_t_2); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      if (unlikely(PyObject_SetItem(__pyx_v_pts, __pyx_t_29, __pyx_int_0) < 0)) __PYX_ERR(0, 425, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    }
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":426
+ *         for j in xrange(3):
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0
+ *         pts = list(pts.keys())             # <<<<<<<<<<<<<<
+ *         if len(pts) == 3:
+ *             # only consider triangles of nonzero area
+ */
+    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pts, __pyx_n_s_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_13 = NULL;
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+      __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
+      if (likely(__pyx_t_13)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_13);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+      }
+    }
+    __pyx_t_29 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
+    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+    if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 426, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __pyx_t_2 = PySequence_List(__pyx_t_29); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    __Pyx_DECREF_SET(__pyx_v_pts, __pyx_t_2);
+    __pyx_t_2 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":427
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0
+ *         pts = list(pts.keys())
+ *         if len(pts) == 3:             # <<<<<<<<<<<<<<
+ *             # only consider triangles of nonzero area
+ *             for j in xrange(3):
+ */
+    __pyx_t_10 = PyObject_Length(__pyx_v_pts); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 427, __pyx_L1_error)
+    __pyx_t_34 = ((__pyx_t_10 == 3) != 0);
+    if (__pyx_t_34) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":429
+ *         if len(pts) == 3:
+ *             # only consider triangles of nonzero area
+ *             for j in xrange(3):             # <<<<<<<<<<<<<<
+ *                 for k in xrange(3):
+ *                     if j != k:
+ */
+      for (__pyx_t_35 = 0; __pyx_t_35 < 3; __pyx_t_35+=1) {
+        __pyx_v_j = __pyx_t_35;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":430
+ *             # only consider triangles of nonzero area
+ *             for j in xrange(3):
+ *                 for k in xrange(3):             # <<<<<<<<<<<<<<
+ *                     if j != k:
+ *                         _register_on_neighbor_map(pt_neighbor_map, pts[j], pts[k])
+ */
+        for (__pyx_t_36 = 0; __pyx_t_36 < 3; __pyx_t_36+=1) {
+          __pyx_v_k = __pyx_t_36;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":431
+ *             for j in xrange(3):
+ *                 for k in xrange(3):
+ *                     if j != k:             # <<<<<<<<<<<<<<
+ *                         _register_on_neighbor_map(pt_neighbor_map, pts[j], pts[k])
+ * 
+ */
+          __pyx_t_34 = ((__pyx_v_j != __pyx_v_k) != 0);
+          if (__pyx_t_34) {
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":432
+ *                 for k in xrange(3):
+ *                     if j != k:
+ *                         _register_on_neighbor_map(pt_neighbor_map, pts[j], pts[k])             # <<<<<<<<<<<<<<
+ * 
+ *     last_starti = starti
+ */
+            __Pyx_GetModuleGlobalName(__pyx_t_29, __pyx_n_s_register_on_neighbor_map); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 432, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_29);
+            __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_pts, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 432, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_pts, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 432, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_27);
+            __pyx_t_26 = NULL;
+            __pyx_t_37 = 0;
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_29))) {
+              __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_29);
+              if (likely(__pyx_t_26)) {
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_29);
+                __Pyx_INCREF(__pyx_t_26);
+                __Pyx_INCREF(function);
+                __Pyx_DECREF_SET(__pyx_t_29, function);
+                __pyx_t_37 = 1;
+              }
+            }
+            #if CYTHON_FAST_PYCALL
+            if (PyFunction_Check(__pyx_t_29)) {
+              PyObject *__pyx_temp[4] = {__pyx_t_26, __pyx_v_pt_neighbor_map, __pyx_t_13, __pyx_t_27};
+              __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_37, 3+__pyx_t_37); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+              __Pyx_GOTREF(__pyx_t_2);
+              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+              __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            } else
+            #endif
+            #if CYTHON_FAST_PYCCALL
+            if (__Pyx_PyFastCFunction_Check(__pyx_t_29)) {
+              PyObject *__pyx_temp[4] = {__pyx_t_26, __pyx_v_pt_neighbor_map, __pyx_t_13, __pyx_t_27};
+              __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_37, 3+__pyx_t_37); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error)
+              __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
+              __Pyx_GOTREF(__pyx_t_2);
+              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+              __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            } else
+            #endif
+            {
+              __pyx_t_30 = PyTuple_New(3+__pyx_t_37); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 432, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_30);
+              if (__pyx_t_26) {
+                __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_30, 0, __pyx_t_26); __pyx_t_26 = NULL;
+              }
+              __Pyx_INCREF(__pyx_v_pt_neighbor_map);
+              __Pyx_GIVEREF(__pyx_v_pt_neighbor_map);
+              PyTuple_SET_ITEM(__pyx_t_30, 0+__pyx_t_37, __pyx_v_pt_neighbor_map);
+              __Pyx_GIVEREF(__pyx_t_13);
+              PyTuple_SET_ITEM(__pyx_t_30, 1+__pyx_t_37, __pyx_t_13);
+              __Pyx_GIVEREF(__pyx_t_27);
+              PyTuple_SET_ITEM(__pyx_t_30, 2+__pyx_t_37, __pyx_t_27);
+              __pyx_t_13 = 0;
+              __pyx_t_27 = 0;
+              __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_29, __pyx_t_30, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_2);
+              __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+            }
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":431
+ *             for j in xrange(3):
+ *                 for k in xrange(3):
+ *                     if j != k:             # <<<<<<<<<<<<<<
+ *                         _register_on_neighbor_map(pt_neighbor_map, pts[j], pts[k])
+ * 
+ */
+          }
+        }
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":427
+ *             pts[tuple(triangles[i + 3 * j : i + 3 * j + 3])] = 0
+ *         pts = list(pts.keys())
+ *         if len(pts) == 3:             # <<<<<<<<<<<<<<
+ *             # only consider triangles of nonzero area
+ *             for j in xrange(3):
+ */
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":434
+ *                         _register_on_neighbor_map(pt_neighbor_map, pts[j], pts[k])
+ * 
+ *     last_starti = starti             # <<<<<<<<<<<<<<
+ *     xlo, ylo, zlo = xs[0], ys[0], zs[0]
+ * 
+ */
+  __pyx_v_last_starti = __pyx_v_starti;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":435
+ * 
+ *     last_starti = starti
+ *     xlo, ylo, zlo = xs[0], ys[0], zs[0]             # <<<<<<<<<<<<<<
+ * 
+ *     # if no holes, each point should have each neighbor listed more than once
+ */
+  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_xs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 435, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_ys, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 435, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __pyx_t_30 = __Pyx_GetItemInt(__pyx_v_zs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 435, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_30);
+  __pyx_v_xlo = __pyx_t_2;
+  __pyx_t_2 = 0;
+  __pyx_v_ylo = __pyx_t_29;
+  __pyx_t_29 = 0;
+  __pyx_v_zlo = __pyx_t_30;
+  __pyx_t_30 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":438
+ * 
+ *     # if no holes, each point should have each neighbor listed more than once
+ *     for pt, neighbor_list in zip(pt_neighbor_map.keys(), pt_neighbor_map.values()):             # <<<<<<<<<<<<<<
+ *         count = {}
+ *         for neighbor in neighbor_list:
+ */
+  __pyx_t_30 = __Pyx_PyDict_Keys(__pyx_v_pt_neighbor_map); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 438, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_30);
+  __pyx_t_29 = __Pyx_PyDict_Values(__pyx_v_pt_neighbor_map); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 438, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_30);
+  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_30);
+  __Pyx_GIVEREF(__pyx_t_29);
+  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_29);
+  __pyx_t_30 = 0;
+  __pyx_t_29 = 0;
+  __pyx_t_29 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 438, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_29);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  if (likely(PyList_CheckExact(__pyx_t_29)) || PyTuple_CheckExact(__pyx_t_29)) {
+    __pyx_t_2 = __pyx_t_29; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0;
+    __pyx_t_16 = NULL;
+  } else {
+    __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_29); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 438, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 438, __pyx_L1_error)
+  }
+  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+  for (;;) {
+    if (likely(!__pyx_t_16)) {
+      if (likely(PyList_CheckExact(__pyx_t_2))) {
+        if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_29 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_29); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 438, __pyx_L1_error)
+        #else
+        __pyx_t_29 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_29);
+        #endif
+      } else {
+        if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_29 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_29); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 438, __pyx_L1_error)
+        #else
+        __pyx_t_29 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 438, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_29);
+        #endif
+      }
+    } else {
+      __pyx_t_29 = __pyx_t_16(__pyx_t_2);
+      if (unlikely(!__pyx_t_29)) {
+        PyObject* exc_type = PyErr_Occurred();
+        if (exc_type) {
+          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+          else __PYX_ERR(0, 438, __pyx_L1_error)
+        }
+        break;
+      }
+      __Pyx_GOTREF(__pyx_t_29);
+    }
+    if ((likely(PyTuple_CheckExact(__pyx_t_29))) || (PyList_CheckExact(__pyx_t_29))) {
+      PyObject* sequence = __pyx_t_29;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(0, 438, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      if (likely(PyTuple_CheckExact(sequence))) {
+        __pyx_t_30 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_27 = PyTuple_GET_ITEM(sequence, 1); 
+      } else {
+        __pyx_t_30 = PyList_GET_ITEM(sequence, 0); 
+        __pyx_t_27 = PyList_GET_ITEM(sequence, 1); 
+      }
+      __Pyx_INCREF(__pyx_t_30);
+      __Pyx_INCREF(__pyx_t_27);
+      #else
+      __pyx_t_30 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 438, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __pyx_t_27 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 438, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_27);
+      #endif
+      __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+    } else {
+      Py_ssize_t index = -1;
+      __pyx_t_13 = PyObject_GetIter(__pyx_t_29); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 438, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+      __pyx_t_19 = Py_TYPE(__pyx_t_13)->tp_iternext;
+      index = 0; __pyx_t_30 = __pyx_t_19(__pyx_t_13); if (unlikely(!__pyx_t_30)) goto __pyx_L72_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_30);
+      index = 1; __pyx_t_27 = __pyx_t_19(__pyx_t_13); if (unlikely(!__pyx_t_27)) goto __pyx_L72_unpacking_failed;
+      __Pyx_GOTREF(__pyx_t_27);
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_13), 2) < 0) __PYX_ERR(0, 438, __pyx_L1_error)
+      __pyx_t_19 = NULL;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      goto __pyx_L73_unpacking_done;
+      __pyx_L72_unpacking_failed:;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_19 = NULL;
+      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+      __PYX_ERR(0, 438, __pyx_L1_error)
+      __pyx_L73_unpacking_done:;
+    }
+    __Pyx_XDECREF_SET(__pyx_v_pt, __pyx_t_30);
+    __pyx_t_30 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_neighbor_list, __pyx_t_27);
+    __pyx_t_27 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":439
+ *     # if no holes, each point should have each neighbor listed more than once
+ *     for pt, neighbor_list in zip(pt_neighbor_map.keys(), pt_neighbor_map.values()):
+ *         count = {}             # <<<<<<<<<<<<<<
+ *         for neighbor in neighbor_list:
+ *             if neighbor not in count:
+ */
+    __pyx_t_29 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 439, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __Pyx_DECREF_SET(__pyx_v_count, ((PyObject*)__pyx_t_29));
+    __pyx_t_29 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":440
+ *     for pt, neighbor_list in zip(pt_neighbor_map.keys(), pt_neighbor_map.values()):
+ *         count = {}
+ *         for neighbor in neighbor_list:             # <<<<<<<<<<<<<<
+ *             if neighbor not in count:
+ *                 count[neighbor] = 1
+ */
+    if (likely(PyList_CheckExact(__pyx_v_neighbor_list)) || PyTuple_CheckExact(__pyx_v_neighbor_list)) {
+      __pyx_t_29 = __pyx_v_neighbor_list; __Pyx_INCREF(__pyx_t_29); __pyx_t_11 = 0;
+      __pyx_t_25 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_29 = PyObject_GetIter(__pyx_v_neighbor_list); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 440, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_29);
+      __pyx_t_25 = Py_TYPE(__pyx_t_29)->tp_iternext; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 440, __pyx_L1_error)
+    }
+    for (;;) {
+      if (likely(!__pyx_t_25)) {
+        if (likely(PyList_CheckExact(__pyx_t_29))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_29)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_27 = PyList_GET_ITEM(__pyx_t_29, __pyx_t_11); __Pyx_INCREF(__pyx_t_27); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 440, __pyx_L1_error)
+          #else
+          __pyx_t_27 = PySequence_ITEM(__pyx_t_29, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 440, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_29)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_29, __pyx_t_11); __Pyx_INCREF(__pyx_t_27); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 440, __pyx_L1_error)
+          #else
+          __pyx_t_27 = PySequence_ITEM(__pyx_t_29, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 440, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          #endif
+        }
+      } else {
+        __pyx_t_27 = __pyx_t_25(__pyx_t_29);
+        if (unlikely(!__pyx_t_27)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 440, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_27);
+      }
+      __Pyx_XDECREF_SET(__pyx_v_neighbor, __pyx_t_27);
+      __pyx_t_27 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":441
+ *         count = {}
+ *         for neighbor in neighbor_list:
+ *             if neighbor not in count:             # <<<<<<<<<<<<<<
+ *                 count[neighbor] = 1
+ *             else:
+ */
+      __pyx_t_34 = (__Pyx_PyDict_ContainsTF(__pyx_v_neighbor, __pyx_v_count, Py_NE)); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 441, __pyx_L1_error)
+      __pyx_t_41 = (__pyx_t_34 != 0);
+      if (__pyx_t_41) {
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":442
+ *         for neighbor in neighbor_list:
+ *             if neighbor not in count:
+ *                 count[neighbor] = 1             # <<<<<<<<<<<<<<
+ *             else:
+ *                 count[neighbor] += 1
+ */
+        if (unlikely(PyDict_SetItem(__pyx_v_count, __pyx_v_neighbor, __pyx_int_1) < 0)) __PYX_ERR(0, 442, __pyx_L1_error)
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":441
+ *         count = {}
+ *         for neighbor in neighbor_list:
+ *             if neighbor not in count:             # <<<<<<<<<<<<<<
+ *                 count[neighbor] = 1
+ *             else:
+ */
+        goto __pyx_L76;
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":444
+ *                 count[neighbor] = 1
+ *             else:
+ *                 count[neighbor] += 1             # <<<<<<<<<<<<<<
+ *         for neighbor, ncount in zip(count.keys(), count.values()):
+ *             if ncount <= 1:
+ */
+      /*else*/ {
+        __Pyx_INCREF(__pyx_v_neighbor);
+        __pyx_t_27 = __pyx_v_neighbor;
+        __pyx_t_30 = __Pyx_PyDict_GetItem(__pyx_v_count, __pyx_t_27); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 444, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_30, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 444, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+        if (unlikely(PyDict_SetItem(__pyx_v_count, __pyx_t_27, __pyx_t_13) < 0)) __PYX_ERR(0, 444, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      }
+      __pyx_L76:;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":440
+ *     for pt, neighbor_list in zip(pt_neighbor_map.keys(), pt_neighbor_map.values()):
+ *         count = {}
+ *         for neighbor in neighbor_list:             # <<<<<<<<<<<<<<
+ *             if neighbor not in count:
+ *                 count[neighbor] = 1
+ */
+    }
+    __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":445
+ *             else:
+ *                 count[neighbor] += 1
+ *         for neighbor, ncount in zip(count.keys(), count.values()):             # <<<<<<<<<<<<<<
+ *             if ncount <= 1:
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ */
+    __pyx_t_29 = __Pyx_PyDict_Keys(__pyx_v_count); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 445, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_29);
+    __pyx_t_27 = __Pyx_PyDict_Values(__pyx_v_count); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 445, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 445, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_GIVEREF(__pyx_t_29);
+    PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_29);
+    __Pyx_GIVEREF(__pyx_t_27);
+    PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_27);
+    __pyx_t_29 = 0;
+    __pyx_t_27 = 0;
+    __pyx_t_27 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_13, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 445, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_27);
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) {
+      __pyx_t_13 = __pyx_t_27; __Pyx_INCREF(__pyx_t_13); __pyx_t_11 = 0;
+      __pyx_t_25 = NULL;
+    } else {
+      __pyx_t_11 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 445, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_13);
+      __pyx_t_25 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 445, __pyx_L1_error)
+    }
+    __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+    for (;;) {
+      if (likely(!__pyx_t_25)) {
+        if (likely(PyList_CheckExact(__pyx_t_13))) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_13)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_27 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_11); __Pyx_INCREF(__pyx_t_27); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 445, __pyx_L1_error)
+          #else
+          __pyx_t_27 = PySequence_ITEM(__pyx_t_13, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 445, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          #endif
+        } else {
+          if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_11); __Pyx_INCREF(__pyx_t_27); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 445, __pyx_L1_error)
+          #else
+          __pyx_t_27 = PySequence_ITEM(__pyx_t_13, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 445, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          #endif
+        }
+      } else {
+        __pyx_t_27 = __pyx_t_25(__pyx_t_13);
+        if (unlikely(!__pyx_t_27)) {
+          PyObject* exc_type = PyErr_Occurred();
+          if (exc_type) {
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+            else __PYX_ERR(0, 445, __pyx_L1_error)
+          }
+          break;
+        }
+        __Pyx_GOTREF(__pyx_t_27);
+      }
+      if ((likely(PyTuple_CheckExact(__pyx_t_27))) || (PyList_CheckExact(__pyx_t_27))) {
+        PyObject* sequence = __pyx_t_27;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 2)) {
+          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 445, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        if (likely(PyTuple_CheckExact(sequence))) {
+          __pyx_t_29 = PyTuple_GET_ITEM(sequence, 0); 
+          __pyx_t_30 = PyTuple_GET_ITEM(sequence, 1); 
+        } else {
+          __pyx_t_29 = PyList_GET_ITEM(sequence, 0); 
+          __pyx_t_30 = PyList_GET_ITEM(sequence, 1); 
+        }
+        __Pyx_INCREF(__pyx_t_29);
+        __Pyx_INCREF(__pyx_t_30);
+        #else
+        __pyx_t_29 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 445, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_29);
+        __pyx_t_30 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 445, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        #endif
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      } else {
+        Py_ssize_t index = -1;
+        __pyx_t_26 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 445, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_26);
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+        __pyx_t_19 = Py_TYPE(__pyx_t_26)->tp_iternext;
+        index = 0; __pyx_t_29 = __pyx_t_19(__pyx_t_26); if (unlikely(!__pyx_t_29)) goto __pyx_L79_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_29);
+        index = 1; __pyx_t_30 = __pyx_t_19(__pyx_t_26); if (unlikely(!__pyx_t_30)) goto __pyx_L79_unpacking_failed;
+        __Pyx_GOTREF(__pyx_t_30);
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_19(__pyx_t_26), 2) < 0) __PYX_ERR(0, 445, __pyx_L1_error)
+        __pyx_t_19 = NULL;
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+        goto __pyx_L80_unpacking_done;
+        __pyx_L79_unpacking_failed:;
+        __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+        __pyx_t_19 = NULL;
+        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+        __PYX_ERR(0, 445, __pyx_L1_error)
+        __pyx_L80_unpacking_done:;
+      }
+      __Pyx_XDECREF_SET(__pyx_v_neighbor, __pyx_t_29);
+      __pyx_t_29 = 0;
+      __Pyx_XDECREF_SET(__pyx_v_ncount, __pyx_t_30);
+      __pyx_t_30 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":446
+ *                 count[neighbor] += 1
+ *         for neighbor, ncount in zip(count.keys(), count.values()):
+ *             if ncount <= 1:             # <<<<<<<<<<<<<<
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ *                 for point in (pt, neighbor):
+ */
+      __pyx_t_27 = PyObject_RichCompare(__pyx_v_ncount, __pyx_int_1, Py_LE); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 446, __pyx_L1_error)
+      __pyx_t_41 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_41 < 0)) __PYX_ERR(0, 446, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+      if (__pyx_t_41) {
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":448
+ *             if ncount <= 1:
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ *                 for point in (pt, neighbor):             # <<<<<<<<<<<<<<
+ *                     i, j, k = (point[0] - xlo) // dx, (point[1] - ylo) // dx, (point[2] - zlo) // dx
+ *                     for di in range(-1, 2):
+ */
+        __pyx_t_27 = PyTuple_New(2); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 448, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_27);
+        __Pyx_INCREF(__pyx_v_pt);
+        __Pyx_GIVEREF(__pyx_v_pt);
+        PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_v_pt);
+        __Pyx_INCREF(__pyx_v_neighbor);
+        __Pyx_GIVEREF(__pyx_v_neighbor);
+        PyTuple_SET_ITEM(__pyx_t_27, 1, __pyx_v_neighbor);
+        __pyx_t_30 = __pyx_t_27; __Pyx_INCREF(__pyx_t_30); __pyx_t_15 = 0;
+        __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+        for (;;) {
+          if (__pyx_t_15 >= 2) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_30, __pyx_t_15); __Pyx_INCREF(__pyx_t_27); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 448, __pyx_L1_error)
+          #else
+          __pyx_t_27 = PySequence_ITEM(__pyx_t_30, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 448, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          #endif
+          __Pyx_XDECREF_SET(__pyx_v_point, __pyx_t_27);
+          __pyx_t_27 = 0;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":449
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ *                 for point in (pt, neighbor):
+ *                     i, j, k = (point[0] - xlo) // dx, (point[1] - ylo) // dx, (point[2] - zlo) // dx             # <<<<<<<<<<<<<<
+ *                     for di in range(-1, 2):
+ *                         for dj in range(-1, 2):
+ */
+          __pyx_t_27 = __Pyx_GetItemInt(__pyx_v_point, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __pyx_t_29 = PyNumber_Subtract(__pyx_t_27, __pyx_v_xlo); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __pyx_t_27 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __pyx_t_26 = PyNumber_FloorDivide(__pyx_t_29, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_26); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __pyx_t_26 = __Pyx_GetItemInt(__pyx_v_point, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_27 = PyNumber_Subtract(__pyx_t_26, __pyx_v_ylo); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __pyx_t_26 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_29 = PyNumber_FloorDivide(__pyx_t_27, __pyx_t_26); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_29); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_29 = __Pyx_GetItemInt(__pyx_v_point, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_26 = PyNumber_Subtract(__pyx_t_29, __pyx_v_zlo); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_29 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_27 = PyNumber_FloorDivide(__pyx_t_26, __pyx_t_29); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_27); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+          __pyx_v_i = __pyx_t_6;
+          __pyx_v_j = __pyx_t_20;
+          __pyx_v_k = __pyx_t_21;
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":450
+ *                 for point in (pt, neighbor):
+ *                     i, j, k = (point[0] - xlo) // dx, (point[1] - ylo) // dx, (point[2] - zlo) // dx
+ *                     for di in range(-1, 2):             # <<<<<<<<<<<<<<
+ *                         for dj in range(-1, 2):
+ *                             for dk in range(-1, 2):
+ */
+          for (__pyx_t_21 = -1; __pyx_t_21 < 2; __pyx_t_21+=1) {
+            __pyx_v_di = __pyx_t_21;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":451
+ *                     i, j, k = (point[0] - xlo) // dx, (point[1] - ylo) // dx, (point[2] - zlo) // dx
+ *                     for di in range(-1, 2):
+ *                         for dj in range(-1, 2):             # <<<<<<<<<<<<<<
+ *                             for dk in range(-1, 2):
+ *                                 cell_id = (i + di, j + dj, k + dk)
+ */
+            for (__pyx_t_20 = -1; __pyx_t_20 < 2; __pyx_t_20+=1) {
+              __pyx_v_dj = __pyx_t_20;
+
+              /* "neuron/rxd/geometry3d/surfaces.pyx":452
+ *                     for di in range(-1, 2):
+ *                         for dj in range(-1, 2):
+ *                             for dk in range(-1, 2):             # <<<<<<<<<<<<<<
+ *                                 cell_id = (i + di, j + dj, k + dk)
+ *                                 if cell_id not in process2 and cell_id not in to_process:
+ */
+              for (__pyx_t_6 = -1; __pyx_t_6 < 2; __pyx_t_6+=1) {
+                __pyx_v_dk = __pyx_t_6;
+
+                /* "neuron/rxd/geometry3d/surfaces.pyx":453
+ *                         for dj in range(-1, 2):
+ *                             for dk in range(-1, 2):
+ *                                 cell_id = (i + di, j + dj, k + dk)             # <<<<<<<<<<<<<<
+ *                                 if cell_id not in process2 and cell_id not in to_process:
+ *                                     process2[cell_id] = 0
+ */
+                __pyx_t_27 = __Pyx_PyInt_From_int((__pyx_v_i + __pyx_v_di)); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 453, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_27);
+                __pyx_t_29 = __Pyx_PyInt_From_int((__pyx_v_j + __pyx_v_dj)); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 453, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_29);
+                __pyx_t_26 = __Pyx_PyInt_From_int((__pyx_v_k + __pyx_v_dk)); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 453, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_26);
+                __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_3);
+                __Pyx_GIVEREF(__pyx_t_27);
+                PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_27);
+                __Pyx_GIVEREF(__pyx_t_29);
+                PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_29);
+                __Pyx_GIVEREF(__pyx_t_26);
+                PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_26);
+                __pyx_t_27 = 0;
+                __pyx_t_29 = 0;
+                __pyx_t_26 = 0;
+                __Pyx_XDECREF_SET(__pyx_v_cell_id, ((PyObject*)__pyx_t_3));
+                __pyx_t_3 = 0;
+
+                /* "neuron/rxd/geometry3d/surfaces.pyx":454
+ *                             for dk in range(-1, 2):
+ *                                 cell_id = (i + di, j + dj, k + dk)
+ *                                 if cell_id not in process2 and cell_id not in to_process:             # <<<<<<<<<<<<<<
+ *                                     process2[cell_id] = 0
+ *                 break
+ */
+                __pyx_t_34 = (__Pyx_PyDict_ContainsTF(__pyx_v_cell_id, __pyx_v_process2, Py_NE)); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 454, __pyx_L1_error)
+                __pyx_t_12 = (__pyx_t_34 != 0);
+                if (__pyx_t_12) {
+                } else {
+                  __pyx_t_41 = __pyx_t_12;
+                  goto __pyx_L91_bool_binop_done;
+                }
+                __pyx_t_12 = (__Pyx_PyDict_ContainsTF(__pyx_v_cell_id, __pyx_v_to_process, Py_NE)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 454, __pyx_L1_error)
+                __pyx_t_34 = (__pyx_t_12 != 0);
+                __pyx_t_41 = __pyx_t_34;
+                __pyx_L91_bool_binop_done:;
+                if (__pyx_t_41) {
+
+                  /* "neuron/rxd/geometry3d/surfaces.pyx":455
+ *                                 cell_id = (i + di, j + dj, k + dk)
+ *                                 if cell_id not in process2 and cell_id not in to_process:
+ *                                     process2[cell_id] = 0             # <<<<<<<<<<<<<<
+ *                 break
+ * 
+ */
+                  if (unlikely(PyDict_SetItem(__pyx_v_process2, __pyx_v_cell_id, __pyx_int_0) < 0)) __PYX_ERR(0, 455, __pyx_L1_error)
+
+                  /* "neuron/rxd/geometry3d/surfaces.pyx":454
+ *                             for dk in range(-1, 2):
+ *                                 cell_id = (i + di, j + dj, k + dk)
+ *                                 if cell_id not in process2 and cell_id not in to_process:             # <<<<<<<<<<<<<<
+ *                                     process2[cell_id] = 0
+ *                 break
+ */
+                }
+              }
+            }
+          }
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":448
+ *             if ncount <= 1:
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ *                 for point in (pt, neighbor):             # <<<<<<<<<<<<<<
+ *                     i, j, k = (point[0] - xlo) // dx, (point[1] - ylo) // dx, (point[2] - zlo) // dx
+ *                     for di in range(-1, 2):
+ */
+        }
+        __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":456
+ *                                 if cell_id not in process2 and cell_id not in to_process:
+ *                                     process2[cell_id] = 0
+ *                 break             # <<<<<<<<<<<<<<
+ * 
+ *     still_to_process = list(process2.keys())
+ */
+        goto __pyx_L78_break;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":446
+ *                 count[neighbor] += 1
+ *         for neighbor, ncount in zip(count.keys(), count.values()):
+ *             if ncount <= 1:             # <<<<<<<<<<<<<<
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ *                 for point in (pt, neighbor):
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":445
+ *             else:
+ *                 count[neighbor] += 1
+ *         for neighbor, ncount in zip(count.keys(), count.values()):             # <<<<<<<<<<<<<<
+ *             if ncount <= 1:
+ *                 # Note: this assumes (as we stated above) that dx = dy = dz
+ */
+    }
+    __pyx_L78_break:;
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":438
+ * 
+ *     # if no holes, each point should have each neighbor listed more than once
+ *     for pt, neighbor_list in zip(pt_neighbor_map.keys(), pt_neighbor_map.values()):             # <<<<<<<<<<<<<<
+ *         count = {}
+ *         for neighbor in neighbor_list:
+ */
+  }
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":458
+ *                 break
+ * 
+ *     still_to_process = list(process2.keys())             # <<<<<<<<<<<<<<
+ *     #print 'len(still_to_process) = %d' % len(still_to_process)
+ *     # flood on those still_to_process
+ */
+  __pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_process2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 458, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_13 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 458, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_v_still_to_process = ((PyObject*)__pyx_t_13);
+  __pyx_t_13 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":461
+ *     #print 'len(still_to_process) = %d' % len(still_to_process)
+ *     # flood on those still_to_process
+ *     while still_to_process:             # <<<<<<<<<<<<<<
+ *         cell_id = still_to_process.pop()
+ *         # make sure we haven't already handled this voxel
+ */
+  while (1) {
+    __pyx_t_41 = (PyList_GET_SIZE(__pyx_v_still_to_process) != 0);
+    if (!__pyx_t_41) break;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":462
+ *     # flood on those still_to_process
+ *     while still_to_process:
+ *         cell_id = still_to_process.pop()             # <<<<<<<<<<<<<<
+ *         # make sure we haven't already handled this voxel
+ *         if cell_id not in to_process:
+ */
+    __pyx_t_13 = __Pyx_PyList_Pop(__pyx_v_still_to_process); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 462, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_13);
+    if (!(likely(PyTuple_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 462, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_cell_id, ((PyObject*)__pyx_t_13));
+    __pyx_t_13 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":464
+ *         cell_id = still_to_process.pop()
+ *         # make sure we haven't already handled this voxel
+ *         if cell_id not in to_process:             # <<<<<<<<<<<<<<
+ *             i, j, k = cell_id
+ *             old_start_i = starti
+ */
+    __pyx_t_41 = (__Pyx_PyDict_ContainsTF(__pyx_v_cell_id, __pyx_v_to_process, Py_NE)); if (unlikely(__pyx_t_41 < 0)) __PYX_ERR(0, 464, __pyx_L1_error)
+    __pyx_t_34 = (__pyx_t_41 != 0);
+    if (__pyx_t_34) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":465
+ *         # make sure we haven't already handled this voxel
+ *         if cell_id not in to_process:
+ *             i, j, k = cell_id             # <<<<<<<<<<<<<<
+ *             old_start_i = starti
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ */
+      if (likely(__pyx_v_cell_id != Py_None)) {
+        PyObject* sequence = __pyx_v_cell_id;
+        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+        if (unlikely(size != 3)) {
+          if (size > 3) __Pyx_RaiseTooManyValuesError(3);
+          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+          __PYX_ERR(0, 465, __pyx_L1_error)
+        }
+        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+        __pyx_t_13 = PyTuple_GET_ITEM(sequence, 0); 
+        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); 
+        __pyx_t_30 = PyTuple_GET_ITEM(sequence, 2); 
+        __Pyx_INCREF(__pyx_t_13);
+        __Pyx_INCREF(__pyx_t_2);
+        __Pyx_INCREF(__pyx_t_30);
+        #else
+        __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 465, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_30 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 465, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        #endif
+      } else {
+        __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 465, __pyx_L1_error)
+      }
+      __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 465, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 465, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_30); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 465, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      __pyx_v_i = __pyx_t_21;
+      __pyx_v_j = __pyx_t_20;
+      __pyx_v_k = __pyx_t_6;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":466
+ *         if cell_id not in to_process:
+ *             i, j, k = cell_id
+ *             old_start_i = starti             # <<<<<<<<<<<<<<
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ *             if local_objs:
+ */
+      __pyx_v_old_start_i = __pyx_v_starti;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":467
+ *             i, j, k = cell_id
+ *             old_start_i = starti
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]             # <<<<<<<<<<<<<<
+ *             if local_objs:
+ *                 for m, objdist in enumerate(local_objs):
+ */
+      if (unlikely(__pyx_v_chunk_objs == Py_None)) {
+        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      if (unlikely(__pyx_v_chunk_size == 0)) {
+        PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_i))) {
+        PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      __pyx_t_6 = __Pyx_div_int(__pyx_v_i, __pyx_v_chunk_size);
+      __pyx_t_30 = __Pyx_GetItemInt_List(__pyx_v_chunk_objs, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 467, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      if (unlikely(__pyx_v_chunk_size == 0)) {
+        PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_j))) {
+        PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      __pyx_t_6 = __Pyx_div_int(__pyx_v_j, __pyx_v_chunk_size);
+      __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_30, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+      if (unlikely(__pyx_v_chunk_size == 0)) {
+        PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      else if (sizeof(int) == sizeof(long) && (!(((int)-1) > 0)) && unlikely(__pyx_v_chunk_size == (int)-1)  && unlikely(UNARY_NEG_WOULD_OVERFLOW(__pyx_v_k))) {
+        PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
+        __PYX_ERR(0, 467, __pyx_L1_error)
+      }
+      __pyx_t_6 = __Pyx_div_int(__pyx_v_k, __pyx_v_chunk_size);
+      __pyx_t_30 = __Pyx_GetItemInt(__pyx_t_2, __pyx_t_6, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 467, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_30);
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      if (!(likely(PyList_CheckExact(__pyx_t_30))||((__pyx_t_30) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_30)->tp_name), 0))) __PYX_ERR(0, 467, __pyx_L1_error)
+      __Pyx_XDECREF_SET(__pyx_v_local_objs, ((PyObject*)__pyx_t_30));
+      __pyx_t_30 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":468
+ *             old_start_i = starti
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ *             if local_objs:             # <<<<<<<<<<<<<<
+ *                 for m, objdist in enumerate(local_objs):
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ */
+      __pyx_t_34 = (__pyx_v_local_objs != Py_None)&&(PyList_GET_SIZE(__pyx_v_local_objs) != 0);
+      if (__pyx_t_34) {
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":469
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ *             if local_objs:
+ *                 for m, objdist in enumerate(local_objs):             # <<<<<<<<<<<<<<
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ */
+        __pyx_t_10 = 0;
+        __pyx_t_30 = __pyx_v_local_objs; __Pyx_INCREF(__pyx_t_30); __pyx_t_11 = 0;
+        for (;;) {
+          if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_30)) break;
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_30, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 469, __pyx_L1_error)
+          #else
+          __pyx_t_2 = PySequence_ITEM(__pyx_t_30, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_2);
+          #endif
+          __Pyx_XDECREF_SET(__pyx_v_objdist, __pyx_t_2);
+          __pyx_t_2 = 0;
+          __pyx_v_m = __pyx_t_10;
+          __pyx_t_10 = (__pyx_t_10 + 1);
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":470
+ *             if local_objs:
+ *                 for m, objdist in enumerate(local_objs):
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):             # <<<<<<<<<<<<<<
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):
+ */
+          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_contains_surface); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_13);
+          __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_3);
+          __pyx_t_26 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_26);
+          __pyx_t_29 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_29);
+          __pyx_t_27 = PyFloat_FromDouble(__pyx_v_dx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_27);
+          __pyx_t_17 = PyFloat_FromDouble(__pyx_v_r_inner); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_17);
+          __pyx_t_23 = PyFloat_FromDouble(__pyx_v_r_outer); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_GOTREF(__pyx_t_23);
+          __pyx_t_28 = NULL;
+          __pyx_t_6 = 0;
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
+            __pyx_t_28 = PyMethod_GET_SELF(__pyx_t_13);
+            if (likely(__pyx_t_28)) {
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
+              __Pyx_INCREF(__pyx_t_28);
+              __Pyx_INCREF(function);
+              __Pyx_DECREF_SET(__pyx_t_13, function);
+              __pyx_t_6 = 1;
+            }
+          }
+          #if CYTHON_FAST_PYCALL
+          if (PyFunction_Check(__pyx_t_13)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_28, __pyx_t_3, __pyx_t_26, __pyx_t_29, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_27, __pyx_t_17, __pyx_t_23, Py_False};
+            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_GOTREF(__pyx_t_2);
+            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          #if CYTHON_FAST_PYCCALL
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+            PyObject *__pyx_temp[12] = {__pyx_t_28, __pyx_t_3, __pyx_t_26, __pyx_t_29, __pyx_v_objdist, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_t_27, __pyx_t_17, __pyx_t_23, Py_False};
+            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+            __Pyx_GOTREF(__pyx_t_2);
+            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+            __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+          } else
+          #endif
+          {
+            __pyx_t_14 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            if (__pyx_t_28) {
+              __Pyx_GIVEREF(__pyx_t_28); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_28); __pyx_t_28 = NULL;
+            }
+            __Pyx_GIVEREF(__pyx_t_3);
+            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_t_3);
+            __Pyx_GIVEREF(__pyx_t_26);
+            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_t_26);
+            __Pyx_GIVEREF(__pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_6, __pyx_t_29);
+            __Pyx_INCREF(__pyx_v_objdist);
+            __Pyx_GIVEREF(__pyx_v_objdist);
+            PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_6, __pyx_v_objdist);
+            __Pyx_INCREF(__pyx_v_xs);
+            __Pyx_GIVEREF(__pyx_v_xs);
+            PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_6, __pyx_v_xs);
+            __Pyx_INCREF(__pyx_v_ys);
+            __Pyx_GIVEREF(__pyx_v_ys);
+            PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_6, __pyx_v_ys);
+            __Pyx_INCREF(__pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_v_zs);
+            PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_6, __pyx_v_zs);
+            __Pyx_GIVEREF(__pyx_t_27);
+            PyTuple_SET_ITEM(__pyx_t_14, 7+__pyx_t_6, __pyx_t_27);
+            __Pyx_GIVEREF(__pyx_t_17);
+            PyTuple_SET_ITEM(__pyx_t_14, 8+__pyx_t_6, __pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_14, 9+__pyx_t_6, __pyx_t_23);
+            __Pyx_INCREF(Py_False);
+            __Pyx_GIVEREF(Py_False);
+            PyTuple_SET_ITEM(__pyx_t_14, 10+__pyx_t_6, Py_False);
+            __pyx_t_3 = 0;
+            __pyx_t_26 = 0;
+            __pyx_t_29 = 0;
+            __pyx_t_27 = 0;
+            __pyx_t_17 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 470, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          }
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+          __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 470, __pyx_L1_error)
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+          if (__pyx_t_34) {
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":471
+ *                 for m, objdist in enumerate(local_objs):
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)             # <<<<<<<<<<<<<<
+ *                         for n, obj in enumerate(objects):
+ *                             if obj.distance == objdist:
+ */
+            __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_m); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_2);
+            __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_13);
+            __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_14);
+            __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_23);
+            __pyx_t_17 = PyTuple_New(4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_17);
+            __Pyx_GIVEREF(__pyx_t_2);
+            PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_2);
+            __Pyx_GIVEREF(__pyx_t_13);
+            PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_13);
+            __Pyx_GIVEREF(__pyx_t_14);
+            PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_14);
+            __Pyx_GIVEREF(__pyx_t_23);
+            PyTuple_SET_ITEM(__pyx_t_17, 3, __pyx_t_23);
+            __pyx_t_2 = 0;
+            __pyx_t_13 = 0;
+            __pyx_t_14 = 0;
+            __pyx_t_23 = 0;
+            __pyx_t_23 = __Pyx_PyString_Format(__pyx_kp_s_item_d_in_grid_d_d_d_contains_pr, __pyx_t_17); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_23);
+            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+            if (__Pyx_PrintOne(0, __pyx_t_23) < 0) __PYX_ERR(0, 471, __pyx_L1_error)
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":472
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *                             if obj.distance == objdist:
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)
+ */
+            __pyx_t_15 = 0;
+            __pyx_t_23 = __pyx_v_objects; __Pyx_INCREF(__pyx_t_23); __pyx_t_33 = 0;
+            for (;;) {
+              if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_23)) break;
+              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+              __pyx_t_17 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_33); __Pyx_INCREF(__pyx_t_17); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 472, __pyx_L1_error)
+              #else
+              __pyx_t_17 = PySequence_ITEM(__pyx_t_23, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 472, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              #endif
+              __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_17);
+              __pyx_t_17 = 0;
+              __pyx_v_n = __pyx_t_15;
+              __pyx_t_15 = (__pyx_t_15 + 1);
+
+              /* "neuron/rxd/geometry3d/surfaces.pyx":473
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):
+ *                             if obj.distance == objdist:             # <<<<<<<<<<<<<<
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)
+ *                                 break
+ */
+              __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_distance); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 473, __pyx_L1_error)
+              __Pyx_GOTREF(__pyx_t_17);
+              __pyx_t_14 = PyObject_RichCompare(__pyx_t_17, __pyx_v_objdist, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 473, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+              __pyx_t_34 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_34 < 0)) __PYX_ERR(0, 473, __pyx_L1_error)
+              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+              if (__pyx_t_34) {
+
+                /* "neuron/rxd/geometry3d/surfaces.pyx":474
+ *                         for n, obj in enumerate(objects):
+ *                             if obj.distance == objdist:
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)             # <<<<<<<<<<<<<<
+ *                                 break
+ *                 #starti = process_cell(i, j, k, local_objs, xs, ys, zs, triangles, starti) # was objects_distances
+ */
+                __pyx_t_14 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 474, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_14);
+                __pyx_t_17 = PyTuple_New(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 474, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_17);
+                __Pyx_GIVEREF(__pyx_t_14);
+                PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14);
+                __Pyx_INCREF(__pyx_v_obj);
+                __Pyx_GIVEREF(__pyx_v_obj);
+                PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_v_obj);
+                __pyx_t_14 = 0;
+                __pyx_t_14 = __Pyx_PyString_Format(__pyx_kp_s_i_e_global_item_d_r, __pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 474, __pyx_L1_error)
+                __Pyx_GOTREF(__pyx_t_14);
+                __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+                if (__Pyx_PrintOne(0, __pyx_t_14) < 0) __PYX_ERR(0, 474, __pyx_L1_error)
+                __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+                /* "neuron/rxd/geometry3d/surfaces.pyx":475
+ *                             if obj.distance == objdist:
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)
+ *                                 break             # <<<<<<<<<<<<<<
+ *                 #starti = process_cell(i, j, k, local_objs, xs, ys, zs, triangles, starti) # was objects_distances
+ *                 starti = process_cell(i, j, k, local_objs, xs, ys, zs, triangles, starti, store_areas=store_areas, areas=areas)
+ */
+                goto __pyx_L101_break;
+
+                /* "neuron/rxd/geometry3d/surfaces.pyx":473
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):
+ *                             if obj.distance == objdist:             # <<<<<<<<<<<<<<
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)
+ *                                 break
+ */
+              }
+
+              /* "neuron/rxd/geometry3d/surfaces.pyx":472
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):             # <<<<<<<<<<<<<<
+ *                             if obj.distance == objdist:
+ *                                 print '    (i.e. global item %d: %r)' % (n, obj)
+ */
+            }
+            __pyx_L101_break:;
+            __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+
+            /* "neuron/rxd/geometry3d/surfaces.pyx":470
+ *             if local_objs:
+ *                 for m, objdist in enumerate(local_objs):
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):             # <<<<<<<<<<<<<<
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ *                         for n, obj in enumerate(objects):
+ */
+          }
+
+          /* "neuron/rxd/geometry3d/surfaces.pyx":469
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ *             if local_objs:
+ *                 for m, objdist in enumerate(local_objs):             # <<<<<<<<<<<<<<
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ *                         print 'item %d in grid(%d, %d, %d) contains previously undetected surface' % (m, i, j, k)
+ */
+        }
+        __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":477
+ *                                 break
+ *                 #starti = process_cell(i, j, k, local_objs, xs, ys, zs, triangles, starti) # was objects_distances
+ *                 starti = process_cell(i, j, k, local_objs, xs, ys, zs, triangles, starti, store_areas=store_areas, areas=areas)             # <<<<<<<<<<<<<<
+ * 
+ *             # mark it off so we know we don't visit that grid point again
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_30, __pyx_n_s_process_cell); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_30);
+        __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_23);
+        __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_starti); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_2 = PyTuple_New(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GIVEREF(__pyx_t_23);
+        PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_23);
+        __Pyx_GIVEREF(__pyx_t_14);
+        PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_14);
+        __Pyx_GIVEREF(__pyx_t_17);
+        PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_17);
+        __Pyx_INCREF(__pyx_v_local_objs);
+        __Pyx_GIVEREF(__pyx_v_local_objs);
+        PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_local_objs);
+        __Pyx_INCREF(__pyx_v_xs);
+        __Pyx_GIVEREF(__pyx_v_xs);
+        PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_xs);
+        __Pyx_INCREF(__pyx_v_ys);
+        __Pyx_GIVEREF(__pyx_v_ys);
+        PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_ys);
+        __Pyx_INCREF(__pyx_v_zs);
+        __Pyx_GIVEREF(__pyx_v_zs);
+        PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_zs);
+        __Pyx_INCREF(((PyObject *)__pyx_v_triangles));
+        __Pyx_GIVEREF(((PyObject *)__pyx_v_triangles));
+        PyTuple_SET_ITEM(__pyx_t_2, 7, ((PyObject *)__pyx_v_triangles));
+        __Pyx_GIVEREF(__pyx_t_13);
+        PyTuple_SET_ITEM(__pyx_t_2, 8, __pyx_t_13);
+        __pyx_t_23 = 0;
+        __pyx_t_14 = 0;
+        __pyx_t_17 = 0;
+        __pyx_t_13 = 0;
+        __pyx_t_13 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_13);
+        __pyx_t_17 = __Pyx_PyBool_FromLong(__pyx_v_store_areas); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_store_areas, __pyx_t_17) < 0) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_areas, __pyx_v_areas) < 0) __PYX_ERR(0, 477, __pyx_L1_error)
+        __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_30, __pyx_t_2, __pyx_t_13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 477, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+        __pyx_v_starti = __pyx_t_6;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":468
+ *             old_start_i = starti
+ *             local_objs = chunk_objs[i // chunk_size][j // chunk_size][k // chunk_size]
+ *             if local_objs:             # <<<<<<<<<<<<<<
+ *                 for m, objdist in enumerate(local_objs):
+ *                     if contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, False):
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":480
+ * 
+ *             # mark it off so we know we don't visit that grid point again
+ *             to_process[cell_id] = 0             # <<<<<<<<<<<<<<
+ *             if old_start_i != starti:
+ *                 append_with_deltas(still_to_process, i, j, k)
+ */
+      if (unlikely(PyDict_SetItem(__pyx_v_to_process, __pyx_v_cell_id, __pyx_int_0) < 0)) __PYX_ERR(0, 480, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":481
+ *             # mark it off so we know we don't visit that grid point again
+ *             to_process[cell_id] = 0
+ *             if old_start_i != starti:             # <<<<<<<<<<<<<<
+ *                 append_with_deltas(still_to_process, i, j, k)
+ * 
+ */
+      __pyx_t_34 = ((__pyx_v_old_start_i != __pyx_v_starti) != 0);
+      if (__pyx_t_34) {
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":482
+ *             to_process[cell_id] = 0
+ *             if old_start_i != starti:
+ *                 append_with_deltas(still_to_process, i, j, k)             # <<<<<<<<<<<<<<
+ * 
+ *     triangles.resize(starti, refcheck=False)
+ */
+        __pyx_t_17 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_append_with_deltas(__pyx_v_still_to_process, __pyx_v_i, __pyx_v_j, __pyx_v_k); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 482, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_17);
+        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":481
+ *             # mark it off so we know we don't visit that grid point again
+ *             to_process[cell_id] = 0
+ *             if old_start_i != starti:             # <<<<<<<<<<<<<<
+ *                 append_with_deltas(still_to_process, i, j, k)
+ * 
+ */
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":464
+ *         cell_id = still_to_process.pop()
+ *         # make sure we haven't already handled this voxel
+ *         if cell_id not in to_process:             # <<<<<<<<<<<<<<
+ *             i, j, k = cell_id
+ *             old_start_i = starti
+ */
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":484
+ *                 append_with_deltas(still_to_process, i, j, k)
+ * 
+ *     triangles.resize(starti, refcheck=False)             # <<<<<<<<<<<<<<
+ * 
+ *     return triangles
+ */
+  __pyx_t_17 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_triangles), __pyx_n_s_resize); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 484, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_17);
+  __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_starti); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 484, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GIVEREF(__pyx_t_13);
+  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_13);
+  __pyx_t_13 = 0;
+  __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 484, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_13);
+  if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_refcheck, Py_False) < 0) __PYX_ERR(0, 484, __pyx_L1_error)
+  __pyx_t_30 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_2, __pyx_t_13); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 484, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_30);
+  __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":486
+ *     triangles.resize(starti, refcheck=False)
+ * 
+ *     return triangles             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(((PyObject *)__pyx_v_triangles));
+  __pyx_r = ((PyObject *)__pyx_v_triangles);
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":263
+ *     return _triangulate_surface_given_chunks(objects, xs, ys, zs, internal_membranes, chunk_size, chunk_objs, nx, ny, nz, False, None)
+ * 
+ * cpdef _triangulate_surface_given_chunks(list objects, xs, ys, zs, internal_membranes, int chunk_size, list chunk_objs, int nx, int ny, int nz, bint store_areas, areas):             # <<<<<<<<<<<<<<
+ *     cdef int i, j, k, di, dj, dk
+ *     cdef double area
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_13);
+  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_17);
+  __Pyx_XDECREF(__pyx_t_18);
+  __Pyx_XDECREF(__pyx_t_22);
+  __Pyx_XDECREF(__pyx_t_23);
+  __Pyx_XDECREF(__pyx_t_26);
+  __Pyx_XDECREF(__pyx_t_27);
+  __Pyx_XDECREF(__pyx_t_28);
+  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_XDECREF(__pyx_t_30);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._triangulate_surface_given_chunks", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF(__pyx_v_cell_list);
+  __Pyx_XDECREF(__pyx_v_to_process);
+  __Pyx_XDECREF(__pyx_v_cell_list2);
+  __Pyx_XDECREF((PyObject *)__pyx_v_triangles);
+  __Pyx_XDECREF(__pyx_v_cur_processed);
+  __Pyx_XDECREF(__pyx_v_clip_objs);
+  __Pyx_XDECREF(__pyx_v_cell_id);
+  __Pyx_XDECREF(__pyx_v_obj);
+  __Pyx_XDECREF(__pyx_v_objdist);
+  __Pyx_XDECREF(__pyx_v_chunk_pts);
+  __Pyx_XDECREF(__pyx_v_chunk_objsa);
+  __Pyx_XDECREF(__pyx_v_chunk_ptsa);
+  __Pyx_XDECREF(__pyx_v_objs);
+  __Pyx_XDECREF(__pyx_v_cells);
+  __Pyx_XDECREF(__pyx_v_start_i);
+  __Pyx_XDECREF(__pyx_v_process2);
+  __Pyx_XDECREF(__pyx_v_pt_neighbor_map);
+  __Pyx_XDECREF(__pyx_v_count);
+  __Pyx_XDECREF(__pyx_v_still_to_process);
+  __Pyx_XDECREF(__pyx_v_local_objs);
+  __Pyx_XDECREF(__pyx_v_pts);
+  __Pyx_XDECREF(__pyx_v_xlo);
+  __Pyx_XDECREF(__pyx_v_ylo);
+  __Pyx_XDECREF(__pyx_v_zlo);
+  __Pyx_XDECREF(__pyx_v_pt);
+  __Pyx_XDECREF(__pyx_v_neighbor_list);
+  __Pyx_XDECREF(__pyx_v_neighbor);
+  __Pyx_XDECREF(__pyx_v_ncount);
+  __Pyx_XDECREF(__pyx_v_point);
+  __Pyx_XDECREF(__pyx_v_clipper);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_13_triangulate_surface_given_chunks(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_13_triangulate_surface_given_chunks(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_objects = 0;
+  PyObject *__pyx_v_xs = 0;
+  PyObject *__pyx_v_ys = 0;
+  PyObject *__pyx_v_zs = 0;
+  PyObject *__pyx_v_internal_membranes = 0;
+  int __pyx_v_chunk_size;
+  PyObject *__pyx_v_chunk_objs = 0;
+  int __pyx_v_nx;
+  int __pyx_v_ny;
+  int __pyx_v_nz;
+  int __pyx_v_store_areas;
+  PyObject *__pyx_v_areas = 0;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("_triangulate_surface_given_chunks (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objects,&__pyx_n_s_xs,&__pyx_n_s_ys,&__pyx_n_s_zs,&__pyx_n_s_internal_membranes,&__pyx_n_s_chunk_size,&__pyx_n_s_chunk_objs,&__pyx_n_s_nx,&__pyx_n_s_ny,&__pyx_n_s_nz,&__pyx_n_s_store_areas,&__pyx_n_s_areas,0};
+    PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+        CYTHON_FALLTHROUGH;
+        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+        CYTHON_FALLTHROUGH;
+        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+        CYTHON_FALLTHROUGH;
+        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+        CYTHON_FALLTHROUGH;
+        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+        CYTHON_FALLTHROUGH;
+        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+        CYTHON_FALLTHROUGH;
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+        CYTHON_FALLTHROUGH;
+        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+        CYTHON_FALLTHROUGH;
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        CYTHON_FALLTHROUGH;
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_objects)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_xs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 1); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ys)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 2); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  3:
+        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_zs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 3); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  4:
+        if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_internal_membranes)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 4); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  5:
+        if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_chunk_size)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 5); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  6:
+        if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_chunk_objs)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 6); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  7:
+        if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nx)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 7); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  8:
+        if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ny)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 8); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  9:
+        if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nz)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 9); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case 10:
+        if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_store_areas)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 10); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case 11:
+        if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_areas)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, 11); __PYX_ERR(0, 263, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_triangulate_surface_given_chunks") < 0)) __PYX_ERR(0, 263, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 12) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
+      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
+      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
+      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
+      values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
+      values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
+      values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
+    }
+    __pyx_v_objects = ((PyObject*)values[0]);
+    __pyx_v_xs = values[1];
+    __pyx_v_ys = values[2];
+    __pyx_v_zs = values[3];
+    __pyx_v_internal_membranes = values[4];
+    __pyx_v_chunk_size = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_chunk_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_chunk_objs = ((PyObject*)values[6]);
+    __pyx_v_nx = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_nx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_ny = __Pyx_PyInt_As_int(values[8]); if (unlikely((__pyx_v_ny == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_nz = __Pyx_PyInt_As_int(values[9]); if (unlikely((__pyx_v_nz == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_store_areas = __Pyx_PyObject_IsTrue(values[10]); if (unlikely((__pyx_v_store_areas == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 263, __pyx_L3_error)
+    __pyx_v_areas = values[11];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("_triangulate_surface_given_chunks", 1, 12, 12, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 263, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._triangulate_surface_given_chunks", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_objects), (&PyList_Type), 1, "objects", 1))) __PYX_ERR(0, 263, __pyx_L1_error)
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_chunk_objs), (&PyList_Type), 1, "chunk_objs", 1))) __PYX_ERR(0, 263, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_12_triangulate_surface_given_chunks(__pyx_self, __pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_internal_membranes, __pyx_v_chunk_size, __pyx_v_chunk_objs, __pyx_v_nx, __pyx_v_ny, __pyx_v_nz, __pyx_v_store_areas, __pyx_v_areas);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_12_triangulate_surface_given_chunks(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objects, PyObject *__pyx_v_xs, PyObject *__pyx_v_ys, PyObject *__pyx_v_zs, PyObject *__pyx_v_internal_membranes, int __pyx_v_chunk_size, PyObject *__pyx_v_chunk_objs, int __pyx_v_nx, int __pyx_v_ny, int __pyx_v_nz, int __pyx_v_store_areas, PyObject *__pyx_v_areas) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_triangulate_surface_given_chunks", 0);
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__triangulate_surface_given_chunks(__pyx_v_objects, __pyx_v_xs, __pyx_v_ys, __pyx_v_zs, __pyx_v_internal_membranes, __pyx_v_chunk_size, __pyx_v_chunk_objs, __pyx_v_nx, __pyx_v_ny, __pyx_v_nz, __pyx_v_store_areas, __pyx_v_areas, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._triangulate_surface_given_chunks", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":489
+ * 
+ * 
+ * cpdef double tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles):             # <<<<<<<<<<<<<<
+ *     return _tri_area(triangles, 0, len(triangles))
+ * 
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_15tri_area(PyObject *__pyx_self, PyObject *__pyx_v_triangles); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_area(PyArrayObject *__pyx_v_triangles, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("tri_area", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 489, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":490
+ * 
+ * cpdef double tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles):
+ *     return _tri_area(triangles, 0, len(triangles))             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_triangles)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 490, __pyx_L1_error)
+  __pyx_r = __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__tri_area(((PyArrayObject *)__pyx_v_triangles), 0, __pyx_t_1, 0);
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":489
+ * 
+ * 
+ * cpdef double tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles):             # <<<<<<<<<<<<<<
+ *     return _tri_area(triangles, 0, len(triangles))
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.surfaces.tri_area", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_15tri_area(PyObject *__pyx_self, PyObject *__pyx_v_triangles); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_15tri_area(PyObject *__pyx_self, PyObject *__pyx_v_triangles) {
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("tri_area (wrapper)", 0);
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_triangles), __pyx_ptype_5numpy_ndarray, 1, "triangles", 0))) __PYX_ERR(0, 489, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_14tri_area(__pyx_self, ((PyArrayObject *)__pyx_v_triangles));
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_14tri_area(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles) {
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("tri_area", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 489, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_area(__pyx_v_triangles, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.tri_area", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":496
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef double _tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles, int lo, int hi):             # <<<<<<<<<<<<<<
+ *     cdef double doublearea = 0., local_area
+ *     cdef int i
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_17_tri_area(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces__tri_area(PyArrayObject *__pyx_v_triangles, int __pyx_v_lo, int __pyx_v_hi, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  double __pyx_v_doublearea;
+  double __pyx_v_local_area;
+  int __pyx_v_i;
+  PyObject *__pyx_v_v = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  Py_ssize_t __pyx_t_5;
+  Py_ssize_t __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_t_11;
+  Py_ssize_t __pyx_t_12;
+  PyObject *(*__pyx_t_13)(PyObject *);
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_tri_area", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 496, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":497
+ * @cython.wraparound(False)
+ * cpdef double _tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles, int lo, int hi):
+ *     cdef double doublearea = 0., local_area             # <<<<<<<<<<<<<<
+ *     cdef int i
+ *     for i in range(lo, hi, 9):
+ */
+  __pyx_v_doublearea = 0.;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":499
+ *     cdef double doublearea = 0., local_area
+ *     cdef int i
+ *     for i in range(lo, hi, 9):             # <<<<<<<<<<<<<<
+ *         local_area = llgramarea(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         doublearea += local_area
+ */
+  __pyx_t_1 = __pyx_v_hi;
+  __pyx_t_2 = __pyx_t_1;
+  for (__pyx_t_3 = __pyx_v_lo; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=9) {
+    __pyx_v_i = __pyx_t_3;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":500
+ *     cdef int i
+ *     for i in range(lo, hi, 9):
+ *         local_area = llgramarea(&triangles[i], &triangles[3 + i], &triangles[6 + i])             # <<<<<<<<<<<<<<
+ *         doublearea += local_area
+ *         if numpy.isnan(local_area):
+ */
+    __pyx_t_4 = __pyx_v_i;
+    __pyx_t_5 = (3 + __pyx_v_i);
+    __pyx_t_6 = (6 + __pyx_v_i);
+    __pyx_v_local_area = llgramarea((&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_triangles.diminfo[0].strides))), (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_triangles.diminfo[0].strides))), (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_triangles.diminfo[0].strides))));
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":501
+ *     for i in range(lo, hi, 9):
+ *         local_area = llgramarea(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         doublearea += local_area             # <<<<<<<<<<<<<<
+ *         if numpy.isnan(local_area):
+ *             print 'tri_area exception: ', ', '.join([str(v) for v in triangles[i : i + 9]])
+ */
+    __pyx_v_doublearea = (__pyx_v_doublearea + __pyx_v_local_area);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":502
+ *         local_area = llgramarea(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         doublearea += local_area
+ *         if numpy.isnan(local_area):             # <<<<<<<<<<<<<<
+ *             print 'tri_area exception: ', ', '.join([str(v) for v in triangles[i : i + 9]])
+ *     return doublearea * 0.5
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_numpy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 502, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_isnan); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 502, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_local_area); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 502, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 502, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 502, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (__pyx_t_11) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":503
+ *         doublearea += local_area
+ *         if numpy.isnan(local_area):
+ *             print 'tri_area exception: ', ', '.join([str(v) for v in triangles[i : i + 9]])             # <<<<<<<<<<<<<<
+ *     return doublearea * 0.5
+ * 
+ */
+      __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_9);
+      __pyx_t_8 = __Pyx_PyInt_From_long((__pyx_v_i + 9)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __pyx_t_10 = PySlice_New(__pyx_t_9, __pyx_t_8, Py_None); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __pyx_t_8 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_triangles), __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
+        __pyx_t_10 = __pyx_t_8; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0;
+        __pyx_t_13 = NULL;
+      } else {
+        __pyx_t_12 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 503, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_10);
+        __pyx_t_13 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 503, __pyx_L1_error)
+      }
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      for (;;) {
+        if (likely(!__pyx_t_13)) {
+          if (likely(PyList_CheckExact(__pyx_t_10))) {
+            if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_8 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 503, __pyx_L1_error)
+            #else
+            __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_8);
+            #endif
+          } else {
+            if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break;
+            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+            __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 503, __pyx_L1_error)
+            #else
+            __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L1_error)
+            __Pyx_GOTREF(__pyx_t_8);
+            #endif
+          }
+        } else {
+          __pyx_t_8 = __pyx_t_13(__pyx_t_10);
+          if (unlikely(!__pyx_t_8)) {
+            PyObject* exc_type = PyErr_Occurred();
+            if (exc_type) {
+              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+              else __PYX_ERR(0, 503, __pyx_L1_error)
+            }
+            break;
+          }
+          __Pyx_GOTREF(__pyx_t_8);
+        }
+        __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_8);
+        __pyx_t_8 = 0;
+        __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_v); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 503, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      }
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __pyx_t_10 = __Pyx_PyString_Join(__pyx_kp_s_, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_7);
+      __Pyx_INCREF(__pyx_kp_s_tri_area_exception);
+      __Pyx_GIVEREF(__pyx_kp_s_tri_area_exception);
+      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_s_tri_area_exception);
+      __Pyx_GIVEREF(__pyx_t_10);
+      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_10);
+      __pyx_t_10 = 0;
+      if (__Pyx_Print(0, __pyx_t_7, 1) < 0) __PYX_ERR(0, 503, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":502
+ *         local_area = llgramarea(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         doublearea += local_area
+ *         if numpy.isnan(local_area):             # <<<<<<<<<<<<<<
+ *             print 'tri_area exception: ', ', '.join([str(v) for v in triangles[i : i + 9]])
+ *     return doublearea * 0.5
+ */
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":504
+ *         if numpy.isnan(local_area):
+ *             print 'tri_area exception: ', ', '.join([str(v) for v in triangles[i : i + 9]])
+ *     return doublearea * 0.5             # <<<<<<<<<<<<<<
+ * 
+ * @cython.boundscheck(False)
+ */
+  __pyx_r = (__pyx_v_doublearea * 0.5);
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":496
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef double _tri_area(numpy.ndarray[numpy.float_t, ndim=1] triangles, int lo, int hi):             # <<<<<<<<<<<<<<
+ *     cdef double doublearea = 0., local_area
+ *     cdef int i
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.surfaces._tri_area", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF(__pyx_v_v);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_17_tri_area(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_17_tri_area(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyArrayObject *__pyx_v_triangles = 0;
+  int __pyx_v_lo;
+  int __pyx_v_hi;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("_tri_area (wrapper)", 0);
+  {
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_triangles,&__pyx_n_s_lo,&__pyx_n_s_hi,0};
+    PyObject* values[3] = {0,0,0};
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        CYTHON_FALLTHROUGH;
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        CYTHON_FALLTHROUGH;
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        CYTHON_FALLTHROUGH;
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_triangles)) != 0)) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        CYTHON_FALLTHROUGH;
+        case  1:
+        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lo)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_tri_area", 1, 3, 3, 1); __PYX_ERR(0, 496, __pyx_L3_error)
+        }
+        CYTHON_FALLTHROUGH;
+        case  2:
+        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hi)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("_tri_area", 1, 3, 3, 2); __PYX_ERR(0, 496, __pyx_L3_error)
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_tri_area") < 0)) __PYX_ERR(0, 496, __pyx_L3_error)
+      }
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
+      goto __pyx_L5_argtuple_error;
+    } else {
+      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+    }
+    __pyx_v_triangles = ((PyArrayObject *)values[0]);
+    __pyx_v_lo = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_lo == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 496, __pyx_L3_error)
+    __pyx_v_hi = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_hi == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 496, __pyx_L3_error)
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("_tri_area", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 496, __pyx_L3_error)
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._tri_area", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_triangles), __pyx_ptype_5numpy_ndarray, 1, "triangles", 0))) __PYX_ERR(0, 496, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_16_tri_area(__pyx_self, __pyx_v_triangles, __pyx_v_lo, __pyx_v_hi);
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_16_tri_area(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles, int __pyx_v_lo, int __pyx_v_hi) {
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_tri_area", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 496, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_8surfaces__tri_area(__pyx_v_triangles, __pyx_v_lo, __pyx_v_hi, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces._tri_area", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "neuron/rxd/geometry3d/surfaces.pyx":508
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef double tri_volume(numpy.ndarray[numpy.float_t, ndim=1] triangles):             # <<<<<<<<<<<<<<
+ *     cdef double sixtimesvolume = 0., local_vol
+ *     cdef int i
+ */
+
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_19tri_volume(PyObject *__pyx_self, PyObject *__pyx_v_triangles); /*proto*/
+static double __pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_volume(PyArrayObject *__pyx_v_triangles, CYTHON_UNUSED int __pyx_skip_dispatch) {
+  double __pyx_v_sixtimesvolume;
+  double __pyx_v_local_vol;
+  int __pyx_v_i;
+  long __pyx_v_j;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  double __pyx_r;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  Py_ssize_t __pyx_t_2;
+  int __pyx_t_3;
+  Py_ssize_t __pyx_t_4;
+  Py_ssize_t __pyx_t_5;
+  Py_ssize_t __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  PyObject *__pyx_t_10 = NULL;
+  int __pyx_t_11;
+  long __pyx_t_12;
+  long __pyx_t_13;
+  long __pyx_t_14;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("tri_volume", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 508, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":509
+ * @cython.wraparound(False)
+ * cpdef double tri_volume(numpy.ndarray[numpy.float_t, ndim=1] triangles):
+ *     cdef double sixtimesvolume = 0., local_vol             # <<<<<<<<<<<<<<
+ *     cdef int i
+ *     for i in range(0, len(triangles), 9):
+ */
+  __pyx_v_sixtimesvolume = 0.;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":511
+ *     cdef double sixtimesvolume = 0., local_vol
+ *     cdef int i
+ *     for i in range(0, len(triangles), 9):             # <<<<<<<<<<<<<<
+ *         local_vol = llpipedfromoriginvolume(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         sixtimesvolume += local_vol
+ */
+  __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_triangles)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 511, __pyx_L1_error)
+  __pyx_t_2 = __pyx_t_1;
+  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=9) {
+    __pyx_v_i = __pyx_t_3;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":512
+ *     cdef int i
+ *     for i in range(0, len(triangles), 9):
+ *         local_vol = llpipedfromoriginvolume(&triangles[i], &triangles[3 + i], &triangles[6 + i])             # <<<<<<<<<<<<<<
+ *         sixtimesvolume += local_vol
+ *         if numpy.isnan(local_vol):
+ */
+    __pyx_t_4 = __pyx_v_i;
+    __pyx_t_5 = (3 + __pyx_v_i);
+    __pyx_t_6 = (6 + __pyx_v_i);
+    __pyx_v_local_vol = llpipedfromoriginvolume((&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_triangles.diminfo[0].strides))), (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_5, __pyx_pybuffernd_triangles.diminfo[0].strides))), (&(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_triangles.diminfo[0].strides))));
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":513
+ *     for i in range(0, len(triangles), 9):
+ *         local_vol = llpipedfromoriginvolume(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         sixtimesvolume += local_vol             # <<<<<<<<<<<<<<
+ *         if numpy.isnan(local_vol):
+ *             print 'tri_volume exception:',
+ */
+    __pyx_v_sixtimesvolume = (__pyx_v_sixtimesvolume + __pyx_v_local_vol);
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":514
+ *         local_vol = llpipedfromoriginvolume(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         sixtimesvolume += local_vol
+ *         if numpy.isnan(local_vol):             # <<<<<<<<<<<<<<
+ *             print 'tri_volume exception:',
+ *             for j in range(i, i + 9):
+ */
+    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_numpy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 514, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_isnan); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 514, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_8 = PyFloat_FromDouble(__pyx_v_local_vol); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 514, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_8);
+    __pyx_t_10 = NULL;
+    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+      if (likely(__pyx_t_10)) {
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);
+      }
+    }
+    __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8);
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 514, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_7);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 514, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+    if (__pyx_t_11) {
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":515
+ *         sixtimesvolume += local_vol
+ *         if numpy.isnan(local_vol):
+ *             print 'tri_volume exception:',             # <<<<<<<<<<<<<<
+ *             for j in range(i, i + 9):
+ *                 print triangles[j],
+ */
+      if (__Pyx_Print(0, __pyx_tuple__2, 0) < 0) __PYX_ERR(0, 515, __pyx_L1_error)
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":516
+ *         if numpy.isnan(local_vol):
+ *             print 'tri_volume exception:',
+ *             for j in range(i, i + 9):             # <<<<<<<<<<<<<<
+ *                 print triangles[j],
+ *                 print
+ */
+      __pyx_t_12 = (__pyx_v_i + 9);
+      __pyx_t_13 = __pyx_t_12;
+      for (__pyx_t_14 = __pyx_v_i; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
+        __pyx_v_j = __pyx_t_14;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":517
+ *             print 'tri_volume exception:',
+ *             for j in range(i, i + 9):
+ *                 print triangles[j],             # <<<<<<<<<<<<<<
+ *                 print
+ *     return abs(sixtimesvolume / 6.)
+ */
+        __pyx_t_6 = __pyx_v_j;
+        __pyx_t_7 = PyFloat_FromDouble((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_pybuffernd_triangles.rcbuffer->pybuffer.buf, __pyx_t_6, __pyx_pybuffernd_triangles.diminfo[0].strides))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 517, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 517, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GIVEREF(__pyx_t_7);
+        PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7);
+        __pyx_t_7 = 0;
+        if (__Pyx_Print(0, __pyx_t_9, 0) < 0) __PYX_ERR(0, 517, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":518
+ *             for j in range(i, i + 9):
+ *                 print triangles[j],
+ *                 print             # <<<<<<<<<<<<<<
+ *     return abs(sixtimesvolume / 6.)
+ */
+        if (__Pyx_Print(0, __pyx_empty_tuple, 1) < 0) __PYX_ERR(0, 518, __pyx_L1_error)
+      }
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":514
+ *         local_vol = llpipedfromoriginvolume(&triangles[i], &triangles[3 + i], &triangles[6 + i])
+ *         sixtimesvolume += local_vol
+ *         if numpy.isnan(local_vol):             # <<<<<<<<<<<<<<
+ *             print 'tri_volume exception:',
+ *             for j in range(i, i + 9):
+ */
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":519
+ *                 print triangles[j],
+ *                 print
+ *     return abs(sixtimesvolume / 6.)             # <<<<<<<<<<<<<<
+ */
+  __pyx_r = fabs((__pyx_v_sixtimesvolume / 6.));
+  goto __pyx_L0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":508
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * cpdef double tri_volume(numpy.ndarray[numpy.float_t, ndim=1] triangles):             # <<<<<<<<<<<<<<
+ *     cdef double sixtimesvolume = 0., local_vol
+ *     cdef int i
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  __Pyx_XDECREF(__pyx_t_10);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_WriteUnraisable("neuron.rxd.geometry3d.surfaces.tri_volume", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
+  __pyx_r = 0;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_19tri_volume(PyObject *__pyx_self, PyObject *__pyx_v_triangles); /*proto*/
+static PyObject *__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_19tri_volume(PyObject *__pyx_self, PyObject *__pyx_v_triangles) {
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("tri_volume (wrapper)", 0);
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_triangles), __pyx_ptype_5numpy_ndarray, 1, "triangles", 0))) __PYX_ERR(0, 508, __pyx_L1_error)
+  __pyx_r = __pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_18tri_volume(__pyx_self, ((PyArrayObject *)__pyx_v_triangles));
+
+  /* function exit code */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_6neuron_3rxd_10geometry3d_8surfaces_18tri_volume(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_triangles) {
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_triangles;
+  __Pyx_Buffer __pyx_pybuffer_triangles;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("tri_volume", 0);
+  __pyx_pybuffer_triangles.pybuffer.buf = NULL;
+  __pyx_pybuffer_triangles.refcount = 0;
+  __pyx_pybuffernd_triangles.data = NULL;
+  __pyx_pybuffernd_triangles.rcbuffer = &__pyx_pybuffer_triangles;
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer, (PyObject*)__pyx_v_triangles, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 508, __pyx_L1_error)
+  }
+  __pyx_pybuffernd_triangles.diminfo[0].strides = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_triangles.diminfo[0].shape = __pyx_pybuffernd_triangles.rcbuffer->pybuffer.shape[0];
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyFloat_FromDouble(__pyx_f_6neuron_3rxd_10geometry3d_8surfaces_tri_volume(__pyx_v_triangles, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("neuron.rxd.geometry3d.surfaces.tri_volume", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_triangles.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":258
+ *         # experimental exception made for __getbuffer__ and __releasebuffer__
+ *         # -- the details of this may change.
+ *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
+ *             # This implementation of getbuffer is geared towards Cython
+ *             # requirements, and does not yet fulfill the PEP.
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_v_i;
+  int __pyx_v_ndim;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  int __pyx_v_t;
+  char *__pyx_v_f;
+  PyArray_Descr *__pyx_v_descr = 0;
+  int __pyx_v_offset;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  PyArray_Descr *__pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  if (__pyx_v_info == NULL) {
+    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
+    return -1;
+  }
+  __Pyx_RefNannySetupContext("__getbuffer__", 0);
+  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+  __Pyx_GIVEREF(__pyx_v_info->obj);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":265
+ * 
+ *             cdef int i, ndim
+ *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":266
+ *             cdef int i, ndim
+ *             cdef int endian_detector = 1
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ * 
+ *             ndim = PyArray_NDIM(self)
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":268
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ */
+  __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
+  if (__pyx_t_2) {
+  } else {
+    __pyx_t_1 = __pyx_t_2;
+    goto __pyx_L4_bool_binop_done;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":271
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ */
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0);
+  __pyx_t_1 = __pyx_t_2;
+  __pyx_L4_bool_binop_done:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  if (unlikely(__pyx_t_1)) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":272
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(1, 272, __pyx_L1_error)
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":270
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
+  if (__pyx_t_2) {
+  } else {
+    __pyx_t_1 = __pyx_t_2;
+    goto __pyx_L7_bool_binop_done;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":275
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ */
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0);
+  __pyx_t_1 = __pyx_t_2;
+  __pyx_L7_bool_binop_done:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  if (unlikely(__pyx_t_1)) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":276
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __PYX_ERR(1, 276, __pyx_L1_error)
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":274
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":278
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":279
+ * 
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim             # <<<<<<<<<<<<<<
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 # Allocate new buffer for strides and shape info.
+ */
+  __pyx_v_info->ndim = __pyx_v_ndim;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":280
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ */
+  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":283
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)             # <<<<<<<<<<<<<<
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ */
+    __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim))));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":284
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
+ *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ */
+    __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":285
+ *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):             # <<<<<<<<<<<<<<
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ */
+    __pyx_t_4 = __pyx_v_ndim;
+    __pyx_t_5 = __pyx_t_4;
+    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
+      __pyx_v_i = __pyx_t_6;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":286
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ */
+      (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":287
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ */
+      (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":280
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ */
+    goto __pyx_L9;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":289
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ */
+  /*else*/ {
+    __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":290
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ */
+    __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
+  }
+  __pyx_L9:;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":291
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ */
+  __pyx_v_info->suboffsets = NULL;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":292
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ * 
+ */
+  __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":293
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
+ * 
+ *             cdef int t
+ */
+  __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":296
+ * 
+ *             cdef int t
+ *             cdef char* f = NULL             # <<<<<<<<<<<<<<
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)
+ *             cdef int offset
+ */
+  __pyx_v_f = NULL;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":297
+ *             cdef int t
+ *             cdef char* f = NULL
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)             # <<<<<<<<<<<<<<
+ *             cdef int offset
+ * 
+ */
+  __pyx_t_7 = PyArray_DESCR(__pyx_v_self);
+  __pyx_t_3 = ((PyObject *)__pyx_t_7);
+  __Pyx_INCREF(__pyx_t_3);
+  __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
+  __pyx_t_3 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":300
+ *             cdef int offset
+ * 
+ *             info.obj = self             # <<<<<<<<<<<<<<
+ * 
+ *             if not PyDataType_HASFIELDS(descr):
+ */
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  __Pyx_GOTREF(__pyx_v_info->obj);
+  __Pyx_DECREF(__pyx_v_info->obj);
+  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":302
+ *             info.obj = self
+ * 
+ *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ */
+  __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":303
+ * 
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num             # <<<<<<<<<<<<<<
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ */
+    __pyx_t_4 = __pyx_v_descr->type_num;
+    __pyx_v_t = __pyx_t_4;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
+    if (!__pyx_t_2) {
+      goto __pyx_L15_next_or;
+    } else {
+    }
+    __pyx_t_2 = (__pyx_v_little_endian != 0);
+    if (!__pyx_t_2) {
+    } else {
+      __pyx_t_1 = __pyx_t_2;
+      goto __pyx_L14_bool_binop_done;
+    }
+    __pyx_L15_next_or:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":305
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ */
+    __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
+    if (__pyx_t_2) {
+    } else {
+      __pyx_t_1 = __pyx_t_2;
+      goto __pyx_L14_bool_binop_done;
+    }
+    __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
+    __pyx_t_1 = __pyx_t_2;
+    __pyx_L14_bool_binop_done:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    if (unlikely(__pyx_t_1)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":306
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 306, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":304
+ *             if not PyDataType_HASFIELDS(descr):
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":307
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ */
+    switch (__pyx_v_t) {
+      case NPY_BYTE:
+      __pyx_v_f = ((char *)"b");
+      break;
+      case NPY_UBYTE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":308
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ */
+      __pyx_v_f = ((char *)"B");
+      break;
+      case NPY_SHORT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":309
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ */
+      __pyx_v_f = ((char *)"h");
+      break;
+      case NPY_USHORT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":310
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ */
+      __pyx_v_f = ((char *)"H");
+      break;
+      case NPY_INT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":311
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ */
+      __pyx_v_f = ((char *)"i");
+      break;
+      case NPY_UINT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":312
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ */
+      __pyx_v_f = ((char *)"I");
+      break;
+      case NPY_LONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":313
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ */
+      __pyx_v_f = ((char *)"l");
+      break;
+      case NPY_ULONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":314
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ */
+      __pyx_v_f = ((char *)"L");
+      break;
+      case NPY_LONGLONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":315
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ */
+      __pyx_v_f = ((char *)"q");
+      break;
+      case NPY_ULONGLONG:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":316
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ */
+      __pyx_v_f = ((char *)"Q");
+      break;
+      case NPY_FLOAT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":317
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ */
+      __pyx_v_f = ((char *)"f");
+      break;
+      case NPY_DOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":318
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ */
+      __pyx_v_f = ((char *)"d");
+      break;
+      case NPY_LONGDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":319
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ */
+      __pyx_v_f = ((char *)"g");
+      break;
+      case NPY_CFLOAT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":320
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ */
+      __pyx_v_f = ((char *)"Zf");
+      break;
+      case NPY_CDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":321
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"
+ */
+      __pyx_v_f = ((char *)"Zd");
+      break;
+      case NPY_CLONGDOUBLE:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":322
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ */
+      __pyx_v_f = ((char *)"Zg");
+      break;
+      case NPY_OBJECT:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":323
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+      __pyx_v_f = ((char *)"O");
+      break;
+      default:
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":325
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *                 info.format = f
+ *                 return
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 325, __pyx_L1_error)
+      break;
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":326
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f             # <<<<<<<<<<<<<<
+ *                 return
+ *             else:
+ */
+    __pyx_v_info->format = __pyx_v_f;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":327
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f
+ *                 return             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ */
+    __pyx_r = 0;
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":302
+ *             info.obj = self
+ * 
+ *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":329
+ *                 return
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0
+ */
+  /*else*/ {
+    __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF));
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":330
+ *             else:
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ *                 info.format[0] = c'^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
+ *                 offset = 0
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ */
+    (__pyx_v_info->format[0]) = '^';
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":331
+ *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0             # <<<<<<<<<<<<<<
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ *                                       info.format + _buffer_format_string_len,
+ */
+    __pyx_v_offset = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":332
+ *                 info.format[0] = c'^' # Native data types, manual alignment
+ *                 offset = 0
+ *                 f = _util_dtypestring(descr, info.format + 1,             # <<<<<<<<<<<<<<
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)
+ */
+    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error)
+    __pyx_v_f = __pyx_t_9;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":335
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)
+ *                 f[0] = c'\0' # Terminate format string             # <<<<<<<<<<<<<<
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ */
+    (__pyx_v_f[0]) = '\x00';
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":258
+ *         # experimental exception made for __getbuffer__ and __releasebuffer__
+ *         # -- the details of this may change.
+ *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
+ *             # This implementation of getbuffer is geared towards Cython
+ *             # requirements, and does not yet fulfill the PEP.
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  if (__pyx_v_info->obj != NULL) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
+  }
+  goto __pyx_L2;
+  __pyx_L0:;
+  if (__pyx_v_info->obj == Py_None) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
+  }
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":337
+ *                 f[0] = c'\0' # Terminate format string
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ */
+
+/* Python wrapper */
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
+  __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("__releasebuffer__", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":338
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":339
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)             # <<<<<<<<<<<<<<
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 PyObject_Free(info.strides)
+ */
+    PyObject_Free(__pyx_v_info->format);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":338
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":340
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.strides)
+ *                 # info.shape was stored after info.strides in the same block
+ */
+  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":341
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 PyObject_Free(info.strides)             # <<<<<<<<<<<<<<
+ *                 # info.shape was stored after info.strides in the same block
+ * 
+ */
+    PyObject_Free(__pyx_v_info->strides);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":340
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 PyObject_Free(info.strides)
+ *                 # info.shape was stored after info.strides in the same block
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":337
+ *                 f[0] = c'\0' # Terminate format string
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
+ *             if PyArray_HASFIELDS(self):
+ *                 PyObject_Free(info.format)
+ */
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":820
+ * ctypedef npy_cdouble     complex_t
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":821
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 821, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":820
+ * ctypedef npy_cdouble     complex_t
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":823
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":824
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 824, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":823
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":826
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":827
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 827, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":826
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":829
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":830
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 830, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":829
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":832
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":833
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 833, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":832
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":835
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":836
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
+ *         return <tuple>d.subarray.shape
+ *     else:
+ */
+  __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":837
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
+ *     else:
+ *         return ()
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
+    __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":836
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):
+ *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
+ *         return <tuple>d.subarray.shape
+ *     else:
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":839
+ *         return <tuple>d.subarray.shape
+ *     else:
+ *         return ()             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ */
+  /*else*/ {
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(__pyx_empty_tuple);
+    __pyx_r = __pyx_empty_tuple;
+    goto __pyx_L0;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":835
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
+ *     if PyDataType_HASSUBARRAY(d):
+ *         return <tuple>d.subarray.shape
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":841
+ *         return ()
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
+ *     # Recursive utility function used in __getbuffer__ to get format
+ *     # string. The new location in the format string is returned.
+ */
+
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
+  PyArray_Descr *__pyx_v_child = 0;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  PyObject *__pyx_v_fields = 0;
+  PyObject *__pyx_v_childname = NULL;
+  PyObject *__pyx_v_new_offset = NULL;
+  PyObject *__pyx_v_t = NULL;
+  char *__pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  long __pyx_t_8;
+  char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":846
+ * 
+ *     cdef dtype child
+ *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *     cdef tuple fields
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":847
+ *     cdef dtype child
+ *     cdef int endian_detector = 1
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ *     cdef tuple fields
+ * 
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":850
+ *     cdef tuple fields
+ * 
+ *     for childname in descr.names:             # <<<<<<<<<<<<<<
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields
+ */
+  if (unlikely(__pyx_v_descr->names == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+    __PYX_ERR(1, 850, __pyx_L1_error)
+  }
+  __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+  for (;;) {
+    if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 850, __pyx_L1_error)
+    #else
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 850, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    #endif
+    __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":851
+ * 
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
+ *         child, new_offset = fields
+ * 
+ */
+    if (unlikely(__pyx_v_descr->fields == Py_None)) {
+      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
+      __PYX_ERR(1, 851, __pyx_L1_error)
+    }
+    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 851, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
+    __pyx_t_3 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":852
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields             # <<<<<<<<<<<<<<
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ */
+    if (likely(__pyx_v_fields != Py_None)) {
+      PyObject* sequence = __pyx_v_fields;
+      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
+      if (unlikely(size != 2)) {
+        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
+        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
+        __PYX_ERR(1, 852, __pyx_L1_error)
+      }
+      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_4);
+      #else
+      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 852, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      #endif
+    } else {
+      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 852, __pyx_L1_error)
+    }
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 852, __pyx_L1_error)
+    __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
+    __pyx_t_3 = 0;
+    __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
+    __pyx_t_4 = 0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":854
+ *         child, new_offset = fields
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 854, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
+    if (unlikely(__pyx_t_6)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":855
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 855, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":854
+ *         child, new_offset = fields
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
+    if (!__pyx_t_7) {
+      goto __pyx_L8_next_or;
+    } else {
+    }
+    __pyx_t_7 = (__pyx_v_little_endian != 0);
+    if (!__pyx_t_7) {
+    } else {
+      __pyx_t_6 = __pyx_t_7;
+      goto __pyx_L7_bool_binop_done;
+    }
+    __pyx_L8_next_or:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":858
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ *             (child.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *             raise ValueError(u"Non-native byte order not supported")
+ *             # One could encode it in the format string and have Cython
+ */
+    __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
+    if (__pyx_t_7) {
+    } else {
+      __pyx_t_6 = __pyx_t_7;
+      goto __pyx_L7_bool_binop_done;
+    }
+    __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
+    __pyx_t_6 = __pyx_t_7;
+    __pyx_L7_bool_binop_done:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    if (unlikely(__pyx_t_6)) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":859
+ *         if ((child.byteorder == c'>' and little_endian) or
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *             # One could encode it in the format string and have Cython
+ *             # complain instead, BUT: < and > in format strings also imply
+ */
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 859, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __PYX_ERR(1, 859, __pyx_L1_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":857
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == c'<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":869
+ * 
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ */
+    while (1) {
+      __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 869, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (!__pyx_t_6) break;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":870
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
+ *             f += 1
+ *             offset[0] += 1
+ */
+      (__pyx_v_f[0]) = 0x78;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":871
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1             # <<<<<<<<<<<<<<
+ *             offset[0] += 1
+ * 
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":872
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ *             offset[0] += 1             # <<<<<<<<<<<<<<
+ * 
+ *         offset[0] += child.itemsize
+ */
+      __pyx_t_8 = 0;
+      (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":874
+ *             offset[0] += 1
+ * 
+ *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ */
+    __pyx_t_8 = 0;
+    (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":876
+ *         offset[0] += child.itemsize
+ * 
+ *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
+ *             t = child.type_num
+ *             if end - f < 5:
+ */
+    __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
+    if (__pyx_t_6) {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":877
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num             # <<<<<<<<<<<<<<
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 877, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
+      __pyx_t_4 = 0;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":878
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num
+ *             if end - f < 5:             # <<<<<<<<<<<<<<
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ * 
+ */
+      __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
+      if (unlikely(__pyx_t_6)) {
+
+        /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":879
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 879, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __PYX_ERR(1, 879, __pyx_L1_error)
+
+        /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":878
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num
+ *             if end - f < 5:             # <<<<<<<<<<<<<<
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ * 
+ */
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":882
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 882, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 98;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":883
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 66;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":884
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x68;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":885
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 72;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":886
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x69;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":887
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 73;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":888
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x6C;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":889
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 76;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":890
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x71;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":891
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 81;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":892
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x66;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":893
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x64;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":894
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 0x67;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":895
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x66;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":896
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x64;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":897
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ */
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 0x67;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":898
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (likely(__pyx_t_6)) {
+        (__pyx_v_f[0]) = 79;
+        goto __pyx_L15;
+      }
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":900
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *             f += 1
+ *         else:
+ */
+      /*else*/ {
+        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 900, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 900, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __PYX_ERR(1, 900, __pyx_L1_error)
+      }
+      __pyx_L15:;
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":901
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *             f += 1             # <<<<<<<<<<<<<<
+ *         else:
+ *             # Cython ignores struct boundary information ("T{...}"),
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":876
+ *         offset[0] += child.itemsize
+ * 
+ *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
+ *             t = child.type_num
+ *             if end - f < 5:
+ */
+      goto __pyx_L13;
+    }
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":905
+ *             # Cython ignores struct boundary information ("T{...}"),
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
+ *     return f
+ * 
+ */
+    /*else*/ {
+      __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 905, __pyx_L1_error)
+      __pyx_v_f = __pyx_t_9;
+    }
+    __pyx_L13:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":850
+ *     cdef tuple fields
+ * 
+ *     for childname in descr.names:             # <<<<<<<<<<<<<<
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields
+ */
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":906
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)
+ *     return f             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_f;
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":841
+ *         return ()
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
+ *     # Recursive utility function used in __getbuffer__ to get format
+ *     # string. The new location in the format string is returned.
+ */
+
+  /* function exit code */
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_child);
+  __Pyx_XDECREF(__pyx_v_fields);
+  __Pyx_XDECREF(__pyx_v_childname);
+  __Pyx_XDECREF(__pyx_v_new_offset);
+  __Pyx_XDECREF(__pyx_v_t);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1021
+ *     int _import_umath() except -1
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("set_array_base", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1022
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ */
+  Py_INCREF(__pyx_v_base);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1023
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ */
+  (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1021
+ *     int _import_umath() except -1
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+  /* function exit code */
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1025
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+  PyObject *__pyx_v_base;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("get_array_base", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1026
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
+ *     if base is NULL:
+ *         return None
+ */
+  __pyx_v_base = PyArray_BASE(__pyx_v_arr);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1027
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+  __pyx_t_1 = ((__pyx_v_base == NULL) != 0);
+  if (__pyx_t_1) {
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1028
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ *         return None             # <<<<<<<<<<<<<<
+ *     return <object>base
+ * 
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+    goto __pyx_L0;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1027
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1029
+ *     if base is NULL:
+ *         return None
+ *     return <object>base             # <<<<<<<<<<<<<<
+ * 
+ * # Versions of the import_* functions which are more suitable for
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(((PyObject *)__pyx_v_base));
+  __pyx_r = ((PyObject *)__pyx_v_base);
+  goto __pyx_L0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1025
+ *     PyArray_SetBaseObject(arr, base)
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+  /* function exit code */
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1033
+ * # Versions of the import_* functions which are more suitable for
+ * # Cython code.
+ * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_array()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_array", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1035
+ * cdef inline int import_array() except -1:
+ *     try:
+ *         _import_array()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ */
+      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1035, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1036
+ *     try:
+ *         _import_array()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1036, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1037
+ *         _import_array()
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_umath() except -1:
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1037, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1037, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1034
+ * # Cython code.
+ * cdef inline int import_array() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_array()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1033
+ * # Versions of the import_* functions which are more suitable for
+ * # Cython code.
+ * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_array()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1039
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_umath", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1041
+ * cdef inline int import_umath() except -1:
+ *     try:
+ *         _import_umath()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1041, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1042
+ *     try:
+ *         _import_umath()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1042, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1043
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_ufunc() except -1:
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1043, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1043, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1040
+ * 
+ * cdef inline int import_umath() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1039
+ *         raise ImportError("numpy.core.multiarray failed to import")
+ * 
+ * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  int __pyx_t_4;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("import_ufunc", 0);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+  {
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
+    __Pyx_XGOTREF(__pyx_t_1);
+    __Pyx_XGOTREF(__pyx_t_2);
+    __Pyx_XGOTREF(__pyx_t_3);
+    /*try:*/ {
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1047
+ * cdef inline int import_ufunc() except -1:
+ *     try:
+ *         _import_umath()             # <<<<<<<<<<<<<<
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1047, __pyx_L3_error)
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    }
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+    goto __pyx_L8_try_end;
+    __pyx_L3_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1048
+ *     try:
+ *         _import_umath()
+ *     except Exception:             # <<<<<<<<<<<<<<
+ *         raise ImportError("numpy.core.umath failed to import")
+ */
+    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
+    if (__pyx_t_4) {
+      __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1048, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_7);
+
+      /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1049
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ */
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1049, __pyx_L5_except_error)
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __PYX_ERR(1, 1049, __pyx_L5_except_error)
+    }
+    goto __pyx_L5_except_error;
+    __pyx_L5_except_error:;
+
+    /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1046
+ * 
+ * cdef inline int import_ufunc() except -1:
+ *     try:             # <<<<<<<<<<<<<<
+ *         _import_umath()
+ *     except Exception:
+ */
+    __Pyx_XGIVEREF(__pyx_t_1);
+    __Pyx_XGIVEREF(__pyx_t_2);
+    __Pyx_XGIVEREF(__pyx_t_3);
+    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
+    goto __pyx_L1_error;
+    __pyx_L8_try_end:;
+  }
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyMethodDef __pyx_methods[] = {
+  {"chunkify", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_9chunkify, METH_VARARGS|METH_KEYWORDS, 0},
+  {"triangulate_surface", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_11triangulate_surface, METH_VARARGS|METH_KEYWORDS, 0},
+  {"_triangulate_surface_given_chunks", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_13_triangulate_surface_given_chunks, METH_VARARGS|METH_KEYWORDS, 0},
+  {"tri_area", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_15tri_area, METH_O, 0},
+  {"_tri_area", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_17_tri_area, METH_VARARGS|METH_KEYWORDS, 0},
+  {"tri_volume", (PyCFunction)__pyx_pw_6neuron_3rxd_10geometry3d_8surfaces_19tri_volume, METH_O, 0},
+  {0, 0, 0, 0}
+};
+
+#if PY_MAJOR_VERSION >= 3
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
+static int __pyx_pymod_exec_surfaces(PyObject* module); /*proto*/
+static PyModuleDef_Slot __pyx_moduledef_slots[] = {
+  {Py_mod_create, (void*)__pyx_pymod_create},
+  {Py_mod_exec, (void*)__pyx_pymod_exec_surfaces},
+  {0, NULL}
+};
+#endif
+
+static struct PyModuleDef __pyx_moduledef = {
+    PyModuleDef_HEAD_INIT,
+    "surfaces",
+    0, /* m_doc */
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    0, /* m_size */
+  #else
+    -1, /* m_size */
+  #endif
+    __pyx_methods /* m_methods */,
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+    __pyx_moduledef_slots, /* m_slots */
+  #else
+    NULL, /* m_reload */
+  #endif
+    NULL, /* m_traverse */
+    NULL, /* m_clear */
+    NULL /* m_free */
+};
+#endif
+#ifndef CYTHON_SMALL_CODE
+#if defined(__clang__)
+    #define CYTHON_SMALL_CODE
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+    #define CYTHON_SMALL_CODE __attribute__((cold))
+#else
+    #define CYTHON_SMALL_CODE
+#endif
+#endif
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
+  {&__pyx_kp_s_7f_7f_7f_7f_7f_7f_7f_7f, __pyx_k_7f_7f_7f_7f_7f_7f_7f_7f, sizeof(__pyx_k_7f_7f_7f_7f_7f_7f_7f_7f), 0, 0, 1, 0},
+  {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
+  {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
+  {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
+  {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
+  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
+  {&__pyx_n_s_SkewCone, __pyx_k_SkewCone, sizeof(__pyx_k_SkewCone), 0, 0, 1, 1},
+  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
+  {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
+  {&__pyx_n_s_areas, __pyx_k_areas, sizeof(__pyx_k_areas), 0, 0, 1, 1},
+  {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
+  {&__pyx_kp_s_at_g_g_g_d_g, __pyx_k_at_g_g_g_d_g, sizeof(__pyx_k_at_g_g_g_d_g), 0, 0, 1, 0},
+  {&__pyx_n_s_big_number_matrix, __pyx_k_big_number_matrix, sizeof(__pyx_k_big_number_matrix), 0, 0, 1, 1},
+  {&__pyx_n_s_bisect, __pyx_k_bisect, sizeof(__pyx_k_bisect), 0, 0, 1, 1},
+  {&__pyx_n_s_bisect_left, __pyx_k_bisect_left, sizeof(__pyx_k_bisect_left), 0, 0, 1, 1},
+  {&__pyx_n_s_bisect_right, __pyx_k_bisect_right, sizeof(__pyx_k_bisect_right), 0, 0, 1, 1},
+  {&__pyx_n_s_chunk_objs, __pyx_k_chunk_objs, sizeof(__pyx_k_chunk_objs), 0, 0, 1, 1},
+  {&__pyx_n_s_chunk_size, __pyx_k_chunk_size, sizeof(__pyx_k_chunk_size), 0, 0, 1, 1},
+  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
+  {&__pyx_n_s_contains_surface, __pyx_k_contains_surface, sizeof(__pyx_k_contains_surface), 0, 0, 1, 1},
+  {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
+  {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
+  {&__pyx_n_s_distance, __pyx_k_distance, sizeof(__pyx_k_distance), 0, 0, 1, 1},
+  {&__pyx_kp_s_distance_to_position_4_with_ever, __pyx_k_distance_to_position_4_with_ever, sizeof(__pyx_k_distance_to_position_4_with_ever), 0, 0, 1, 0},
+  {&__pyx_kp_s_distance_to_position_4_with_ever_2, __pyx_k_distance_to_position_4_with_ever_2, sizeof(__pyx_k_distance_to_position_4_with_ever_2), 0, 0, 1, 0},
+  {&__pyx_n_s_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 0, 0, 1, 1},
+  {&__pyx_n_s_dy, __pyx_k_dy, sizeof(__pyx_k_dy), 0, 0, 1, 1},
+  {&__pyx_n_s_dz, __pyx_k_dz, sizeof(__pyx_k_dz), 0, 0, 1, 1},
+  {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
+  {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
+  {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
+  {&__pyx_n_s_get_clip, __pyx_k_get_clip, sizeof(__pyx_k_get_clip), 0, 0, 1, 1},
+  {&__pyx_n_s_graphicsPrimitives, __pyx_k_graphicsPrimitives, sizeof(__pyx_k_graphicsPrimitives), 0, 0, 1, 1},
+  {&__pyx_kp_s_grr_it_thinks_there_is_surface_w, __pyx_k_grr_it_thinks_there_is_surface_w, sizeof(__pyx_k_grr_it_thinks_there_is_surface_w), 0, 0, 1, 0},
+  {&__pyx_n_s_has_neg, __pyx_k_has_neg, sizeof(__pyx_k_has_neg), 0, 0, 1, 1},
+  {&__pyx_n_s_has_pos, __pyx_k_has_pos, sizeof(__pyx_k_has_pos), 0, 0, 1, 1},
+  {&__pyx_n_s_hi, __pyx_k_hi, sizeof(__pyx_k_hi), 0, 0, 1, 1},
+  {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
+  {&__pyx_n_s_i1, __pyx_k_i1, sizeof(__pyx_k_i1), 0, 0, 1, 1},
+  {&__pyx_kp_s_i_e_global_item_d_r, __pyx_k_i_e_global_item_d_r, sizeof(__pyx_k_i_e_global_item_d_r), 0, 0, 1, 0},
+  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
+  {&__pyx_n_s_internal_membranes, __pyx_k_internal_membranes, sizeof(__pyx_k_internal_membranes), 0, 0, 1, 1},
+  {&__pyx_n_s_isnan, __pyx_k_isnan, sizeof(__pyx_k_isnan), 0, 0, 1, 1},
+  {&__pyx_kp_s_item_d_in_grid_d_d_d_contains_pr, __pyx_k_item_d_in_grid_d_d_d_contains_pr, sizeof(__pyx_k_item_d_in_grid_d_d_d_contains_pr), 0, 0, 1, 0},
+  {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1},
+  {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
+  {&__pyx_n_s_j1, __pyx_k_j1, sizeof(__pyx_k_j1), 0, 0, 1, 1},
+  {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
+  {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
+  {&__pyx_n_s_k1, __pyx_k_k1, sizeof(__pyx_k_k1), 0, 0, 1, 1},
+  {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
+  {&__pyx_kp_s_last_obj_distance_to_position_4, __pyx_k_last_obj_distance_to_position_4, sizeof(__pyx_k_last_obj_distance_to_position_4), 0, 0, 1, 0},
+  {&__pyx_kp_s_last_object, __pyx_k_last_object, sizeof(__pyx_k_last_object), 0, 0, 1, 0},
+  {&__pyx_n_s_lo, __pyx_k_lo, sizeof(__pyx_k_lo), 0, 0, 1, 1},
+  {&__pyx_n_s_local_xs, __pyx_k_local_xs, sizeof(__pyx_k_local_xs), 0, 0, 1, 1},
+  {&__pyx_n_s_local_ys, __pyx_k_local_ys, sizeof(__pyx_k_local_ys), 0, 0, 1, 1},
+  {&__pyx_n_s_local_zs, __pyx_k_local_zs, sizeof(__pyx_k_local_zs), 0, 0, 1, 1},
+  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
+  {&__pyx_n_s_max_chunks, __pyx_k_max_chunks, sizeof(__pyx_k_max_chunks), 0, 0, 1, 1},
+  {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
+  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
+  {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},
+  {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0},
+  {&__pyx_n_s_neighbor, __pyx_k_neighbor, sizeof(__pyx_k_neighbor), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron, __pyx_k_neuron, sizeof(__pyx_k_neuron), 0, 0, 1, 1},
+  {&__pyx_n_s_neuron_rxd_geometry3d_surfaces, __pyx_k_neuron_rxd_geometry3d_surfaces, sizeof(__pyx_k_neuron_rxd_geometry3d_surfaces), 0, 0, 1, 1},
+  {&__pyx_n_s_new_index, __pyx_k_new_index, sizeof(__pyx_k_new_index), 0, 0, 1, 1},
+  {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},
+  {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0},
+  {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0},
+  {&__pyx_n_s_nx, __pyx_k_nx, sizeof(__pyx_k_nx), 0, 0, 1, 1},
+  {&__pyx_n_s_ny, __pyx_k_ny, sizeof(__pyx_k_ny), 0, 0, 1, 1},
+  {&__pyx_n_s_nz, __pyx_k_nz, sizeof(__pyx_k_nz), 0, 0, 1, 1},
+  {&__pyx_n_s_objdist, __pyx_k_objdist, sizeof(__pyx_k_objdist), 0, 0, 1, 1},
+  {&__pyx_n_s_objects, __pyx_k_objects, sizeof(__pyx_k_objects), 0, 0, 1, 1},
+  {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_x, __pyx_k_overlaps_x, sizeof(__pyx_k_overlaps_x), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_y, __pyx_k_overlaps_y, sizeof(__pyx_k_overlaps_y), 0, 0, 1, 1},
+  {&__pyx_n_s_overlaps_z, __pyx_k_overlaps_z, sizeof(__pyx_k_overlaps_z), 0, 0, 1, 1},
+  {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
+  {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
+  {&__pyx_n_s_position, __pyx_k_position, sizeof(__pyx_k_position), 0, 0, 1, 1},
+  {&__pyx_kp_s_position_4, __pyx_k_position_4, sizeof(__pyx_k_position_4), 0, 0, 1, 0},
+  {&__pyx_n_s_primitives, __pyx_k_primitives, sizeof(__pyx_k_primitives), 0, 0, 1, 1},
+  {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
+  {&__pyx_n_s_print_reject_reason, __pyx_k_print_reject_reason, sizeof(__pyx_k_print_reject_reason), 0, 0, 1, 1},
+  {&__pyx_n_s_print_values, __pyx_k_print_values, sizeof(__pyx_k_print_values), 0, 0, 1, 1},
+  {&__pyx_n_s_process_cell, __pyx_k_process_cell, sizeof(__pyx_k_process_cell), 0, 0, 1, 1},
+  {&__pyx_n_s_product, __pyx_k_product, sizeof(__pyx_k_product), 0, 0, 1, 1},
+  {&__pyx_n_s_pt, __pyx_k_pt, sizeof(__pyx_k_pt), 0, 0, 1, 1},
+  {&__pyx_n_s_r_inner, __pyx_k_r_inner, sizeof(__pyx_k_r_inner), 0, 0, 1, 1},
+  {&__pyx_n_s_r_outer, __pyx_k_r_outer, sizeof(__pyx_k_r_outer), 0, 0, 1, 1},
+  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
+  {&__pyx_n_s_refcheck, __pyx_k_refcheck, sizeof(__pyx_k_refcheck), 0, 0, 1, 1},
+  {&__pyx_n_s_register_on_neighbor_map, __pyx_k_register_on_neighbor_map, sizeof(__pyx_k_register_on_neighbor_map), 0, 0, 1, 1},
+  {&__pyx_n_s_reject_if_outside, __pyx_k_reject_if_outside, sizeof(__pyx_k_reject_if_outside), 0, 0, 1, 1},
+  {&__pyx_n_s_resize, __pyx_k_resize, sizeof(__pyx_k_resize), 0, 0, 1, 1},
+  {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
+  {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
+  {&__pyx_n_s_starting_points, __pyx_k_starting_points, sizeof(__pyx_k_starting_points), 0, 0, 1, 1},
+  {&__pyx_n_s_store_areas, __pyx_k_store_areas, sizeof(__pyx_k_store_areas), 0, 0, 1, 1},
+  {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1},
+  {&__pyx_kp_s_surfaces_pyx, __pyx_k_surfaces_pyx, sizeof(__pyx_k_surfaces_pyx), 0, 0, 1, 0},
+  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
+  {&__pyx_n_s_the_map, __pyx_k_the_map, sizeof(__pyx_k_the_map), 0, 0, 1, 1},
+  {&__pyx_kp_s_tri_area_exception, __pyx_k_tri_area_exception, sizeof(__pyx_k_tri_area_exception), 0, 0, 1, 0},
+  {&__pyx_kp_s_tri_volume_exception, __pyx_k_tri_volume_exception, sizeof(__pyx_k_tri_volume_exception), 0, 0, 1, 0},
+  {&__pyx_n_s_triangles, __pyx_k_triangles, sizeof(__pyx_k_triangles), 0, 0, 1, 1},
+  {&__pyx_n_s_tridata, __pyx_k_tridata, sizeof(__pyx_k_tridata), 0, 0, 1, 1},
+  {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0},
+  {&__pyx_n_s_value0, __pyx_k_value0, sizeof(__pyx_k_value0), 0, 0, 1, 1},
+  {&__pyx_n_s_value1, __pyx_k_value1, sizeof(__pyx_k_value1), 0, 0, 1, 1},
+  {&__pyx_n_s_value2, __pyx_k_value2, sizeof(__pyx_k_value2), 0, 0, 1, 1},
+  {&__pyx_n_s_value3, __pyx_k_value3, sizeof(__pyx_k_value3), 0, 0, 1, 1},
+  {&__pyx_n_s_value4, __pyx_k_value4, sizeof(__pyx_k_value4), 0, 0, 1, 1},
+  {&__pyx_n_s_value5, __pyx_k_value5, sizeof(__pyx_k_value5), 0, 0, 1, 1},
+  {&__pyx_n_s_value6, __pyx_k_value6, sizeof(__pyx_k_value6), 0, 0, 1, 1},
+  {&__pyx_n_s_value7, __pyx_k_value7, sizeof(__pyx_k_value7), 0, 0, 1, 1},
+  {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
+  {&__pyx_n_s_volume_inside_cell, __pyx_k_volume_inside_cell, sizeof(__pyx_k_volume_inside_cell), 0, 0, 1, 1},
+  {&__pyx_kp_s_would_normally_reject_because_at, __pyx_k_would_normally_reject_because_at, sizeof(__pyx_k_would_normally_reject_because_at), 0, 0, 1, 0},
+  {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
+  {&__pyx_n_s_x0, __pyx_k_x0, sizeof(__pyx_k_x0), 0, 0, 1, 1},
+  {&__pyx_n_s_x1, __pyx_k_x1, sizeof(__pyx_k_x1), 0, 0, 1, 1},
+  {&__pyx_kp_s_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7, __pyx_k_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7, sizeof(__pyx_k_x_y_z_7f_7f_7f_x1_y1_z1_7f_7f_7), 0, 0, 1, 0},
+  {&__pyx_n_s_xbar, __pyx_k_xbar, sizeof(__pyx_k_xbar), 0, 0, 1, 1},
+  {&__pyx_n_s_xhi, __pyx_k_xhi, sizeof(__pyx_k_xhi), 0, 0, 1, 1},
+  {&__pyx_n_s_xlo, __pyx_k_xlo, sizeof(__pyx_k_xlo), 0, 0, 1, 1},
+  {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
+  {&__pyx_n_s_xs, __pyx_k_xs, sizeof(__pyx_k_xs), 0, 0, 1, 1},
+  {&__pyx_n_s_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 0, 1, 1},
+  {&__pyx_n_s_y0, __pyx_k_y0, sizeof(__pyx_k_y0), 0, 0, 1, 1},
+  {&__pyx_n_s_y1, __pyx_k_y1, sizeof(__pyx_k_y1), 0, 0, 1, 1},
+  {&__pyx_n_s_ybar, __pyx_k_ybar, sizeof(__pyx_k_ybar), 0, 0, 1, 1},
+  {&__pyx_n_s_yhi, __pyx_k_yhi, sizeof(__pyx_k_yhi), 0, 0, 1, 1},
+  {&__pyx_n_s_ylo, __pyx_k_ylo, sizeof(__pyx_k_ylo), 0, 0, 1, 1},
+  {&__pyx_n_s_ys, __pyx_k_ys, sizeof(__pyx_k_ys), 0, 0, 1, 1},
+  {&__pyx_n_s_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 0, 1, 1},
+  {&__pyx_n_s_z0, __pyx_k_z0, sizeof(__pyx_k_z0), 0, 0, 1, 1},
+  {&__pyx_n_s_z1, __pyx_k_z1, sizeof(__pyx_k_z1), 0, 0, 1, 1},
+  {&__pyx_n_s_zbar, __pyx_k_zbar, sizeof(__pyx_k_zbar), 0, 0, 1, 1},
+  {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},
+  {&__pyx_n_s_zhi, __pyx_k_zhi, sizeof(__pyx_k_zhi), 0, 0, 1, 1},
+  {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
+  {&__pyx_n_s_zlo, __pyx_k_zlo, sizeof(__pyx_k_zlo), 0, 0, 1, 1},
+  {&__pyx_n_s_zs, __pyx_k_zs, sizeof(__pyx_k_zs), 0, 0, 1, 1},
+  {0, 0, 0, 0, 0, 0, 0}
+};
+static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
+  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 121, __pyx_L1_error)
+  __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_n_s_min); if (!__pyx_builtin_min) __PYX_ERR(0, 104, __pyx_L1_error)
+  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 141, __pyx_L1_error)
+  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 220, __pyx_L1_error)
+  __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 300, __pyx_L1_error)
+  #if PY_MAJOR_VERSION >= 3
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) __PYX_ERR(0, 316, __pyx_L1_error)
+  #else
+  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) __PYX_ERR(0, 316, __pyx_L1_error)
+  #endif
+  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error)
+  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 855, __pyx_L1_error)
+  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1037, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":515
+ *         sixtimesvolume += local_vol
+ *         if numpy.isnan(local_vol):
+ *             print 'tri_volume exception:',             # <<<<<<<<<<<<<<
+ *             for j in range(i, i + 9):
+ *                 print triangles[j],
+ */
+  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_tri_volume_exception); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 515, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__2);
+  __Pyx_GIVEREF(__pyx_tuple__2);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":272
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 272, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__3);
+  __Pyx_GIVEREF(__pyx_tuple__3);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":276
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 276, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__4);
+  __Pyx_GIVEREF(__pyx_tuple__4);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":306
+ *                 if ((descr.byteorder == c'>' and little_endian) or
+ *                     (descr.byteorder == c'<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 306, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__5);
+  __Pyx_GIVEREF(__pyx_tuple__5);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":855
+ * 
+ *         if (end - f) - <int>(new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == c'>' and little_endian) or
+ */
+  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 855, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__6);
+  __Pyx_GIVEREF(__pyx_tuple__6);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":879
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 879, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__7);
+  __Pyx_GIVEREF(__pyx_tuple__7);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1037
+ *         _import_array()
+ *     except Exception:
+ *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_umath() except -1:
+ */
+  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 1037, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__8);
+  __Pyx_GIVEREF(__pyx_tuple__8);
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1043
+ *         _import_umath()
+ *     except Exception:
+ *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline int import_ufunc() except -1:
+ */
+  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 1043, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__9);
+  __Pyx_GIVEREF(__pyx_tuple__9);
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":26
+ * 
+ * 
+ * def _register_on_neighbor_map(the_map, pt, neighbor):             # <<<<<<<<<<<<<<
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:
+ */
+  __pyx_tuple__10 = PyTuple_Pack(3, __pyx_n_s_the_map, __pyx_n_s_pt, __pyx_n_s_neighbor); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 26, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__10);
+  __Pyx_GIVEREF(__pyx_tuple__10);
+  __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_surfaces_pyx, __pyx_n_s_register_on_neighbor_map, 26, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 26, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":42
+ * @cython.wraparound(False)
+ * #cdef bint contains_surface(int i, int j, int k, objdist, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, double dx, double r_inner, double r_outer, bint reject_if_outside, bint print_reject_reason=False):
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):             # <<<<<<<<<<<<<<
+ *     cdef bint has_neg = False
+ *     cdef bint has_pos = False
+ */
+  __pyx_tuple__12 = PyTuple_Pack(21, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_objdist, __pyx_n_s_xs, __pyx_n_s_ys, __pyx_n_s_zs, __pyx_n_s_dx, __pyx_n_s_r_inner, __pyx_n_s_r_outer, __pyx_n_s_reject_if_outside, __pyx_n_s_print_reject_reason, __pyx_n_s_has_neg, __pyx_n_s_has_pos, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_xbar, __pyx_n_s_ybar, __pyx_n_s_zbar, __pyx_n_s_d); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 42, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__12);
+  __Pyx_GIVEREF(__pyx_tuple__12);
+  __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(12, 0, 21, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_surfaces_pyx, __pyx_n_s_contains_surface, 42, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 42, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":88
+ * @cython.wraparound(False)
+ * #cdef int process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint print_values=False):
+ * def process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint store_areas=False, numpy.ndarray[numpy.float_t, ndim=3] areas=None, bint print_values=False):             # <<<<<<<<<<<<<<
+ *     cdef int new_index
+ *     cdef double x, y, z, x1, y1, z1
+ */
+  __pyx_tuple__14 = PyTuple_Pack(30, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_objects, __pyx_n_s_xs, __pyx_n_s_ys, __pyx_n_s_zs, __pyx_n_s_tridata, __pyx_n_s_start, __pyx_n_s_store_areas, __pyx_n_s_areas, __pyx_n_s_print_values, __pyx_n_s_new_index, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_x1, __pyx_n_s_y1, __pyx_n_s_z1, __pyx_n_s_position, __pyx_n_s_value0, __pyx_n_s_value1, __pyx_n_s_value2, __pyx_n_s_value3, __pyx_n_s_value4, __pyx_n_s_value5, __pyx_n_s_value6, __pyx_n_s_value7, __pyx_n_s_p, __pyx_n_s_objdist); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 88, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__14);
+  __Pyx_GIVEREF(__pyx_tuple__14);
+  __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(12, 0, 30, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_surfaces_pyx, __pyx_n_s_process_cell, 88, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 88, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":128
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):             # <<<<<<<<<<<<<<
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ */
+  __pyx_tuple__16 = PyTuple_Pack(37, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_k, __pyx_n_s_objects, __pyx_n_s_xs, __pyx_n_s_ys, __pyx_n_s_zs, __pyx_n_s_x0, __pyx_n_s_y0, __pyx_n_s_z0, __pyx_n_s_x1, __pyx_n_s_y1, __pyx_n_s_z1, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_local_xs, __pyx_n_s_local_ys, __pyx_n_s_local_zs, __pyx_n_s_data, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_i1, __pyx_n_s_j1, __pyx_n_s_k1, __pyx_n_s_tridata, __pyx_n_s_start, __pyx_n_s_value0, __pyx_n_s_value1, __pyx_n_s_value2, __pyx_n_s_value3, __pyx_n_s_value4, __pyx_n_s_value5, __pyx_n_s_value6, __pyx_n_s_value7, __pyx_n_s_objdist); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 128, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_tuple__16);
+  __Pyx_GIVEREF(__pyx_tuple__16);
+  __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(7, 0, 37, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_surfaces_pyx, __pyx_n_s_volume_inside_cell, 128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 128, __pyx_L1_error)
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
+  __pyx_umethod_PyDict_Type_keys.type = (PyObject*)&PyDict_Type;
+  __pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type;
+  __pyx_umethod_PyList_Type_pop.type = (PyObject*)&PyList_Type;
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_float_2_ = PyFloat_FromDouble(2.); if (unlikely(!__pyx_float_2_)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_50 = PyInt_FromLong(50); if (unlikely(!__pyx_int_50)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_1215 = PyInt_FromLong(1215); if (unlikely(!__pyx_int_1215)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_9999 = PyInt_FromLong(9999); if (unlikely(!__pyx_int_9999)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_10000000 = PyInt_FromLong(10000000L); if (unlikely(!__pyx_int_10000000)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_int_neg_2 = PyInt_FromLong(-2); if (unlikely(!__pyx_int_neg_2)) __PYX_ERR(0, 1, __pyx_L1_error)
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
+
+static int __Pyx_modinit_global_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
+  /*--- Global init code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_variable_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
+  /*--- Variable export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_export_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
+  /*--- Function export code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_type_init_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
+  /*--- Type init code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_type_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
+  /*--- Type import code ---*/
+  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_0_29_36(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
+  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
+  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyTypeObject),
+  #else
+  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyHeapTypeObject),
+  #endif
+  __Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_5numpy_dtype = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArray_Descr),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error)
+  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayIterObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error)
+  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayMultiIterObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error)
+  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyArrayObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error)
+  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType_0_29_36(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(PyUFuncObject),__Pyx_ImportType_CheckSize_Ignore_0_29_36); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 917, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_modinit_variable_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
+  /*--- Variable import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+static int __Pyx_modinit_function_import_code(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
+  /*--- Function import code ---*/
+  __Pyx_RefNannyFinishContext();
+  return 0;
+}
+
+
+#ifndef CYTHON_NO_PYINIT_EXPORT
+#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
+#elif PY_MAJOR_VERSION < 3
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" void
+#else
+#define __Pyx_PyMODINIT_FUNC void
+#endif
+#else
+#ifdef __cplusplus
+#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
+#else
+#define __Pyx_PyMODINIT_FUNC PyObject *
+#endif
+#endif
+
+
+#if PY_MAJOR_VERSION < 3
+__Pyx_PyMODINIT_FUNC initsurfaces(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC initsurfaces(void)
+#else
+__Pyx_PyMODINIT_FUNC PyInit_surfaces(void) CYTHON_SMALL_CODE; /*proto*/
+__Pyx_PyMODINIT_FUNC PyInit_surfaces(void)
+#if CYTHON_PEP489_MULTI_PHASE_INIT
+{
+  return PyModuleDef_Init(&__pyx_moduledef);
+}
+static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
+    #if PY_VERSION_HEX >= 0x030700A1
+    static PY_INT64_T main_interpreter_id = -1;
+    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
+    if (main_interpreter_id == -1) {
+        main_interpreter_id = current_id;
+        return (unlikely(current_id == -1)) ? -1 : 0;
+    } else if (unlikely(main_interpreter_id != current_id))
+    #else
+    static PyInterpreterState *main_interpreter = NULL;
+    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
+    if (!main_interpreter) {
+        main_interpreter = current_interpreter;
+    } else if (unlikely(main_interpreter != current_interpreter))
+    #endif
+    {
+        PyErr_SetString(
+            PyExc_ImportError,
+            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
+        return -1;
+    }
+    return 0;
+}
+static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
+    PyObject *value = PyObject_GetAttrString(spec, from_name);
+    int result = 0;
+    if (likely(value)) {
+        if (allow_none || value != Py_None) {
+            result = PyDict_SetItemString(moddict, to_name, value);
+        }
+        Py_DECREF(value);
+    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
+        PyErr_Clear();
+    } else {
+        result = -1;
+    }
+    return result;
+}
+static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
+    PyObject *module = NULL, *moddict, *modname;
+    if (__Pyx_check_single_interpreter())
+        return NULL;
+    if (__pyx_m)
+        return __Pyx_NewRef(__pyx_m);
+    modname = PyObject_GetAttrString(spec, "name");
+    if (unlikely(!modname)) goto bad;
+    module = PyModule_NewObject(modname);
+    Py_DECREF(modname);
+    if (unlikely(!module)) goto bad;
+    moddict = PyModule_GetDict(module);
+    if (unlikely(!moddict)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
+    return module;
+bad:
+    Py_XDECREF(module);
+    return NULL;
+}
+
+
+static CYTHON_SMALL_CODE int __pyx_pymod_exec_surfaces(PyObject *__pyx_pyinit_module)
+#endif
+#endif
+{
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  long __pyx_t_4;
+  long __pyx_t_5;
+  long __pyx_t_6;
+  PyObject *__pyx_t_7 = NULL;
+  PyObject *__pyx_t_8 = NULL;
+  PyObject *__pyx_t_9 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannyDeclarations
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  if (__pyx_m) {
+    if (__pyx_m == __pyx_pyinit_module) return 0;
+    PyErr_SetString(PyExc_RuntimeError, "Module 'surfaces' has already been imported. Re-initialisation is not supported.");
+    return -1;
+  }
+  #elif PY_MAJOR_VERSION >= 3
+  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
+  #endif
+  #if CYTHON_REFNANNY
+__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
+if (!__Pyx_RefNanny) {
+  PyErr_Clear();
+  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
+  if (!__Pyx_RefNanny)
+      Py_FatalError("failed to import 'refnanny' module");
+}
+#endif
+  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_surfaces(void)", 0);
+  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pxy_PyFrame_Initialize_Offsets
+  __Pxy_PyFrame_Initialize_Offsets();
+  #endif
+  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #ifdef __Pyx_CyFunction_USED
+  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Coroutine_USED
+  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_Generator_USED
+  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_AsyncGen_USED
+  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  #ifdef __Pyx_StopAsyncIteration_USED
+  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  /*--- Library function declarations ---*/
+  /*--- Threads initialization code ---*/
+  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+  PyEval_InitThreads();
+  #endif
+  /*--- Module creation code ---*/
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  __pyx_m = __pyx_pyinit_module;
+  Py_INCREF(__pyx_m);
+  #else
+  #if PY_MAJOR_VERSION < 3
+  __pyx_m = Py_InitModule4("surfaces", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
+  #else
+  __pyx_m = PyModule_Create(&__pyx_moduledef);
+  #endif
+  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_d);
+  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_b);
+  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
+  Py_INCREF(__pyx_cython_runtime);
+  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Initialize various global constants etc. ---*/
+  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
+  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+  if (__pyx_module_is_main_neuron__rxd__geometry3d__surfaces) {
+    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  }
+  #if PY_MAJOR_VERSION >= 3
+  {
+    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
+    if (!PyDict_GetItemString(modules, "neuron.rxd.geometry3d.surfaces")) {
+      if (unlikely(PyDict_SetItemString(modules, "neuron.rxd.geometry3d.surfaces", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+    }
+  }
+  #endif
+  /*--- Builtin init code ---*/
+  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Constants init code ---*/
+  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  /*--- Global type/function init code ---*/
+  (void)__Pyx_modinit_global_init_code();
+  (void)__Pyx_modinit_variable_export_code();
+  (void)__Pyx_modinit_function_export_code();
+  (void)__Pyx_modinit_type_init_code();
+  if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
+  (void)__Pyx_modinit_variable_import_code();
+  (void)__Pyx_modinit_function_import_code();
+  /*--- Execution code ---*/
+  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
+  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  #endif
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":1
+ * import os             # <<<<<<<<<<<<<<
+ * import numpy
+ * import graphicsPrimitives
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":2
+ * import os
+ * import numpy             # <<<<<<<<<<<<<<
+ * import graphicsPrimitives
+ * import neuron
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":3
+ * import os
+ * import numpy
+ * import graphicsPrimitives             # <<<<<<<<<<<<<<
+ * import neuron
+ * import numpy
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_graphicsPrimitives, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_graphicsPrimitives, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":4
+ * import numpy
+ * import graphicsPrimitives
+ * import neuron             # <<<<<<<<<<<<<<
+ * import numpy
+ * cimport numpy
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_neuron, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_neuron, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":5
+ * import graphicsPrimitives
+ * import neuron
+ * import numpy             # <<<<<<<<<<<<<<
+ * cimport numpy
+ * import itertools
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_1) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":7
+ * import numpy
+ * cimport numpy
+ * import itertools             # <<<<<<<<<<<<<<
+ * import bisect
+ * cimport cython
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_itertools, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":8
+ * cimport numpy
+ * import itertools
+ * import bisect             # <<<<<<<<<<<<<<
+ * cimport cython
+ * 
+ */
+  __pyx_t_1 = __Pyx_Import(__pyx_n_s_bisect, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_bisect, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":26
+ * 
+ * 
+ * def _register_on_neighbor_map(the_map, pt, neighbor):             # <<<<<<<<<<<<<<
+ *     # does not assume neighbor relations are bidirectional
+ *     if pt in the_map:
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_1_register_on_neighbor_map, NULL, __pyx_n_s_neuron_rxd_geometry3d_surfaces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_register_on_neighbor_map, __pyx_t_1) < 0) __PYX_ERR(0, 26, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":34
+ * 
+ * 
+ * max_chunks = 10000000             # <<<<<<<<<<<<<<
+ * 
+ * cdef int total_surface_tests = 0
+ */
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_max_chunks, __pyx_int_10000000) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":36
+ * max_chunks = 10000000
+ * 
+ * cdef int total_surface_tests = 0             # <<<<<<<<<<<<<<
+ * cdef int corner_tests = 0
+ * 
+ */
+  __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_total_surface_tests = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":37
+ * 
+ * cdef int total_surface_tests = 0
+ * cdef int corner_tests = 0             # <<<<<<<<<<<<<<
+ * 
+ * @cython.boundscheck(False)
+ */
+  __pyx_v_6neuron_3rxd_10geometry3d_8surfaces_corner_tests = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":42
+ * @cython.wraparound(False)
+ * #cdef bint contains_surface(int i, int j, int k, objdist, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, double dx, double r_inner, double r_outer, bint reject_if_outside, bint print_reject_reason=False):
+ * def contains_surface(i, j, k, objdist, xs, ys, zs, dx, r_inner, r_outer, reject_if_outside, bint print_reject_reason=False):             # <<<<<<<<<<<<<<
+ *     cdef bint has_neg = False
+ *     cdef bint has_pos = False
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_3contains_surface, NULL, __pyx_n_s_neuron_rxd_geometry3d_surfaces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_contains_surface, __pyx_t_1) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":88
+ * @cython.wraparound(False)
+ * #cdef int process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint print_values=False):
+ * def process_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs, numpy.ndarray[numpy.float_t, ndim=1] tridata, int start, bint store_areas=False, numpy.ndarray[numpy.float_t, ndim=3] areas=None, bint print_values=False):             # <<<<<<<<<<<<<<
+ *     cdef int new_index
+ *     cdef double x, y, z, x1, y1, z1
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_5process_cell, NULL, __pyx_n_s_neuron_rxd_geometry3d_surfaces); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_cell, __pyx_t_1) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":120
+ * 
+ * # a matrix whose values are unambiguously outside the object
+ * big_number_matrix = numpy.zeros([4, 4, 4])             # <<<<<<<<<<<<<<
+ * for i in range(4):
+ *     for j in range(4):
+ */
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_numpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(__pyx_int_4);
+  __Pyx_GIVEREF(__pyx_int_4);
+  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_4);
+  __Pyx_INCREF(__pyx_int_4);
+  __Pyx_GIVEREF(__pyx_int_4);
+  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_4);
+  __Pyx_INCREF(__pyx_int_4);
+  __Pyx_GIVEREF(__pyx_int_4);
+  PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_4);
+  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_big_number_matrix, __pyx_t_3) < 0) __PYX_ERR(0, 120, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":121
+ * # a matrix whose values are unambiguously outside the object
+ * big_number_matrix = numpy.zeros([4, 4, 4])
+ * for i in range(4):             # <<<<<<<<<<<<<<
+ *     for j in range(4):
+ *         for k in range(4):
+ */
+  for (__pyx_t_4 = 0; __pyx_t_4 < 4; __pyx_t_4+=1) {
+    __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error)
+    __Pyx_GOTREF(__pyx_t_3);
+    if (PyDict_SetItem(__pyx_d, __pyx_n_s_i, __pyx_t_3) < 0) __PYX_ERR(0, 121, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+    /* "neuron/rxd/geometry3d/surfaces.pyx":122
+ * big_number_matrix = numpy.zeros([4, 4, 4])
+ * for i in range(4):
+ *     for j in range(4):             # <<<<<<<<<<<<<<
+ *         for k in range(4):
+ *             big_number_matrix[i, j, k] = 9999 + i * 16 + j * 4 + k
+ */
+    for (__pyx_t_5 = 0; __pyx_t_5 < 4; __pyx_t_5+=1) {
+      __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
+      __Pyx_GOTREF(__pyx_t_3);
+      if (PyDict_SetItem(__pyx_d, __pyx_n_s_j, __pyx_t_3) < 0) __PYX_ERR(0, 122, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+      /* "neuron/rxd/geometry3d/surfaces.pyx":123
+ * for i in range(4):
+ *     for j in range(4):
+ *         for k in range(4):             # <<<<<<<<<<<<<<
+ *             big_number_matrix[i, j, k] = 9999 + i * 16 + j * 4 + k
+ * 
+ */
+      for (__pyx_t_6 = 0; __pyx_t_6 < 4; __pyx_t_6+=1) {
+        __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        if (PyDict_SetItem(__pyx_d, __pyx_n_s_k, __pyx_t_3) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+        /* "neuron/rxd/geometry3d/surfaces.pyx":124
+ *     for j in range(4):
+ *         for k in range(4):
+ *             big_number_matrix[i, j, k] = 9999 + i * 16 + j * 4 + k             # <<<<<<<<<<<<<<
+ * 
+ * @cython.boundscheck(False)
+ */
+        __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, __pyx_int_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __pyx_t_3 = __Pyx_PyInt_AddCObj(__pyx_int_9999, __pyx_t_1, 0x270F, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_int_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_k); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_3);
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_big_number_matrix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_1);
+        __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_j); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_7);
+        __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_k); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_8);
+        __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GIVEREF(__pyx_t_1);
+        PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1);
+        __Pyx_GIVEREF(__pyx_t_7);
+        PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_7);
+        __Pyx_GIVEREF(__pyx_t_8);
+        PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_8);
+        __pyx_t_1 = 0;
+        __pyx_t_7 = 0;
+        __pyx_t_8 = 0;
+        if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_9, __pyx_t_3) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      }
+    }
+  }
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":128
+ * @cython.boundscheck(False)
+ * @cython.wraparound(False)
+ * def volume_inside_cell(int i, int j, int k, list objects, numpy.ndarray[numpy.float_t, ndim=1] xs, numpy.ndarray[numpy.float_t, ndim=1] ys, numpy.ndarray[numpy.float_t, ndim=1] zs):             # <<<<<<<<<<<<<<
+ *     cdef double x0 = xs[i], y0 = ys[j], z0 = zs[k]
+ *     cdef double x1 = xs[i + 1], y1 = ys[j + 1], z1 = zs[k + 1]
+ */
+  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_6neuron_3rxd_10geometry3d_8surfaces_7volume_inside_cell, NULL, __pyx_n_s_neuron_rxd_geometry3d_surfaces); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_volume_inside_cell, __pyx_t_3) < 0) __PYX_ERR(0, 128, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "neuron/rxd/geometry3d/surfaces.pyx":1
+ * import os             # <<<<<<<<<<<<<<
+ * import numpy
+ * import graphicsPrimitives
+ */
+  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_3);
+  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+  /* "../../../../../../../../../../../usr/lib/python3/dist-packages/Cython/Includes/numpy/__init__.pxd":1045
+ *         raise ImportError("numpy.core.umath failed to import")
+ * 
+ * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
+ *     try:
+ *         _import_umath()
+ */
+
+  /*--- Wrapped vars code ---*/
+
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
+  if (__pyx_m) {
+    if (__pyx_d) {
+      __Pyx_AddTraceback("init neuron.rxd.geometry3d.surfaces", __pyx_clineno, __pyx_lineno, __pyx_filename);
+    }
+    Py_CLEAR(__pyx_m);
+  } else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_ImportError, "init neuron.rxd.geometry3d.surfaces");
+  }
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  #if CYTHON_PEP489_MULTI_PHASE_INIT
+  return (__pyx_m != NULL) ? 0 : -1;
+  #elif PY_MAJOR_VERSION >= 3
+  return __pyx_m;
+  #else
+  return;
+  #endif
+}
+
+/* --- Runtime support code --- */
+/* Refnanny */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule(modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, "RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif
+
+/* PyObjectGetAttrStr */
+#if CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
+    PyTypeObject* tp = Py_TYPE(obj);
+    if (likely(tp->tp_getattro))
+        return tp->tp_getattro(obj, attr_name);
+#if PY_MAJOR_VERSION < 3
+    if (likely(tp->tp_getattr))
+        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
+#endif
+    return PyObject_GetAttr(obj, attr_name);
+}
+#endif
+
+/* GetBuiltinName */
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
+    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
+    if (unlikely(!result)) {
+        PyErr_Format(PyExc_NameError,
+#if PY_MAJOR_VERSION >= 3
+            "name '%U' is not defined", name);
+#else
+            "name '%.200s' is not defined", PyString_AS_STRING(name));
+#endif
+    }
+    return result;
+}
+
+/* RaiseArgTupleInvalid */
+static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+/* RaiseDoubleKeywords */
+static void __Pyx_RaiseDoubleKeywordsError(
+    const char* func_name,
+    PyObject* kw_name)
+{
+    PyErr_Format(PyExc_TypeError,
+        #if PY_MAJOR_VERSION >= 3
+        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+        #else
+        "%s() got multiple values for keyword argument '%s'", func_name,
+        PyString_AsString(kw_name));
+        #endif
+}
+
+/* ParseKeywords */
+static int __Pyx_ParseOptionalKeywords(
+    PyObject *kwds,
+    PyObject **argnames[],
+    PyObject *kwds2,
+    PyObject *values[],
+    Py_ssize_t num_pos_args,
+    const char* function_name)
+{
+    PyObject *key = 0, *value = 0;
+    Py_ssize_t pos = 0;
+    PyObject*** name;
+    PyObject*** first_kw_arg = argnames + num_pos_args;
+    while (PyDict_Next(kwds, &pos, &key, &value)) {
+        name = first_kw_arg;
+        while (*name && (**name != key)) name++;
+        if (*name) {
+            values[name-argnames] = value;
+            continue;
+        }
+        name = first_kw_arg;
+        #if PY_MAJOR_VERSION < 3
+        if (likely(PyString_Check(key))) {
+            while (*name) {
+                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
+                        && _PyString_Eq(**name, key)) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    if ((**argname == key) || (
+                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
+                             && _PyString_Eq(**argname, key))) {
+                        goto arg_passed_twice;
+                    }
+                    argname++;
+                }
+            }
+        } else
+        #endif
+        if (likely(PyUnicode_Check(key))) {
+            while (*name) {
+                int cmp = (**name == key) ? 0 :
+                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                #endif
+                    PyUnicode_Compare(**name, key);
+                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                if (cmp == 0) {
+                    values[name-argnames] = value;
+                    break;
+                }
+                name++;
+            }
+            if (*name) continue;
+            else {
+                PyObject*** argname = argnames;
+                while (argname != first_kw_arg) {
+                    int cmp = (**argname == key) ? 0 :
+                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
+                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
+                    #endif
+                        PyUnicode_Compare(**argname, key);
+                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
+                    if (cmp == 0) goto arg_passed_twice;
+                    argname++;
+                }
+            }
+        } else
+            goto invalid_keyword_type;
+        if (kwds2) {
+            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+        } else {
+            goto invalid_keyword;
+        }
+    }
+    return 0;
+arg_passed_twice:
+    __Pyx_RaiseDoubleKeywordsError(function_name, key);
+    goto bad;
+invalid_keyword_type:
+    PyErr_Format(PyExc_TypeError,
+        "%.200s() keywords must be strings", function_name);
+    goto bad;
+invalid_keyword:
+    PyErr_Format(PyExc_TypeError,
+    #if PY_MAJOR_VERSION < 3
+        "%.200s() got an unexpected keyword argument '%.200s'",
+        function_name, PyString_AsString(key));
+    #else
+        "%s() got an unexpected keyword argument '%U'",
+        function_name, key);
+    #endif
+bad:
+    return -1;
+}
+
+/* PyCFunctionFastCall */
+#if CYTHON_FAST_PYCCALL
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
+    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
+    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
+    PyObject *self = PyCFunction_GET_SELF(func);
+    int flags = PyCFunction_GET_FLAGS(func);
+    assert(PyCFunction_Check(func));
+    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
+    assert(nargs >= 0);
+    assert(nargs == 0 || args != NULL);
+    /* _PyCFunction_FastCallDict() must not be called with an exception set,
+       because it may clear it (directly or indirectly) and so the
+       caller loses its exception */
+    assert(!PyErr_Occurred());
+    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
+        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
+    } else {
+        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
+    }
+}
+#endif
+
+/* PyFunctionFastCall */
+#if CYTHON_FAST_PYCALL
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
+                                               PyObject *globals) {
+    PyFrameObject *f;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject **fastlocals;
+    Py_ssize_t i;
+    PyObject *result;
+    assert(globals != NULL);
+    /* XXX Perhaps we should create a specialized
+       PyFrame_New() that doesn't take locals, but does
+       take builtins without sanity checking them.
+       */
+    assert(tstate != NULL);
+    f = PyFrame_New(tstate, co, globals, NULL);
+    if (f == NULL) {
+        return NULL;
+    }
+    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
+    for (i = 0; i < na; i++) {
+        Py_INCREF(*args);
+        fastlocals[i] = *args++;
+    }
+    result = PyEval_EvalFrameEx(f,0);
+    ++tstate->recursion_depth;
+    Py_DECREF(f);
+    --tstate->recursion_depth;
+    return result;
+}
+#if 1 || PY_VERSION_HEX < 0x030600B1
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
+    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
+    PyObject *globals = PyFunction_GET_GLOBALS(func);
+    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
+    PyObject *closure;
+#if PY_MAJOR_VERSION >= 3
+    PyObject *kwdefs;
+#endif
+    PyObject *kwtuple, **k;
+    PyObject **d;
+    Py_ssize_t nd;
+    Py_ssize_t nk;
+    PyObject *result;
+    assert(kwargs == NULL || PyDict_Check(kwargs));
+    nk = kwargs ? PyDict_Size(kwargs) : 0;
+    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
+        return NULL;
+    }
+    if (
+#if PY_MAJOR_VERSION >= 3
+            co->co_kwonlyargcount == 0 &&
+#endif
+            likely(kwargs == NULL || nk == 0) &&
+            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
+        if (argdefs == NULL && co->co_argcount == nargs) {
+            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
+            goto done;
+        }
+        else if (nargs == 0 && argdefs != NULL
+                 && co->co_argcount == Py_SIZE(argdefs)) {
+            /* function called with no arguments, but all parameters have
+               a default value: use default values as arguments .*/
+            args = &PyTuple_GET_ITEM(argdefs, 0);
+            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
+            goto done;
+        }
+    }
+    if (kwargs != NULL) {
+        Py_ssize_t pos, i;
+        kwtuple = PyTuple_New(2 * nk);
+        if (kwtuple == NULL) {
+            result = NULL;
+            goto done;
+        }
+        k = &PyTuple_GET_ITEM(kwtuple, 0);
+        pos = i = 0;
+        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
+            Py_INCREF(k[i]);
+            Py_INCREF(k[i+1]);
+            i += 2;
+        }
+        nk = i / 2;
+    }
+    else {
+        kwtuple = NULL;
+        k = NULL;
+    }
+    closure = PyFunction_GET_CLOSURE(func);
+#if PY_MAJOR_VERSION >= 3
+    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
+#endif
+    if (argdefs != NULL) {
+        d = &PyTuple_GET_ITEM(argdefs, 0);
+        nd = Py_SIZE(argdefs);
+    }
+    else {
+        d = NULL;
+        nd = 0;
+    }
+#if PY_MAJOR_VERSION >= 3
+    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, kwdefs, closure);
+#else
+    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
+                               args, (int)nargs,
+                               k, (int)nk,
+                               d, (int)nd, closure);
+#endif
+    Py_XDECREF(kwtuple);
+done:
+    Py_LeaveRecursiveCall();
+    return result;
+}
+#endif
+#endif
+
+/* PyObjectCall */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+    PyObject *result;
+    ternaryfunc call = Py_TYPE(func)->tp_call;
+    if (unlikely(!call))
+        return PyObject_Call(func, arg, kw);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = (*call)(func, arg, kw);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCall2Args */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+    PyObject *args, *result = NULL;
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyFunction_FastCall(function, args, 2);
+    }
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyCFunction_FastCall(function, args, 2);
+    }
+    #endif
+    args = PyTuple_New(2);
+    if (unlikely(!args)) goto done;
+    Py_INCREF(arg1);
+    PyTuple_SET_ITEM(args, 0, arg1);
+    Py_INCREF(arg2);
+    PyTuple_SET_ITEM(args, 1, arg2);
+    Py_INCREF(function);
+    result = __Pyx_PyObject_Call(function, args, NULL);
+    Py_DECREF(args);
+    Py_DECREF(function);
+done:
+    return result;
+}
+
+/* PyObjectCallMethO */
+#if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
+    PyObject *self, *result;
+    PyCFunction cfunc;
+    cfunc = PyCFunction_GET_FUNCTION(func);
+    self = PyCFunction_GET_SELF(func);
+    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+        return NULL;
+    result = cfunc(self, arg);
+    Py_LeaveRecursiveCall();
+    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
+        PyErr_SetString(
+            PyExc_SystemError,
+            "NULL result without error in PyObject_Call");
+    }
+    return result;
+}
+#endif
+
+/* PyObjectCallOneArg */
+#if CYTHON_COMPILING_IN_CPYTHON
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_New(1);
+    if (unlikely(!args)) return NULL;
+    Py_INCREF(arg);
+    PyTuple_SET_ITEM(args, 0, arg);
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+#if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(func)) {
+        return __Pyx_PyFunction_FastCall(func, &arg, 1);
+    }
+#endif
+    if (likely(PyCFunction_Check(func))) {
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+            return __Pyx_PyObject_CallMethO(func, arg);
+#if CYTHON_FAST_PYCCALL
+        } else if (__Pyx_PyFastCFunction_Check(func)) {
+            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
+#endif
+        }
+    }
+    return __Pyx__PyObject_CallOneArg(func, arg);
+}
+#else
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
+    PyObject *result;
+    PyObject *args = PyTuple_Pack(1, arg);
+    if (unlikely(!args)) return NULL;
+    result = __Pyx_PyObject_Call(func, args, NULL);
+    Py_DECREF(args);
+    return result;
+}
+#endif
+
+/* PyObjectGetMethod */
+static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
+    PyObject *attr;
+#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
+    PyTypeObject *tp = Py_TYPE(obj);
+    PyObject *descr;
+    descrgetfunc f = NULL;
+    PyObject **dictptr, *dict;
+    int meth_found = 0;
+    assert (*method == NULL);
+    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
+        attr = __Pyx_PyObject_GetAttrStr(obj, name);
+        goto try_unpack;
+    }
+    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
+        return 0;
+    }
+    descr = _PyType_Lookup(tp, name);
+    if (likely(descr != NULL)) {
+        Py_INCREF(descr);
+#if PY_MAJOR_VERSION >= 3
+        #ifdef __Pyx_CyFunction_USED
+        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
+        #else
+        if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
+        #endif
+#else
+        #ifdef __Pyx_CyFunction_USED
+        if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
+        #else
+        if (likely(PyFunction_Check(descr)))
+        #endif
+#endif
+        {
+            meth_found = 1;
+        } else {
+            f = Py_TYPE(descr)->tp_descr_get;
+            if (f != NULL && PyDescr_IsData(descr)) {
+                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+                Py_DECREF(descr);
+                goto try_unpack;
+            }
+        }
+    }
+    dictptr = _PyObject_GetDictPtr(obj);
+    if (dictptr != NULL && (dict = *dictptr) != NULL) {
+        Py_INCREF(dict);
+        attr = __Pyx_PyDict_GetItemStr(dict, name);
+        if (attr != NULL) {
+            Py_INCREF(attr);
+            Py_DECREF(dict);
+            Py_XDECREF(descr);
+            goto try_unpack;
+        }
+        Py_DECREF(dict);
+    }
+    if (meth_found) {
+        *method = descr;
+        return 1;
+    }
+    if (f != NULL) {
+        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
+        Py_DECREF(descr);
+        goto try_unpack;
+    }
+    if (descr != NULL) {
+        *method = descr;
+        return 0;
+    }
+    PyErr_Format(PyExc_AttributeError,
+#if PY_MAJOR_VERSION >= 3
+                 "'%.50s' object has no attribute '%U'",
+                 tp->tp_name, name);
+#else
+                 "'%.50s' object has no attribute '%.400s'",
+                 tp->tp_name, PyString_AS_STRING(name));
+#endif
+    return 0;
+#else
+    attr = __Pyx_PyObject_GetAttrStr(obj, name);
+    goto try_unpack;
+#endif
+try_unpack:
+#if CYTHON_UNPACK_METHODS
+    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
+        PyObject *function = PyMethod_GET_FUNCTION(attr);
+        Py_INCREF(function);
+        Py_DECREF(attr);
+        *method = function;
+        return 1;
+    }
+#endif
+    *method = attr;
+    return 0;
+}
+
+/* PyObjectCallMethod1 */
+static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
+    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
+    Py_DECREF(method);
+    return result;
+}
+static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
+    PyObject *method = NULL, *result;
+    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
+    if (likely(is_method)) {
+        result = __Pyx_PyObject_Call2Args(method, obj, arg);
+        Py_DECREF(method);
+        return result;
+    }
+    if (unlikely(!method)) return NULL;
+    return __Pyx__PyObject_CallMethod1(method, arg);
+}
+
+/* append */
+static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
+    if (likely(PyList_CheckExact(L))) {
+        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
+    } else {
+        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
+        if (unlikely(!retval))
+            return -1;
+        Py_DECREF(retval);
+    }
+    return 0;
+}
+
+/* GetItemInt */
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+    PyObject *r;
+    if (!j) return NULL;
+    r = PyObject_GetItem(o, j);
+    Py_DECREF(j);
+    return r;
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyList_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
+        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
+                                                              CYTHON_NCP_UNUSED int wraparound,
+                                                              CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+    Py_ssize_t wrapped_i = i;
+    if (wraparound & unlikely(i < 0)) {
+        wrapped_i += PyTuple_GET_SIZE(o);
+    }
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
+        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
+        Py_INCREF(r);
+        return r;
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+#else
+    return PySequence_GetItem(o, i);
+#endif
+}
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
+                                                     CYTHON_NCP_UNUSED int wraparound,
+                                                     CYTHON_NCP_UNUSED int boundscheck) {
+#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
+    if (is_list || PyList_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
+            PyObject *r = PyList_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (PyTuple_CheckExact(o)) {
+        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    } else {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_item)) {
+            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
+                Py_ssize_t l = m->sq_length(o);
+                if (likely(l >= 0)) {
+                    i += l;
+                } else {
+                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                        return NULL;
+                    PyErr_Clear();
+                }
+            }
+            return m->sq_item(o, i);
+        }
+    }
+#else
+    if (is_list || PySequence_Check(o)) {
+        return PySequence_GetItem(o, i);
+    }
+#endif
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+/* ObjectGetItem */
+#if CYTHON_USE_TYPE_SLOTS
+static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
+    PyObject *runerr = NULL;
+    Py_ssize_t key_value;
+    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
+    if (unlikely(!(m && m->sq_item))) {
+        PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);
+        return NULL;
+    }
+    key_value = __Pyx_PyIndex_AsSsize_t(index);
+    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
+        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
+    }
+    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
+        PyErr_Clear();
+        PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);
+    }
+    return NULL;
+}
+static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {
+    PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;
+    if (likely(m && m->mp_subscript)) {
+        return m->mp_subscript(obj, key);
+    }
+    return __Pyx_PyObject_GetIndex(obj, key);
+}
+#endif
+
+/* PyFloatBinop */
+#if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyFloat_DivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
+    const double b = floatval;
+    double a, result;
+    (void)inplace;
+    (void)zerodivision_check;
+    if (likely(PyFloat_CheckExact(op1))) {
+        a = PyFloat_AS_DOUBLE(op1);
+        
+    } else
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        a = (double) PyInt_AS_LONG(op1);
+        
+    } else
+    #endif
+    if (likely(PyLong_CheckExact(op1))) {
+        #if CYTHON_USE_PYLONG_INTERNALS
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        switch (size) {
+            case  0: a = 0.0; break;
+            case -1: a = -(double) digits[0]; break;
+            case  1: a = (double) digits[0]; break;
+            case -2:
+            case 2:
+                if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -2)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            case -3:
+            case 3:
+                if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -3)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            case -4:
+            case 4:
+                if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
+                    a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                    if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
+                        if (size == -4)
+                            a = -a;
+                        break;
+                    }
+                }
+                CYTHON_FALLTHROUGH;
+            default:
+        #else
+        {
+        #endif
+            a = PyLong_AsDouble(op1);
+            if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL;
+            
+        }
+    } else {
+        return (inplace ? __Pyx_PyNumber_InPlaceDivide(op1, op2) : __Pyx_PyNumber_Divide(op1, op2));
+    }
+        
+        PyFPE_START_PROTECT("divide", return NULL)
+        result = a / b;
+        PyFPE_END_PROTECT(result)
+        return PyFloat_FromDouble(result);
+}
+#endif
+
+/* PyIntBinop */
+  #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        const long b = intval;
+        long x;
+        long a = PyInt_AS_LONG(op1);
+            x = (long)((unsigned long)a + b);
+            if (likely((x^a) >= 0 || (x^b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_add(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op1))) {
+        const long b = intval;
+        long a, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG llb = intval;
+        PY_LONG_LONG lla, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            a = likely(size) ? digits[0] : 0;
+            if (size == -1) a = -a;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
+            }
+        }
+                x = a + b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla + llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op1)) {
+        const long b = intval;
+        double a = PyFloat_AS_DOUBLE(op1);
+            double result;
+            PyFPE_START_PROTECT("add", return NULL)
+            result = ((double)a) + (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
+}
+#endif
+
+/* SliceObject */
+  static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
+        Py_ssize_t cstart, Py_ssize_t cstop,
+        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
+        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
+#if CYTHON_USE_TYPE_SLOTS
+    PyMappingMethods* mp;
+#if PY_MAJOR_VERSION < 3
+    PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
+    if (likely(ms && ms->sq_slice)) {
+        if (!has_cstart) {
+            if (_py_start && (*_py_start != Py_None)) {
+                cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
+                if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+            } else
+                cstart = 0;
+        }
+        if (!has_cstop) {
+            if (_py_stop && (*_py_stop != Py_None)) {
+                cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
+                if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
+            } else
+                cstop = PY_SSIZE_T_MAX;
+        }
+        if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
+            Py_ssize_t l = ms->sq_length(obj);
+            if (likely(l >= 0)) {
+                if (cstop < 0) {
+                    cstop += l;
+                    if (cstop < 0) cstop = 0;
+                }
+                if (cstart < 0) {
+                    cstart += l;
+                    if (cstart < 0) cstart = 0;
+                }
+            } else {
+                if (!PyErr_ExceptionMatches(PyExc_OverflowError))
+                    goto bad;
+                PyErr_Clear();
+            }
+        }
+        return ms->sq_slice(obj, cstart, cstop);
+    }
+#endif
+    mp = Py_TYPE(obj)->tp_as_mapping;
+    if (likely(mp && mp->mp_subscript))
+#endif
+    {
+        PyObject* result;
+        PyObject *py_slice, *py_start, *py_stop;
+        if (_py_slice) {
+            py_slice = *_py_slice;
+        } else {
+            PyObject* owned_start = NULL;
+            PyObject* owned_stop = NULL;
+            if (_py_start) {
+                py_start = *_py_start;
+            } else {
+                if (has_cstart) {
+                    owned_start = py_start = PyInt_FromSsize_t(cstart);
+                    if (unlikely(!py_start)) goto bad;
+                } else
+                    py_start = Py_None;
+            }
+            if (_py_stop) {
+                py_stop = *_py_stop;
+            } else {
+                if (has_cstop) {
+                    owned_stop = py_stop = PyInt_FromSsize_t(cstop);
+                    if (unlikely(!py_stop)) {
+                        Py_XDECREF(owned_start);
+                        goto bad;
+                    }
+                } else
+                    py_stop = Py_None;
+            }
+            py_slice = PySlice_New(py_start, py_stop, Py_None);
+            Py_XDECREF(owned_start);
+            Py_XDECREF(owned_stop);
+            if (unlikely(!py_slice)) goto bad;
+        }
+#if CYTHON_USE_TYPE_SLOTS
+        result = mp->mp_subscript(obj, py_slice);
+#else
+        result = PyObject_GetItem(obj, py_slice);
+#endif
+        if (!_py_slice) {
+            Py_DECREF(py_slice);
+        }
+        return result;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
+bad:
+    return NULL;
+}
+
+/* ArgTypeTest */
+  static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
+{
+    if (unlikely(!type)) {
+        PyErr_SetString(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    else if (exact) {
+        #if PY_MAJOR_VERSION == 2
+        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
+        #endif
+    }
+    else {
+        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
+        name, type->tp_name, Py_TYPE(obj)->tp_name);
+    return 0;
+}
+
+/* IsLittleEndian */
+  static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
+{
+  union {
+    uint32_t u32;
+    uint8_t u8[4];
+  } S;
+  S.u32 = 0x01020304;
+  return S.u8[0] == 4;
+}
+
+/* BufferFormatCheck */
+  static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+                              __Pyx_BufFmt_StackElem* stack,
+                              __Pyx_TypeInfo* type) {
+  stack[0].field = &ctx->root;
+  stack[0].parent_offset = 0;
+  ctx->root.type = type;
+  ctx->root.name = "buffer dtype";
+  ctx->root.offset = 0;
+  ctx->head = stack;
+  ctx->head->field = &ctx->root;
+  ctx->fmt_offset = 0;
+  ctx->head->parent_offset = 0;
+  ctx->new_packmode = '@';
+  ctx->enc_packmode = '@';
+  ctx->new_count = 1;
+  ctx->enc_count = 0;
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  ctx->is_valid_array = 0;
+  ctx->struct_alignment = 0;
+  while (type->typegroup == 'S') {
+    ++ctx->head;
+    ctx->head->field = type->fields;
+    ctx->head->parent_offset = 0;
+    type = type->fields->type;
+  }
+}
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {
+    int count;
+    const char* t = *ts;
+    if (*t < '0' || *t > '9') {
+      return -1;
+    } else {
+        count = *t++ - '0';
+        while (*t >= '0' && *t <= '9') {
+            count *= 10;
+            count += *t++ - '0';
+        }
+    }
+    *ts = t;
+    return count;
+}
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {
+    int number = __Pyx_BufFmt_ParseNumber(ts);
+    if (number == -1)
+        PyErr_Format(PyExc_ValueError,\
+                     "Does not understand character buffer dtype format string ('%c')", **ts);
+    return number;
+}
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
+  PyErr_Format(PyExc_ValueError,
+               "Unexpected format string character: '%c'", ch);
+}
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
+  switch (ch) {
+    case '?': return "'bool'";
+    case 'c': return "'char'";
+    case 'b': return "'signed char'";
+    case 'B': return "'unsigned char'";
+    case 'h': return "'short'";
+    case 'H': return "'unsigned short'";
+    case 'i': return "'int'";
+    case 'I': return "'unsigned int'";
+    case 'l': return "'long'";
+    case 'L': return "'unsigned long'";
+    case 'q': return "'long long'";
+    case 'Q': return "'unsigned long long'";
+    case 'f': return (is_complex ? "'complex float'" : "'float'");
+    case 'd': return (is_complex ? "'complex double'" : "'double'");
+    case 'g': return (is_complex ? "'complex long double'" : "'long double'");
+    case 'T': return "a struct";
+    case 'O': return "Python object";
+    case 'P': return "a pointer";
+    case 's': case 'p': return "a string";
+    case 0: return "end";
+    default: return "unparseable format string";
+  }
+}
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return 2;
+    case 'i': case 'I': case 'l': case 'L': return 4;
+    case 'q': case 'Q': return 8;
+    case 'f': return (is_complex ? 8 : 4);
+    case 'd': return (is_complex ? 16 : 8);
+    case 'g': {
+      PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");
+      return 0;
+    }
+    case 'O': case 'P': return sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(short);
+    case 'i': case 'I': return sizeof(int);
+    case 'l': case 'L': return sizeof(long);
+    #ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(PY_LONG_LONG);
+    #endif
+    case 'f': return sizeof(float) * (is_complex ? 2 : 1);
+    case 'd': return sizeof(double) * (is_complex ? 2 : 1);
+    case 'g': return sizeof(long double) * (is_complex ? 2 : 1);
+    case 'O': case 'P': return sizeof(void*);
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+typedef struct { char c; short x; } __Pyx_st_short;
+typedef struct { char c; int x; } __Pyx_st_int;
+typedef struct { char c; long x; } __Pyx_st_long;
+typedef struct { char c; float x; } __Pyx_st_float;
+typedef struct { char c; double x; } __Pyx_st_double;
+typedef struct { char c; long double x; } __Pyx_st_longdouble;
+typedef struct { char c; void *x; } __Pyx_st_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+/* These are for computing the padding at the end of the struct to align
+   on the first member of the struct. This will probably the same as above,
+   but we don't have any guarantees.
+ */
+typedef struct { short x; char c; } __Pyx_pad_short;
+typedef struct { int x; char c; } __Pyx_pad_int;
+typedef struct { long x; char c; } __Pyx_pad_long;
+typedef struct { float x; char c; } __Pyx_pad_float;
+typedef struct { double x; char c; } __Pyx_pad_double;
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;
+typedef struct { void *x; char c; } __Pyx_pad_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
+  switch (ch) {
+    case 'c':
+        return 'H';
+    case 'b': case 'h': case 'i':
+    case 'l': case 'q': case 's': case 'p':
+        return 'I';
+    case '?': case 'B': case 'H': case 'I': case 'L': case 'Q':
+        return 'U';
+    case 'f': case 'd': case 'g':
+        return (is_complex ? 'C' : 'R');
+    case 'O':
+        return 'O';
+    case 'P':
+        return 'P';
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
+  if (ctx->head == NULL || ctx->head->field == &ctx->root) {
+    const char* expected;
+    const char* quote;
+    if (ctx->head == NULL) {
+      expected = "end";
+      quote = "";
+    } else {
+      expected = ctx->head->field->type->name;
+      quote = "'";
+    }
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected %s%s%s but got %s",
+                 quote, expected, quote,
+                 __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));
+  } else {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_StructField* parent = (ctx->head - 1)->field;
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",
+                 field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),
+                 parent->type->name, field->name);
+  }
+}
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
+  char group;
+  size_t size, offset, arraysize = 1;
+  if (ctx->enc_type == 0) return 0;
+  if (ctx->head->field->type->arraysize[0]) {
+    int i, ndim = 0;
+    if (ctx->enc_type == 's' || ctx->enc_type == 'p') {
+        ctx->is_valid_array = ctx->head->field->type->ndim == 1;
+        ndim = 1;
+        if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {
+            PyErr_Format(PyExc_ValueError,
+                         "Expected a dimension of size %zu, got %zu",
+                         ctx->head->field->type->arraysize[0], ctx->enc_count);
+            return -1;
+        }
+    }
+    if (!ctx->is_valid_array) {
+      PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",
+                   ctx->head->field->type->ndim, ndim);
+      return -1;
+    }
+    for (i = 0; i < ctx->head->field->type->ndim; i++) {
+      arraysize *= ctx->head->field->type->arraysize[i];
+    }
+    ctx->is_valid_array = 0;
+    ctx->enc_count = 1;
+  }
+  group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);
+  do {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_TypeInfo* type = field->type;
+    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
+      size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
+    } else {
+      size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
+    }
+    if (ctx->enc_packmode == '@') {
+      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
+      size_t align_mod_offset;
+      if (align_at == 0) return -1;
+      align_mod_offset = ctx->fmt_offset % align_at;
+      if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
+      if (ctx->struct_alignment == 0)
+          ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,
+                                                                 ctx->is_complex);
+    }
+    if (type->size != size || type->typegroup != group) {
+      if (type->typegroup == 'C' && type->fields != NULL) {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        ++ctx->head;
+        ctx->head->field = type->fields;
+        ctx->head->parent_offset = parent_offset;
+        continue;
+      }
+      if ((type->typegroup == 'H' || group == 'H') && type->size == size) {
+      } else {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return -1;
+      }
+    }
+    offset = ctx->head->parent_offset + field->offset;
+    if (ctx->fmt_offset != offset) {
+      PyErr_Format(PyExc_ValueError,
+                   "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected",
+                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
+      return -1;
+    }
+    ctx->fmt_offset += size;
+    if (arraysize)
+      ctx->fmt_offset += (arraysize - 1) * size;
+    --ctx->enc_count;
+    while (1) {
+      if (field == &ctx->root) {
+        ctx->head = NULL;
+        if (ctx->enc_count != 0) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return -1;
+        }
+        break;
+      }
+      ctx->head->field = ++field;
+      if (field->type == NULL) {
+        --ctx->head;
+        field = ctx->head->field;
+        continue;
+      } else if (field->type->typegroup == 'S') {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        if (field->type->fields->type == NULL) continue;
+        field = field->type->fields;
+        ++ctx->head;
+        ctx->head->field = field;
+        ctx->head->parent_offset = parent_offset;
+        break;
+      } else {
+        break;
+      }
+    }
+  } while (ctx->enc_count);
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  return 0;
+}
+static PyObject *
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
+{
+    const char *ts = *tsp;
+    int i = 0, number, ndim;
+    ++ts;
+    if (ctx->new_count != 1) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Cannot handle repeated arrays in format string");
+        return NULL;
+    }
+    if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+    ndim = ctx->head->field->type->ndim;
+    while (*ts && *ts != ')') {
+        switch (*ts) {
+            case ' ': case '\f': case '\r': case '\n': case '\t': case '\v':  continue;
+            default:  break;
+        }
+        number = __Pyx_BufFmt_ExpectNumber(&ts);
+        if (number == -1) return NULL;
+        if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])
+            return PyErr_Format(PyExc_ValueError,
+                        "Expected a dimension of size %zu, got %d",
+                        ctx->head->field->type->arraysize[i], number);
+        if (*ts != ',' && *ts != ')')
+            return PyErr_Format(PyExc_ValueError,
+                                "Expected a comma in format string, got '%c'", *ts);
+        if (*ts == ',') ts++;
+        i++;
+    }
+    if (i != ndim)
+        return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
+                            ctx->head->field->type->ndim, i);
+    if (!*ts) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Unexpected end of format string, expected ')'");
+        return NULL;
+    }
+    ctx->is_valid_array = 1;
+    ctx->new_count = 1;
+    *tsp = ++ts;
+    return Py_None;
+}
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
+  int got_Z = 0;
+  while (1) {
+    switch(*ts) {
+      case 0:
+        if (ctx->enc_type != 0 && ctx->head == NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        if (ctx->head != NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+        return ts;
+      case ' ':
+      case '\r':
+      case '\n':
+        ++ts;
+        break;
+      case '<':
+        if (!__Pyx_Is_Little_Endian()) {
+          PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '>':
+      case '!':
+        if (__Pyx_Is_Little_Endian()) {
+          PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '=':
+      case '@':
+      case '^':
+        ctx->new_packmode = *ts++;
+        break;
+      case 'T':
+        {
+          const char* ts_after_sub;
+          size_t i, struct_count = ctx->new_count;
+          size_t struct_alignment = ctx->struct_alignment;
+          ctx->new_count = 1;
+          ++ts;
+          if (*ts != '{') {
+            PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");
+            return NULL;
+          }
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0;
+          ctx->enc_count = 0;
+          ctx->struct_alignment = 0;
+          ++ts;
+          ts_after_sub = ts;
+          for (i = 0; i != struct_count; ++i) {
+            ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);
+            if (!ts_after_sub) return NULL;
+          }
+          ts = ts_after_sub;
+          if (struct_alignment) ctx->struct_alignment = struct_alignment;
+        }
+        break;
+      case '}':
+        {
+          size_t alignment = ctx->struct_alignment;
+          ++ts;
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0;
+          if (alignment && ctx->fmt_offset % alignment) {
+            ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);
+          }
+        }
+        return ts;
+      case 'x':
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        ctx->fmt_offset += ctx->new_count;
+        ctx->new_count = 1;
+        ctx->enc_count = 0;
+        ctx->enc_type = 0;
+        ctx->enc_packmode = ctx->new_packmode;
+        ++ts;
+        break;
+      case 'Z':
+        got_Z = 1;
+        ++ts;
+        if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
+          __Pyx_BufFmt_RaiseUnexpectedChar('Z');
+          return NULL;
+        }
+        CYTHON_FALLTHROUGH;
+      case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
+      case 'l': case 'L': case 'q': case 'Q':
+      case 'f': case 'd': case 'g':
+      case 'O': case 'p':
+        if ((ctx->enc_type == *ts) && (got_Z == ctx->is_complex) &&
+            (ctx->enc_packmode == ctx->new_packmode) && (!ctx->is_valid_array)) {
+          ctx->enc_count += ctx->new_count;
+          ctx->new_count = 1;
+          got_Z = 0;
+          ++ts;
+          break;
+        }
+        CYTHON_FALLTHROUGH;
+      case 's':
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        ctx->enc_count = ctx->new_count;
+        ctx->enc_packmode = ctx->new_packmode;
+        ctx->enc_type = *ts;
+        ctx->is_complex = got_Z;
+        ++ts;
+        ctx->new_count = 1;
+        got_Z = 0;
+        break;
+      case ':':
+        ++ts;
+        while(*ts != ':') ++ts;
+        ++ts;
+        break;
+      case '(':
+        if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;
+        break;
+      default:
+        {
+          int number = __Pyx_BufFmt_ExpectNumber(&ts);
+          if (number == -1) return NULL;
+          ctx->new_count = (size_t)number;
+        }
+    }
+  }
+}
+
+/* BufferGetAndValidate */
+    static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
+  if (unlikely(info->buf == NULL)) return;
+  if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;
+  __Pyx_ReleaseBuffer(info);
+}
+static void __Pyx_ZeroBuffer(Py_buffer* buf) {
+  buf->buf = NULL;
+  buf->obj = NULL;
+  buf->strides = __Pyx_zeros;
+  buf->shape = __Pyx_zeros;
+  buf->suboffsets = __Pyx_minusones;
+}
+static int __Pyx__GetBufferAndValidate(
+        Py_buffer* buf, PyObject* obj,  __Pyx_TypeInfo* dtype, int flags,
+        int nd, int cast, __Pyx_BufFmt_StackElem* stack)
+{
+  buf->buf = NULL;
+  if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) {
+    __Pyx_ZeroBuffer(buf);
+    return -1;
+  }
+  if (unlikely(buf->ndim != nd)) {
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer has wrong number of dimensions (expected %d, got %d)",
+                 nd, buf->ndim);
+    goto fail;
+  }
+  if (!cast) {
+    __Pyx_BufFmt_Context ctx;
+    __Pyx_BufFmt_Init(&ctx, stack, dtype);
+    if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail;
+  }
+  if (unlikely((size_t)buf->itemsize != dtype->size)) {
+    PyErr_Format(PyExc_ValueError,
+      "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)",
+      buf->itemsize, (buf->itemsize > 1) ? "s" : "",
+      dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
+    goto fail;
+  }
+  if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;
+  return 0;
+fail:;
+  __Pyx_SafeReleaseBuffer(buf);
+  return -1;
+}
+
+/* RaiseTooManyValuesToUnpack */
+    static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
+    PyErr_Format(PyExc_ValueError,
+                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
+}
+
+/* RaiseNeedMoreValuesToUnpack */
+    static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
+    PyErr_Format(PyExc_ValueError,
+                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
+                 index, (index == 1) ? "" : "s");
+}
+
+/* SliceTupleAndList */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) {
+    Py_ssize_t start = *_start, stop = *_stop, length = *_length;
+    if (start < 0) {
+        start += length;
+        if (start < 0)
+            start = 0;
+    }
+    if (stop < 0)
+        stop += length;
+    else if (stop > length)
+        stop = length;
+    *_length = stop - start;
+    *_start = start;
+    *_stop = stop;
+}
+static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
+    PyObject *v;
+    Py_ssize_t i;
+    for (i = 0; i < length; i++) {
+        v = dest[i] = src[i];
+        Py_INCREF(v);
+    }
+}
+static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(
+            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+    PyObject* dest;
+    Py_ssize_t length = PyList_GET_SIZE(src);
+    __Pyx_crop_slice(&start, &stop, &length);
+    if (unlikely(length <= 0))
+        return PyList_New(0);
+    dest = PyList_New(length);
+    if (unlikely(!dest))
+        return NULL;
+    __Pyx_copy_object_array(
+        ((PyListObject*)src)->ob_item + start,
+        ((PyListObject*)dest)->ob_item,
+        length);
+    return dest;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
+            PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
+    PyObject* dest;
+    Py_ssize_t length = PyTuple_GET_SIZE(src);
+    __Pyx_crop_slice(&start, &stop, &length);
+    if (unlikely(length <= 0))
+        return PyTuple_New(0);
+    dest = PyTuple_New(length);
+    if (unlikely(!dest))
+        return NULL;
+    __Pyx_copy_object_array(
+        ((PyTupleObject*)src)->ob_item + start,
+        ((PyTupleObject*)dest)->ob_item,
+        length);
+    return dest;
+}
+#endif
+
+/* PyErrFetchRestore */
+    #if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    tmp_type = tstate->curexc_type;
+    tmp_value = tstate->curexc_value;
+    tmp_tb = tstate->curexc_traceback;
+    tstate->curexc_type = type;
+    tstate->curexc_value = value;
+    tstate->curexc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    *type = tstate->curexc_type;
+    *value = tstate->curexc_value;
+    *tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+}
+#endif
+
+/* PyDictVersioning */
+    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
+}
+static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
+    PyObject **dictptr = NULL;
+    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
+    if (offset) {
+#if CYTHON_COMPILING_IN_CPYTHON
+        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
+#else
+        dictptr = _PyObject_GetDictPtr(obj);
+#endif
+    }
+    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
+}
+static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
+    PyObject *dict = Py_TYPE(obj)->tp_dict;
+    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
+        return 0;
+    return obj_dict_version == __Pyx_get_object_dict_version(obj);
+}
+#endif
+
+/* GetModuleGlobalName */
+    #if CYTHON_USE_DICT_VERSIONS
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
+#else
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
+#endif
+{
+    PyObject *result;
+#if !CYTHON_AVOID_BORROWED_REFS
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
+    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    } else if (unlikely(PyErr_Occurred())) {
+        return NULL;
+    }
+#else
+    result = PyDict_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+#endif
+#else
+    result = PyObject_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+    PyErr_Clear();
+#endif
+    return __Pyx_GetBuiltinName(name);
+}
+
+/* ExtTypeTest */
+    static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+    if (unlikely(!type)) {
+        PyErr_SetString(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    if (likely(__Pyx_TypeCheck(obj, type)))
+        return 1;
+    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
+                 Py_TYPE(obj)->tp_name, type->tp_name);
+    return 0;
+}
+
+/* IterFinish */
+    static CYTHON_INLINE int __Pyx_IterFinish(void) {
+#if CYTHON_FAST_THREAD_STATE
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject* exc_type = tstate->curexc_type;
+    if (unlikely(exc_type)) {
+        if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
+            PyObject *exc_value, *exc_tb;
+            exc_value = tstate->curexc_value;
+            exc_tb = tstate->curexc_traceback;
+            tstate->curexc_type = 0;
+            tstate->curexc_value = 0;
+            tstate->curexc_traceback = 0;
+            Py_DECREF(exc_type);
+            Py_XDECREF(exc_value);
+            Py_XDECREF(exc_tb);
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#else
+    if (unlikely(PyErr_Occurred())) {
+        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
+            PyErr_Clear();
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#endif
+}
+
+/* UnpackItemEndCheck */
+    static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
+    if (unlikely(retval)) {
+        Py_DECREF(retval);
+        __Pyx_RaiseTooManyValuesError(expected);
+        return -1;
+    }
+    return __Pyx_IterFinish();
+}
+
+/* DivInt[Py_ssize_t] */
+    static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) {
+    Py_ssize_t q = a / b;
+    Py_ssize_t r = a - q*b;
+    q -= ((r != 0) & ((r ^ b) < 0));
+    return q;
+}
+
+/* BufferFallbackError */
+    static void __Pyx_RaiseBufferFallbackError(void) {
+  PyErr_SetString(PyExc_ValueError,
+     "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!");
+}
+
+/* PyObjectCallNoArg */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
+#if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(func)) {
+        return __Pyx_PyFunction_FastCall(func, NULL, 0);
+    }
+#endif
+#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
+    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
+#else
+    if (likely(PyCFunction_Check(func)))
+#endif
+    {
+        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
+            return __Pyx_PyObject_CallMethO(func, NULL);
+        }
+    }
+    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
+}
+#endif
+
+/* PyIntBinop */
+    #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op1))) {
+        const long b = intval;
+        long x;
+        long a = PyInt_AS_LONG(op1);
+            x = (long)((unsigned long)a - b);
+            if (likely((x^a) >= 0 || (x^~b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op1))) {
+        const long b = intval;
+        long a, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG llb = intval;
+        PY_LONG_LONG lla, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op1)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op1);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            a = likely(size) ? digits[0] : 0;
+            if (size == -1) a = -a;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
+            }
+        }
+                x = a - b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla - llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op1)) {
+        const long b = intval;
+        double a = PyFloat_AS_DOUBLE(op1);
+            double result;
+            PyFPE_START_PROTECT("subtract", return NULL)
+            result = ((double)a) - (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
+}
+#endif
+
+/* PyObjectCallMethod0 */
+    static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
+    PyObject *method = NULL, *result = NULL;
+    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
+    if (likely(is_method)) {
+        result = __Pyx_PyObject_CallOneArg(method, obj);
+        Py_DECREF(method);
+        return result;
+    }
+    if (unlikely(!method)) goto bad;
+    result = __Pyx_PyObject_CallNoArg(method);
+    Py_DECREF(method);
+bad:
+    return result;
+}
+
+/* UnpackUnboundCMethod */
+    static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
+    PyObject *method;
+    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
+    if (unlikely(!method))
+        return -1;
+    target->method = method;
+#if CYTHON_COMPILING_IN_CPYTHON
+    #if PY_MAJOR_VERSION >= 3
+    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
+    #endif
+    {
+        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
+        target->func = descr->d_method->ml_meth;
+        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
+    }
+#endif
+    return 0;
+}
+
+/* CallUnboundCMethod0 */
+    static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
+    PyObject *args, *result = NULL;
+    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
+#if CYTHON_ASSUME_SAFE_MACROS
+    args = PyTuple_New(1);
+    if (unlikely(!args)) goto bad;
+    Py_INCREF(self);
+    PyTuple_SET_ITEM(args, 0, self);
+#else
+    args = PyTuple_Pack(1, self);
+    if (unlikely(!args)) goto bad;
+#endif
+    result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
+    Py_DECREF(args);
+bad:
+    return result;
+}
+
+/* pop */
+    static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L) {
+    if (Py_TYPE(L) == &PySet_Type) {
+        return PySet_Pop(L);
+    }
+    return __Pyx_PyObject_CallMethod0(L, __pyx_n_s_pop);
+}
+#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
+static CYTHON_INLINE PyObject* __Pyx_PyList_Pop(PyObject* L) {
+    if (likely(PyList_GET_SIZE(L) > (((PyListObject*)L)->allocated >> 1))) {
+        __Pyx_SET_SIZE(L, Py_SIZE(L) - 1);
+        return PyList_GET_ITEM(L, PyList_GET_SIZE(L));
+    }
+    return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
+}
+#endif
+
+/* RaiseNoneIterError */
+    static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+}
+
+/* py_dict_keys */
+    static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d) {
+    if (PY_MAJOR_VERSION >= 3)
+        return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_keys, d);
+    else
+        return PyDict_Keys(d);
+}
+
+/* DivInt[int] */
+    static CYTHON_INLINE int __Pyx_div_int(int a, int b) {
+    int q = a / b;
+    int r = a - q*b;
+    q -= ((r != 0) & ((r ^ b) < 0));
+    return q;
+}
+
+/* py_dict_values */
+    static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
+    if (PY_MAJOR_VERSION >= 3)
+        return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_values, d);
+    else
+        return PyDict_Values(d);
+}
+
+/* DictGetItem */
+    #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
+    PyObject *value;
+    value = PyDict_GetItemWithError(d, key);
+    if (unlikely(!value)) {
+        if (!PyErr_Occurred()) {
+            if (unlikely(PyTuple_Check(key))) {
+                PyObject* args = PyTuple_Pack(1, key);
+                if (likely(args)) {
+                    PyErr_SetObject(PyExc_KeyError, args);
+                    Py_DECREF(args);
+                }
+            } else {
+                PyErr_SetObject(PyExc_KeyError, key);
+            }
+        }
+        return NULL;
+    }
+    Py_INCREF(value);
+    return value;
+}
+#endif
+
+/* WriteUnraisableException */
+    static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
+                                  int full_traceback, CYTHON_UNUSED int nogil) {
+    PyObject *old_exc, *old_val, *old_tb;
+    PyObject *ctx;
+    __Pyx_PyThreadState_declare
+#ifdef WITH_THREAD
+    PyGILState_STATE state;
+    if (nogil)
+        state = PyGILState_Ensure();
+    else state = (PyGILState_STATE)0;
+#endif
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
+    if (full_traceback) {
+        Py_XINCREF(old_exc);
+        Py_XINCREF(old_val);
+        Py_XINCREF(old_tb);
+        __Pyx_ErrRestore(old_exc, old_val, old_tb);
+        PyErr_PrintEx(1);
+    }
+    #if PY_MAJOR_VERSION < 3
+    ctx = PyString_FromString(name);
+    #else
+    ctx = PyUnicode_FromString(name);
+    #endif
+    __Pyx_ErrRestore(old_exc, old_val, old_tb);
+    if (!ctx) {
+        PyErr_WriteUnraisable(Py_None);
+    } else {
+        PyErr_WriteUnraisable(ctx);
+        Py_DECREF(ctx);
+    }
+#ifdef WITH_THREAD
+    if (nogil)
+        PyGILState_Release(state);
+#endif
+}
+
+/* StringJoin */
+    #if !CYTHON_COMPILING_IN_CPYTHON
+static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
+    return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL);
+}
+#endif
+
+/* RaiseException */
+    #if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+                        CYTHON_UNUSED PyObject *cause) {
+    __Pyx_PyThreadState_declare
+    Py_XINCREF(type);
+    if (!value || value == Py_None)
+        value = NULL;
+    else
+        Py_INCREF(value);
+    if (!tb || tb == Py_None)
+        tb = NULL;
+    else {
+        Py_INCREF(tb);
+        if (!PyTraceBack_Check(tb)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: arg 3 must be a traceback or None");
+            goto raise_error;
+        }
+    }
+    if (PyType_Check(type)) {
+#if CYTHON_COMPILING_IN_PYPY
+        if (!value) {
+            Py_INCREF(Py_None);
+            value = Py_None;
+        }
+#endif
+        PyErr_NormalizeException(&type, &value, &tb);
+    } else {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(type);
+        Py_INCREF(type);
+        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+            PyErr_SetString(PyExc_TypeError,
+                "raise: exception class must be a subclass of BaseException");
+            goto raise_error;
+        }
+    }
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrRestore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
+}
+#else
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    PyObject* owned_instance = NULL;
+    if (tb == Py_None) {
+        tb = 0;
+    } else if (tb && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto bad;
+    }
+    if (value == Py_None)
+        value = 0;
+    if (PyExceptionInstance_Check(type)) {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto bad;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(value);
+    } else if (PyExceptionClass_Check(type)) {
+        PyObject *instance_class = NULL;
+        if (value && PyExceptionInstance_Check(value)) {
+            instance_class = (PyObject*) Py_TYPE(value);
+            if (instance_class != type) {
+                int is_subclass = PyObject_IsSubclass(instance_class, type);
+                if (!is_subclass) {
+                    instance_class = NULL;
+                } else if (unlikely(is_subclass == -1)) {
+                    goto bad;
+                } else {
+                    type = instance_class;
+                }
+            }
+        }
+        if (!instance_class) {
+            PyObject *args;
+            if (!value)
+                args = PyTuple_New(0);
+            else if (PyTuple_Check(value)) {
+                Py_INCREF(value);
+                args = value;
+            } else
+                args = PyTuple_Pack(1, value);
+            if (!args)
+                goto bad;
+            owned_instance = PyObject_Call(type, args, NULL);
+            Py_DECREF(args);
+            if (!owned_instance)
+                goto bad;
+            value = owned_instance;
+            if (!PyExceptionInstance_Check(value)) {
+                PyErr_Format(PyExc_TypeError,
+                             "calling %R should have returned an instance of "
+                             "BaseException, not %R",
+                             type, Py_TYPE(value));
+                goto bad;
+            }
+        }
+    } else {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: exception class must be a subclass of BaseException");
+        goto bad;
+    }
+    if (cause) {
+        PyObject *fixed_cause;
+        if (cause == Py_None) {
+            fixed_cause = NULL;
+        } else if (PyExceptionClass_Check(cause)) {
+            fixed_cause = PyObject_CallObject(cause, NULL);
+            if (fixed_cause == NULL)
+                goto bad;
+        } else if (PyExceptionInstance_Check(cause)) {
+            fixed_cause = cause;
+            Py_INCREF(fixed_cause);
+        } else {
+            PyErr_SetString(PyExc_TypeError,
+                            "exception causes must derive from "
+                            "BaseException");
+            goto bad;
+        }
+        PyException_SetCause(value, fixed_cause);
+    }
+    PyErr_SetObject(type, value);
+    if (tb) {
+#if CYTHON_FAST_THREAD_STATE
+        PyThreadState *tstate = __Pyx_PyThreadState_Current;
+        PyObject* tmp_tb = tstate->curexc_traceback;
+        if (tb != tmp_tb) {
+            Py_INCREF(tb);
+            tstate->curexc_traceback = tb;
+            Py_XDECREF(tmp_tb);
+        }
+#else
+        PyObject *tmp_type, *tmp_value, *tmp_tb;
+        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
+        Py_INCREF(tb);
+        PyErr_Restore(tmp_type, tmp_value, tb);
+        Py_XDECREF(tmp_tb);
+#endif
+    }
+bad:
+    Py_XDECREF(owned_instance);
+    return;
+}
+#endif
+
+/* GetTopmostException */
+    #if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem *
+__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
+{
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
+           exc_info->previous_item != NULL)
+    {
+        exc_info = exc_info->previous_item;
+    }
+    return exc_info;
+}
+#endif
+
+/* SaveResetException */
+    #if CYTHON_FAST_THREAD_STATE
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
+    *type = exc_info->exc_type;
+    *value = exc_info->exc_value;
+    *tb = exc_info->exc_traceback;
+    #else
+    *type = tstate->exc_type;
+    *value = tstate->exc_value;
+    *tb = tstate->exc_traceback;
+    #endif
+    Py_XINCREF(*type);
+    Py_XINCREF(*value);
+    Py_XINCREF(*tb);
+}
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    tmp_type = exc_info->exc_type;
+    tmp_value = exc_info->exc_value;
+    tmp_tb = exc_info->exc_traceback;
+    exc_info->exc_type = type;
+    exc_info->exc_value = value;
+    exc_info->exc_traceback = tb;
+    #else
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = type;
+    tstate->exc_value = value;
+    tstate->exc_traceback = tb;
+    #endif
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+#endif
+
+/* PyErrExceptionMatches */
+    #if CYTHON_FAST_THREAD_STATE
+static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
+    PyObject *exc_type = tstate->curexc_type;
+    if (exc_type == err) return 1;
+    if (unlikely(!exc_type)) return 0;
+    if (unlikely(PyTuple_Check(err)))
+        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
+    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
+}
+#endif
+
+/* GetException */
+    #if CYTHON_FAST_THREAD_STATE
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
+#else
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
+#endif
+{
+    PyObject *local_type, *local_value, *local_tb;
+#if CYTHON_FAST_THREAD_STATE
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    local_type = tstate->curexc_type;
+    local_value = tstate->curexc_value;
+    local_tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+#else
+    PyErr_Fetch(&local_type, &local_value, &local_tb);
+#endif
+    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
+#if CYTHON_FAST_THREAD_STATE
+    if (unlikely(tstate->curexc_type))
+#else
+    if (unlikely(PyErr_Occurred()))
+#endif
+        goto bad;
+    #if PY_MAJOR_VERSION >= 3
+    if (local_tb) {
+        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
+            goto bad;
+    }
+    #endif
+    Py_XINCREF(local_tb);
+    Py_XINCREF(local_type);
+    Py_XINCREF(local_value);
+    *type = local_type;
+    *value = local_value;
+    *tb = local_tb;
+#if CYTHON_FAST_THREAD_STATE
+    #if CYTHON_USE_EXC_INFO_STACK
+    {
+        _PyErr_StackItem *exc_info = tstate->exc_info;
+        tmp_type = exc_info->exc_type;
+        tmp_value = exc_info->exc_value;
+        tmp_tb = exc_info->exc_traceback;
+        exc_info->exc_type = local_type;
+        exc_info->exc_value = local_value;
+        exc_info->exc_traceback = local_tb;
+    }
+    #else
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = local_type;
+    tstate->exc_value = local_value;
+    tstate->exc_traceback = local_tb;
+    #endif
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+#else
+    PyErr_SetExcInfo(local_type, local_value, local_tb);
+#endif
+    return 0;
+bad:
+    *type = 0;
+    *value = 0;
+    *tb = 0;
+    Py_XDECREF(local_type);
+    Py_XDECREF(local_value);
+    Py_XDECREF(local_tb);
+    return -1;
+}
+
+/* TypeImport */
+    #ifndef __PYX_HAVE_RT_ImportType_0_29_36
+#define __PYX_HAVE_RT_ImportType_0_29_36
+static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject *module, const char *module_name, const char *class_name,
+    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size)
+{
+    PyObject *result = 0;
+    char warning[200];
+    Py_ssize_t basicsize;
+    Py_ssize_t itemsize;
+#ifdef Py_LIMITED_API
+    PyObject *py_basicsize;
+    PyObject *py_itemsize;
+#endif
+    result = PyObject_GetAttrString(module, class_name);
+    if (!result)
+        goto bad;
+    if (!PyType_Check(result)) {
+        PyErr_Format(PyExc_TypeError,
+            "%.200s.%.200s is not a type object",
+            module_name, class_name);
+        goto bad;
+    }
+#ifndef Py_LIMITED_API
+    basicsize = ((PyTypeObject *)result)->tp_basicsize;
+    itemsize = ((PyTypeObject *)result)->tp_itemsize;
+#else
+    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
+    if (!py_basicsize)
+        goto bad;
+    basicsize = PyLong_AsSsize_t(py_basicsize);
+    Py_DECREF(py_basicsize);
+    py_basicsize = 0;
+    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
+        goto bad;
+    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
+    if (!py_itemsize)
+        goto bad;
+    itemsize = PyLong_AsSsize_t(py_itemsize);
+    Py_DECREF(py_itemsize);
+    py_itemsize = 0;
+    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
+        goto bad;
+#endif
+    if (itemsize) {
+        if (size % alignment) {
+            alignment = size % alignment;
+        }
+        if (itemsize < (Py_ssize_t)alignment)
+            itemsize = (Py_ssize_t)alignment;
+    }
+    if ((size_t)(basicsize + itemsize) < size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_36 && (size_t)basicsize != size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_36 && (size_t)basicsize > size) {
+        PyOS_snprintf(warning, sizeof(warning),
+            "%s.%s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
+    }
+    return (PyTypeObject *)result;
+bad:
+    Py_XDECREF(result);
+    return NULL;
+}
+#endif
+
+/* Import */
+    static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_import;
+    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
+    if (!py_import)
+        goto bad;
+    #endif
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    {
+        #if PY_MAJOR_VERSION >= 3
+        if (level == -1) {
+            if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
+                module = PyImport_ImportModuleLevelObject(
+                    name, global_dict, empty_dict, list, 1);
+                if (!module) {
+                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
+                        goto bad;
+                    PyErr_Clear();
+                }
+            }
+            level = 0;
+        }
+        #endif
+        if (!module) {
+            #if PY_MAJOR_VERSION < 3
+            PyObject *py_level = PyInt_FromLong(level);
+            if (!py_level)
+                goto bad;
+            module = PyObject_CallFunctionObjArgs(py_import,
+                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
+            Py_DECREF(py_level);
+            #else
+            module = PyImport_ImportModuleLevelObject(
+                name, global_dict, empty_dict, list, level);
+            #endif
+        }
+    }
+bad:
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_import);
+    #endif
+    Py_XDECREF(empty_list);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+/* PyIntBinop */
+    #if !CYTHON_COMPILING_IN_PYPY
+static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
+    (void)inplace;
+    (void)zerodivision_check;
+    #if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_CheckExact(op2))) {
+        const long a = intval;
+        long x;
+        long b = PyInt_AS_LONG(op2);
+            x = (long)((unsigned long)a + b);
+            if (likely((x^a) >= 0 || (x^b) >= 0))
+                return PyInt_FromLong(x);
+            return PyLong_Type.tp_as_number->nb_add(op1, op2);
+    }
+    #endif
+    #if CYTHON_USE_PYLONG_INTERNALS
+    if (likely(PyLong_CheckExact(op2))) {
+        const long a = intval;
+        long b, x;
+#ifdef HAVE_LONG_LONG
+        const PY_LONG_LONG lla = intval;
+        PY_LONG_LONG llb, llx;
+#endif
+        const digit* digits = ((PyLongObject*)op2)->ob_digit;
+        const Py_ssize_t size = Py_SIZE(op2);
+        if (likely(__Pyx_sst_abs(size) <= 1)) {
+            b = likely(size) ? digits[0] : 0;
+            if (size == -1) b = -b;
+        } else {
+            switch (size) {
+                case -2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 2:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 3:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                case 4:
+                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                        b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
+                        break;
+#ifdef HAVE_LONG_LONG
+                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
+                        llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
+                        goto long_long;
+#endif
+                    }
+                    CYTHON_FALLTHROUGH;
+                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
+            }
+        }
+                x = a + b;
+            return PyLong_FromLong(x);
+#ifdef HAVE_LONG_LONG
+        long_long:
+                llx = lla + llb;
+            return PyLong_FromLongLong(llx);
+#endif
+        
+        
+    }
+    #endif
+    if (PyFloat_CheckExact(op2)) {
+        const long a = intval;
+        double b = PyFloat_AS_DOUBLE(op2);
+            double result;
+            PyFPE_START_PROTECT("add", return NULL)
+            result = ((double)a) + (double)b;
+            PyFPE_END_PROTECT(result)
+            return PyFloat_FromDouble(result);
+    }
+    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
+}
+#endif
+
+/* CLineInTraceback */
+    #ifndef CYTHON_CLINE_IN_TRACEBACK
+static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
+    PyObject *use_cline;
+    PyObject *ptype, *pvalue, *ptraceback;
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyObject **cython_runtime_dict;
+#endif
+    if (unlikely(!__pyx_cython_runtime)) {
+        return c_line;
+    }
+    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+#if CYTHON_COMPILING_IN_CPYTHON
+    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
+    if (likely(cython_runtime_dict)) {
+        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
+            use_cline, *cython_runtime_dict,
+            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
+    } else
+#endif
+    {
+      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
+      if (use_cline_obj) {
+        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
+        Py_DECREF(use_cline_obj);
+      } else {
+        PyErr_Clear();
+        use_cline = NULL;
+      }
+    }
+    if (!use_cline) {
+        c_line = 0;
+        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
+    }
+    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
+        c_line = 0;
+    }
+    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+    return c_line;
+}
+#endif
+
+/* CodeObjectCache */
+    static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+    int start = 0, mid = 0, end = count - 1;
+    if (end >= 0 && code_line > entries[end].code_line) {
+        return count;
+    }
+    while (start < end) {
+        mid = start + (end - start) / 2;
+        if (code_line < entries[mid].code_line) {
+            end = mid;
+        } else if (code_line > entries[mid].code_line) {
+             start = mid + 1;
+        } else {
+            return mid;
+        }
+    }
+    if (code_line <= entries[mid].code_line) {
+        return mid;
+    } else {
+        return mid + 1;
+    }
+}
+static PyCodeObject *__pyx_find_code_object(int code_line) {
+    PyCodeObject* code_object;
+    int pos;
+    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
+        return NULL;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
+        return NULL;
+    }
+    code_object = __pyx_code_cache.entries[pos].code_object;
+    Py_INCREF(code_object);
+    return code_object;
+}
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
+    int pos, i;
+    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
+    if (unlikely(!code_line)) {
+        return;
+    }
+    if (unlikely(!entries)) {
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (likely(entries)) {
+            __pyx_code_cache.entries = entries;
+            __pyx_code_cache.max_count = 64;
+            __pyx_code_cache.count = 1;
+            entries[0].code_line = code_line;
+            entries[0].code_object = code_object;
+            Py_INCREF(code_object);
+        }
+        return;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
+        PyCodeObject* tmp = entries[pos].code_object;
+        entries[pos].code_object = code_object;
+        Py_DECREF(tmp);
+        return;
+    }
+    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
+        int new_max = __pyx_code_cache.max_count + 64;
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
+            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
+        if (unlikely(!entries)) {
+            return;
+        }
+        __pyx_code_cache.entries = entries;
+        __pyx_code_cache.max_count = new_max;
+    }
+    for (i=__pyx_code_cache.count; i>pos; i--) {
+        entries[i] = entries[i-1];
+    }
+    entries[pos].code_line = code_line;
+    entries[pos].code_object = code_object;
+    __pyx_code_cache.count++;
+    Py_INCREF(code_object);
+}
+
+/* AddTraceback */
+    #include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+#if PY_VERSION_HEX >= 0x030b00a6
+  #ifndef Py_BUILD_CORE
+    #define Py_BUILD_CORE 1
+  #endif
+  #include "internal/pycore_frame.h"
+#endif
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
+            const char *funcname, int c_line,
+            int py_line, const char *filename) {
+    PyCodeObject *py_code = NULL;
+    PyObject *py_funcname = NULL;
+    #if PY_MAJOR_VERSION < 3
+    PyObject *py_srcfile = NULL;
+    py_srcfile = PyString_FromString(filename);
+    if (!py_srcfile) goto bad;
+    #endif
+    if (c_line) {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        #else
+        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        if (!py_funcname) goto bad;
+        funcname = PyUnicode_AsUTF8(py_funcname);
+        if (!funcname) goto bad;
+        #endif
+    }
+    else {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromString(funcname);
+        if (!py_funcname) goto bad;
+        #endif
+    }
+    #if PY_MAJOR_VERSION < 3
+    py_code = __Pyx_PyCode_New(
+        0,
+        0,
+        0,
+        0,
+        0,
+        __pyx_empty_bytes, /*PyObject *code,*/
+        __pyx_empty_tuple, /*PyObject *consts,*/
+        __pyx_empty_tuple, /*PyObject *names,*/
+        __pyx_empty_tuple, /*PyObject *varnames,*/
+        __pyx_empty_tuple, /*PyObject *freevars,*/
+        __pyx_empty_tuple, /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        py_line,
+        __pyx_empty_bytes  /*PyObject *lnotab*/
+    );
+    Py_DECREF(py_srcfile);
+    #else
+    py_code = PyCode_NewEmpty(filename, funcname, py_line);
+    #endif
+    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
+    return py_code;
+bad:
+    Py_XDECREF(py_funcname);
+    #if PY_MAJOR_VERSION < 3
+    Py_XDECREF(py_srcfile);
+    #endif
+    return NULL;
+}
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyFrameObject *py_frame = 0;
+    PyThreadState *tstate = __Pyx_PyThreadState_Current;
+    PyObject *ptype, *pvalue, *ptraceback;
+    if (c_line) {
+        c_line = __Pyx_CLineForTraceback(tstate, c_line);
+    }
+    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
+    if (!py_code) {
+        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
+        py_code = __Pyx_CreateCodeObjectForTraceback(
+            funcname, c_line, py_line, filename);
+        if (!py_code) {
+            /* If the code object creation fails, then we should clear the
+               fetched exception references and propagate the new exception */
+            Py_XDECREF(ptype);
+            Py_XDECREF(pvalue);
+            Py_XDECREF(ptraceback);
+            goto bad;
+        }
+        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
+        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
+    }
+    py_frame = PyFrame_New(
+        tstate,            /*PyThreadState *tstate,*/
+        py_code,           /*PyCodeObject *code,*/
+        __pyx_d,    /*PyObject *globals,*/
+        0                  /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
+
+#if PY_MAJOR_VERSION < 3
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
+    if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
+        if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags);
+    PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name);
+    return -1;
+}
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {
+    PyObject *obj = view->obj;
+    if (!obj) return;
+    if (PyObject_CheckBuffer(obj)) {
+        PyBuffer_Release(view);
+        return;
+    }
+    if ((0)) {}
+        else if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view);
+    view->obj = NULL;
+    Py_DECREF(obj);
+}
+#endif
+
+
+    /* CIntFromPyVerify */
+    #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
+#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
+    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
+#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
+    {\
+        func_type value = func_value;\
+        if (sizeof(target_type) < sizeof(func_type)) {\
+            if (unlikely(value != (func_type) (target_type) value)) {\
+                func_type zero = 0;\
+                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
+                    return (target_type) -1;\
+                if (is_unsigned && unlikely(value < zero))\
+                    goto raise_neg_overflow;\
+                else\
+                    goto raise_overflow;\
+            }\
+        }\
+        return (target_type) value;\
+    }
+
+/* Print */
+    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
+static PyObject *__Pyx_GetStdout(void) {
+    PyObject *f = PySys_GetObject((char *)"stdout");
+    if (!f) {
+        PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
+    }
+    return f;
+}
+static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
+    int i;
+    if (!f) {
+        if (!(f = __Pyx_GetStdout()))
+            return -1;
+    }
+    Py_INCREF(f);
+    for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
+        PyObject* v;
+        if (PyFile_SoftSpace(f, 1)) {
+            if (PyFile_WriteString(" ", f) < 0)
+                goto error;
+        }
+        v = PyTuple_GET_ITEM(arg_tuple, i);
+        if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
+            goto error;
+        if (PyString_Check(v)) {
+            char *s = PyString_AsString(v);
+            Py_ssize_t len = PyString_Size(v);
+            if (len > 0) {
+                switch (s[len-1]) {
+                    case ' ': break;
+                    case '\f': case '\r': case '\n': case '\t': case '\v':
+                        PyFile_SoftSpace(f, 0);
+                        break;
+                    default:  break;
+                }
+            }
+        }
+    }
+    if (newline) {
+        if (PyFile_WriteString("\n", f) < 0)
+            goto error;
+        PyFile_SoftSpace(f, 0);
+    }
+    Py_DECREF(f);
+    return 0;
+error:
+    Py_DECREF(f);
+    return -1;
+}
+#else
+static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
+    PyObject* kwargs = 0;
+    PyObject* result = 0;
+    PyObject* end_string;
+    if (unlikely(!__pyx_print)) {
+        __pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s_print);
+        if (!__pyx_print)
+            return -1;
+    }
+    if (stream) {
+        kwargs = PyDict_New();
+        if (unlikely(!kwargs))
+            return -1;
+        if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s_file, stream) < 0))
+            goto bad;
+        if (!newline) {
+            end_string = PyUnicode_FromStringAndSize(" ", 1);
+            if (unlikely(!end_string))
+                goto bad;
+            if (PyDict_SetItem(kwargs, __pyx_n_s_end, end_string) < 0) {
+                Py_DECREF(end_string);
+                goto bad;
+            }
+            Py_DECREF(end_string);
+        }
+    } else if (!newline) {
+        if (unlikely(!__pyx_print_kwargs)) {
+            __pyx_print_kwargs = PyDict_New();
+            if (unlikely(!__pyx_print_kwargs))
+                return -1;
+            end_string = PyUnicode_FromStringAndSize(" ", 1);
+            if (unlikely(!end_string))
+                return -1;
+            if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s_end, end_string) < 0) {
+                Py_DECREF(end_string);
+                return -1;
+            }
+            Py_DECREF(end_string);
+        }
+        kwargs = __pyx_print_kwargs;
+    }
+    result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
+    if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
+        Py_DECREF(kwargs);
+    if (!result)
+        return -1;
+    Py_DECREF(result);
+    return 0;
+bad:
+    if (kwargs != __pyx_print_kwargs)
+        Py_XDECREF(kwargs);
+    return -1;
+}
+#endif
+
+/* Declarations */
+    #if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return ::std::complex< float >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return x + y*(__pyx_t_float_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      __pyx_t_float_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+/* Arithmetic */
+    #if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    #if 1
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else if (fabsf(b.real) >= fabsf(b.imag)) {
+            if (b.real == 0 && b.imag == 0) {
+                return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
+            } else {
+                float r = b.imag / b.real;
+                float s = (float)(1.0) / (b.real + b.imag * r);
+                return __pyx_t_float_complex_from_parts(
+                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
+            }
+        } else {
+            float r = b.real / b.imag;
+            float s = (float)(1.0) / (b.imag + b.real * r);
+            return __pyx_t_float_complex_from_parts(
+                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
+        }
+    }
+    #else
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else {
+            float denom = b.real * b.real + b.imag * b.imag;
+            return __pyx_t_float_complex_from_parts(
+                (a.real * b.real + a.imag * b.imag) / denom,
+                (a.imag * b.real - a.real * b.imag) / denom);
+        }
+    }
+    #endif
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrtf(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypotf(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+            __pyx_t_float_complex z;
+            float r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    float denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        return __Pyx_c_prod_float(a, a);
+                    case 3:
+                        z = __Pyx_c_prod_float(a, a);
+                        return __Pyx_c_prod_float(z, a);
+                    case 4:
+                        z = __Pyx_c_prod_float(a, a);
+                        return __Pyx_c_prod_float(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                } else if ((b.imag == 0) && (a.real >= 0)) {
+                    z.real = powf(a.real, b.real);
+                    z.imag = 0;
+                    return z;
+                } else if (a.real > 0) {
+                    r = a.real;
+                    theta = 0;
+                } else {
+                    r = -a.real;
+                    theta = atan2f(0.0, -1.0);
+                }
+            } else {
+                r = __Pyx_c_abs_float(a);
+                theta = atan2f(a.imag, a.real);
+            }
+            lnr = logf(r);
+            z_r = expf(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cosf(z_theta);
+            z.imag = z_r * sinf(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+/* Declarations */
+    #if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return ::std::complex< double >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return x + y*(__pyx_t_double_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      __pyx_t_double_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+/* Arithmetic */
+    #if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    #if 1
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else if (fabs(b.real) >= fabs(b.imag)) {
+            if (b.real == 0 && b.imag == 0) {
+                return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
+            } else {
+                double r = b.imag / b.real;
+                double s = (double)(1.0) / (b.real + b.imag * r);
+                return __pyx_t_double_complex_from_parts(
+                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
+            }
+        } else {
+            double r = b.real / b.imag;
+            double s = (double)(1.0) / (b.imag + b.real * r);
+            return __pyx_t_double_complex_from_parts(
+                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
+        }
+    }
+    #else
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        if (b.imag == 0) {
+            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
+        } else {
+            double denom = b.real * b.real + b.imag * b.imag;
+            return __pyx_t_double_complex_from_parts(
+                (a.real * b.real + a.imag * b.imag) / denom,
+                (a.imag * b.real - a.real * b.imag) / denom);
+        }
+    }
+    #endif
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrt(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypot(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+            __pyx_t_double_complex z;
+            double r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    double denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        return __Pyx_c_prod_double(a, a);
+                    case 3:
+                        z = __Pyx_c_prod_double(a, a);
+                        return __Pyx_c_prod_double(z, a);
+                    case 4:
+                        z = __Pyx_c_prod_double(a, a);
+                        return __Pyx_c_prod_double(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                } else if ((b.imag == 0) && (a.real >= 0)) {
+                    z.real = pow(a.real, b.real);
+                    z.imag = 0;
+                    return z;
+                } else if (a.real > 0) {
+                    r = a.real;
+                    theta = 0;
+                } else {
+                    r = -a.real;
+                    theta = atan2(0.0, -1.0);
+                }
+            } else {
+                r = __Pyx_c_abs_double(a);
+                theta = atan2(a.imag, a.real);
+            }
+            lnr = log(r);
+            z_r = exp(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cos(z_theta);
+            z.imag = z_r * sin(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+/* CIntFromPy */
+    static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const int neg_one = (int) -1, const_zero = (int) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(int) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (int) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
+                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
+                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
+                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (int) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(int) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (int) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
+                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(int) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            int val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (int) -1;
+        }
+    } else {
+        int val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (int) -1;
+        val = __Pyx_PyInt_As_int(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to int");
+    return (int) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to int");
+    return (int) -1;
+}
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(long) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(long) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(long) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(long),
+                                     little, !is_unsigned);
+    }
+}
+
+/* PrintOne */
+    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
+static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
+    if (!f) {
+        if (!(f = __Pyx_GetStdout()))
+            return -1;
+    }
+    Py_INCREF(f);
+    if (PyFile_SoftSpace(f, 0)) {
+        if (PyFile_WriteString(" ", f) < 0)
+            goto error;
+    }
+    if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
+        goto error;
+    if (PyFile_WriteString("\n", f) < 0)
+        goto error;
+    Py_DECREF(f);
+    return 0;
+error:
+    Py_DECREF(f);
+    return -1;
+    /* the line below is just to avoid C compiler
+     * warnings about unused functions */
+    return __Pyx_Print(f, NULL, 0);
+}
+#else
+static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
+    int res;
+    PyObject* arg_tuple = PyTuple_Pack(1, o);
+    if (unlikely(!arg_tuple))
+        return -1;
+    res = __Pyx_Print(stream, arg_tuple, 1);
+    Py_DECREF(arg_tuple);
+    return res;
+}
+#endif
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const int neg_one = (int) -1, const_zero = (int) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(int) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(int) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(int) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(int),
+                                     little, !is_unsigned);
+    }
+}
+
+/* CIntFromPy */
+    static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const long neg_one = (long) -1, const_zero = (long) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+#if PY_MAJOR_VERSION < 3
+    if (likely(PyInt_Check(x))) {
+        if (sizeof(long) < sizeof(long)) {
+            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
+        } else {
+            long val = PyInt_AS_LONG(x);
+            if (is_unsigned && unlikely(val < 0)) {
+                goto raise_neg_overflow;
+            }
+            return (long) val;
+        }
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
+                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
+                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
+                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
+                        }
+                    }
+                    break;
+            }
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
+            if (unlikely(Py_SIZE(x) < 0)) {
+                goto raise_neg_overflow;
+            }
+#else
+            {
+                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
+                if (unlikely(result < 0))
+                    return (long) -1;
+                if (unlikely(result == 1))
+                    goto raise_neg_overflow;
+            }
+#endif
+            if (sizeof(long) <= sizeof(unsigned long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
+#endif
+            }
+        } else {
+#if CYTHON_USE_PYLONG_INTERNALS
+            const digit* digits = ((PyLongObject*)x)->ob_digit;
+            switch (Py_SIZE(x)) {
+                case  0: return (long) 0;
+                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
+                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
+                case -2:
+                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 2:
+                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -3:
+                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 3:
+                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case -4:
+                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+                case 4:
+                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
+                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
+                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
+                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
+                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
+                        }
+                    }
+                    break;
+            }
+#endif
+            if (sizeof(long) <= sizeof(long)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
+#ifdef HAVE_LONG_LONG
+            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
+#endif
+            }
+        }
+        {
+#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
+            PyErr_SetString(PyExc_RuntimeError,
+                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
+#else
+            long val;
+            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
+ #if PY_MAJOR_VERSION < 3
+            if (likely(v) && !PyLong_Check(v)) {
+                PyObject *tmp = v;
+                v = PyNumber_Long(tmp);
+                Py_DECREF(tmp);
+            }
+ #endif
+            if (likely(v)) {
+                int one = 1; int is_little = (int)*(unsigned char *)&one;
+                unsigned char *bytes = (unsigned char *)&val;
+                int ret = _PyLong_AsByteArray((PyLongObject *)v,
+                                              bytes, sizeof(val),
+                                              is_little, !is_unsigned);
+                Py_DECREF(v);
+                if (likely(!ret))
+                    return val;
+            }
+#endif
+            return (long) -1;
+        }
+    } else {
+        long val;
+        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
+        if (!tmp) return (long) -1;
+        val = __Pyx_PyInt_As_long(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+raise_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "value too large to convert to long");
+    return (long) -1;
+raise_neg_overflow:
+    PyErr_SetString(PyExc_OverflowError,
+        "can't convert negative value to long");
+    return (long) -1;
+}
+
+/* CIntToPy */
+    static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+    const enum NPY_TYPES neg_one = (enum NPY_TYPES) -1, const_zero = (enum NPY_TYPES) 0;
+#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
+#pragma GCC diagnostic pop
+#endif
+    const int is_unsigned = neg_one > const_zero;
+    if (is_unsigned) {
+        if (sizeof(enum NPY_TYPES) < sizeof(long)) {
+            return PyInt_FromLong((long) value);
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) {
+            return PyLong_FromUnsignedLong((unsigned long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) {
+            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+#endif
+        }
+    } else {
+        if (sizeof(enum NPY_TYPES) <= sizeof(long)) {
+            return PyInt_FromLong((long) value);
+#ifdef HAVE_LONG_LONG
+        } else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) {
+            return PyLong_FromLongLong((PY_LONG_LONG) value);
+#endif
+        }
+    }
+    {
+        int one = 1; int little = (int)*(unsigned char *)&one;
+        unsigned char *bytes = (unsigned char *)&value;
+        return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES),
+                                     little, !is_unsigned);
+    }
+}
+
+/* FastTypeChecks */
+    #if CYTHON_COMPILING_IN_CPYTHON
+static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
+    while (a) {
+        a = a->tp_base;
+        if (a == b)
+            return 1;
+    }
+    return b == &PyBaseObject_Type;
+}
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
+    PyObject *mro;
+    if (a == b) return 1;
+    mro = a->tp_mro;
+    if (likely(mro)) {
+        Py_ssize_t i, n;
+        n = PyTuple_GET_SIZE(mro);
+        for (i = 0; i < n; i++) {
+            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
+                return 1;
+        }
+        return 0;
+    }
+    return __Pyx_InBases(a, b);
+}
+#if PY_MAJOR_VERSION == 2
+static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
+    PyObject *exception, *value, *tb;
+    int res;
+    __Pyx_PyThreadState_declare
+    __Pyx_PyThreadState_assign
+    __Pyx_ErrFetch(&exception, &value, &tb);
+    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
+    if (unlikely(res == -1)) {
+        PyErr_WriteUnraisable(err);
+        res = 0;
+    }
+    if (!res) {
+        res = PyObject_IsSubclass(err, exc_type2);
+        if (unlikely(res == -1)) {
+            PyErr_WriteUnraisable(err);
+            res = 0;
+        }
+    }
+    __Pyx_ErrRestore(exception, value, tb);
+    return res;
+}
+#else
+static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
+    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
+    if (!res) {
+        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
+    }
+    return res;
+}
+#endif
+static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
+    Py_ssize_t i, n;
+    assert(PyExceptionClass_Check(exc_type));
+    n = PyTuple_GET_SIZE(tuple);
+#if PY_MAJOR_VERSION >= 3
+    for (i=0; i<n; i++) {
+        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
+    }
+#endif
+    for (i=0; i<n; i++) {
+        PyObject *t = PyTuple_GET_ITEM(tuple, i);
+        #if PY_MAJOR_VERSION < 3
+        if (likely(exc_type == t)) return 1;
+        #endif
+        if (likely(PyExceptionClass_Check(t))) {
+            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
+        } else {
+        }
+    }
+    return 0;
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
+    if (likely(err == exc_type)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        if (likely(PyExceptionClass_Check(exc_type))) {
+            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
+        } else if (likely(PyTuple_Check(exc_type))) {
+            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
+        } else {
+        }
+    }
+    return PyErr_GivenExceptionMatches(err, exc_type);
+}
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
+    assert(PyExceptionClass_Check(exc_type1));
+    assert(PyExceptionClass_Check(exc_type2));
+    if (likely(err == exc_type1 || err == exc_type2)) return 1;
+    if (likely(PyExceptionClass_Check(err))) {
+        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
+    }
+    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
+}
+#endif
+
+/* CheckBinaryVersion */
+    static int __Pyx_check_binary_version(void) {
+    char ctversion[5];
+    int same=1, i, found_dot;
+    const char* rt_from_call = Py_GetVersion();
+    PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    found_dot = 0;
+    for (i = 0; i < 4; i++) {
+        if (!ctversion[i]) {
+            same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
+            break;
+        }
+        if (rt_from_call[i] != ctversion[i]) {
+            same = 0;
+            break;
+        }
+    }
+    if (!same) {
+        char rtversion[5] = {'\0'};
+        char message[200];
+        for (i=0; i<4; ++i) {
+            if (rt_from_call[i] == '.') {
+                if (found_dot) break;
+                found_dot = 1;
+            } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
+                break;
+            }
+            rtversion[i] = rt_from_call[i];
+        }
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        return PyErr_WarnEx(NULL, message, 1);
+    }
+    return 0;
+}
+
+/* InitStrings */
+    static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        #if PY_MAJOR_VERSION < 3
+        if (t->is_unicode) {
+            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
+        } else if (t->intern) {
+            *t->p = PyString_InternFromString(t->s);
+        } else {
+            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        }
+        #else
+        if (t->is_unicode | t->is_str) {
+            if (t->intern) {
+                *t->p = PyUnicode_InternFromString(t->s);
+            } else if (t->encoding) {
+                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
+            } else {
+                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
+            }
+        } else {
+            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
+        }
+        #endif
+        if (!*t->p)
+            return -1;
+        if (PyObject_Hash(*t->p) == -1)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
+    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
+}
+static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
+    Py_ssize_t ignore;
+    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
+}
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+#if !CYTHON_PEP393_ENABLED
+static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    char* defenc_c;
+    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
+    if (!defenc) return NULL;
+    defenc_c = PyBytes_AS_STRING(defenc);
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    {
+        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
+        char* c;
+        for (c = defenc_c; c < end; c++) {
+            if ((unsigned char) (*c) >= 128) {
+                PyUnicode_AsASCIIString(o);
+                return NULL;
+            }
+        }
+    }
+#endif
+    *length = PyBytes_GET_SIZE(defenc);
+    return defenc_c;
+}
+#else
+static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+    if (likely(PyUnicode_IS_ASCII(o))) {
+        *length = PyUnicode_GET_LENGTH(o);
+        return PyUnicode_AsUTF8(o);
+    } else {
+        PyUnicode_AsASCIIString(o);
+        return NULL;
+    }
+#else
+    return PyUnicode_AsUTF8AndSize(o, length);
+#endif
+}
+#endif
+#endif
+static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
+#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
+    if (
+#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
+            __Pyx_sys_getdefaultencoding_not_ascii &&
+#endif
+            PyUnicode_Check(o)) {
+        return __Pyx_PyUnicode_AsStringAndSize(o, length);
+    } else
+#endif
+#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
+    if (PyByteArray_Check(o)) {
+        *length = PyByteArray_GET_SIZE(o);
+        return PyByteArray_AS_STRING(o);
+    } else
+#endif
+    {
+        char* result;
+        int r = PyBytes_AsStringAndSize(o, &result, length);
+        if (unlikely(r < 0)) {
+            return NULL;
+        } else {
+            return result;
+        }
+    }
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
+   int is_true = x == Py_True;
+   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
+   else return PyObject_IsTrue(x);
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
+    int retval;
+    if (unlikely(!x)) return -1;
+    retval = __Pyx_PyObject_IsTrue(x);
+    Py_DECREF(x);
+    return retval;
+}
+static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
+#if PY_MAJOR_VERSION >= 3
+    if (PyLong_Check(result)) {
+        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
+                "__int__ returned non-int (type %.200s).  "
+                "The ability to return an instance of a strict subclass of int "
+                "is deprecated, and may be removed in a future version of Python.",
+                Py_TYPE(result)->tp_name)) {
+            Py_DECREF(result);
+            return NULL;
+        }
+        return result;
+    }
+#endif
+    PyErr_Format(PyExc_TypeError,
+                 "__%.4s__ returned non-%.4s (type %.200s)",
+                 type_name, type_name, Py_TYPE(result)->tp_name);
+    Py_DECREF(result);
+    return NULL;
+}
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
+#if CYTHON_USE_TYPE_SLOTS
+  PyNumberMethods *m;
+#endif
+  const char *name = NULL;
+  PyObject *res = NULL;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_Check(x) || PyLong_Check(x)))
+#else
+  if (likely(PyLong_Check(x)))
+#endif
+    return __Pyx_NewRef(x);
+#if CYTHON_USE_TYPE_SLOTS
+  m = Py_TYPE(x)->tp_as_number;
+  #if PY_MAJOR_VERSION < 3
+  if (m && m->nb_int) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  else if (m && m->nb_long) {
+    name = "long";
+    res = m->nb_long(x);
+  }
+  #else
+  if (likely(m && m->nb_int)) {
+    name = "int";
+    res = m->nb_int(x);
+  }
+  #endif
+#else
+  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
+    res = PyNumber_Int(x);
+  }
+#endif
+  if (likely(res)) {
+#if PY_MAJOR_VERSION < 3
+    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
+#else
+    if (unlikely(!PyLong_CheckExact(res))) {
+#endif
+        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
+    }
+  }
+  else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_TypeError,
+                    "an integer is required");
+  }
+  return res;
+}
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
+  Py_ssize_t ival;
+  PyObject *x;
+#if PY_MAJOR_VERSION < 3
+  if (likely(PyInt_CheckExact(b))) {
+    if (sizeof(Py_ssize_t) >= sizeof(long))
+        return PyInt_AS_LONG(b);
+    else
+        return PyInt_AsSsize_t(b);
+  }
+#endif
+  if (likely(PyLong_CheckExact(b))) {
+    #if CYTHON_USE_PYLONG_INTERNALS
+    const digit* digits = ((PyLongObject*)b)->ob_digit;
+    const Py_ssize_t size = Py_SIZE(b);
+    if (likely(__Pyx_sst_abs(size) <= 1)) {
+        ival = likely(size) ? digits[0] : 0;
+        if (size == -1) ival = -ival;
+        return ival;
+    } else {
+      switch (size) {
+         case 2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -2:
+           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -3:
+           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case 4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+         case -4:
+           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
+             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
+           }
+           break;
+      }
+    }
+    #endif
+    return PyLong_AsSsize_t(b);
+  }
+  x = PyNumber_Index(b);
+  if (!x) return -1;
+  ival = PyInt_AsSsize_t(x);
+  Py_DECREF(x);
+  return ival;
+}
+static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
+  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
+    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
+#if PY_MAJOR_VERSION < 3
+  } else if (likely(PyInt_CheckExact(o))) {
+    return PyInt_AS_LONG(o);
+#endif
+  } else {
+    Py_ssize_t ival;
+    PyObject *x;
+    x = PyNumber_Index(o);
+    if (!x) return -1;
+    ival = PyInt_AsLong(x);
+    Py_DECREF(x);
+    return ival;
+  }
+}
+static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
+  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
+}
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
+    return PyInt_FromSize_t(ival);
+}
+
+
+#endif /* Py_PYTHON_H */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrn.defaults
@@ -0,0 +1,123 @@
+*double_buffered: on
+
+// with above at least there will not be flickering if InterViews
+// resource file is missing
+
+*Scene_background: #ffffff
+*Scene_foreground: #000000
+*FieldEditor*background: #ffffff
+*background: #cfffff
+*foreground: #000000
+*default_brush: 0
+*view_margin: .25
+
+*err_dialog: off
+
+*dismiss_button: Close
+*use_transient_windows: yes
+
+*dialog_spec_position: off
+*dialog_bottom_position: 400
+*dialog_left_position: 400
+
+*mswin_scale: 1.2
+// above only applies to the mswin version. If the width of the screen in pixels
+// is pw, then the default scale is 1 if pw>1100 otherwise scale is 1200/pw
+// if above is uncommented then the value will take precedence.
+// scale can also be set at any time with PWManager[0].scale(factor)
+
+*nrn_library: $(NEURONHOME)/lib
+
+*view_pick_epsilon: 2
+
+*pwm_dismiss_button: Iconify
+*pwm_help: on
+*pwm_canvas_height: 120
+*pwm_paper_height: 11
+*pwm_paper_width: 8.5
+*pwm_paper_resolution: .5
+*pwm_screen_outline_color: red
+*pwm_window_outline_color: blue
+// windows on screen snap to grid
+*pwm_pixel_resolution: 0
+// nonzero value above will not work unless offsets are set correctly
+// for your window manager. I know of no portable way of determining
+// them automatically.
+*window_manager_offset_x: 5.
+*window_manager_offset_y: 26.
+
+*section_select_color: red
+*section_adjacent_color: green
+*show_adjacent_selection: off
+
+*disable_color: #808080
+
+// how many items in a panel before switching to scroll style
+*panel_scroll: 12
+
+// suffix for filenames to appear in browsers
+*pwm_print_file_filter: *.ps
+*pwm_idraw_file_filter: *.id
+*pwm_ascii_file_filter: *
+*pwm_save_file_filter: *.ses
+*pwm_idraw_prologue: $(NEURONHOME)/lib/prologue.id
+//setlinejoin is to prevent noisy looking wide lines when points are
+//very close together
+*pwm_postscript_filter: sed '/%%EndProlog/a\\\n2 setlinejoin\ns;/Adobe-;/;\ns;-Oblique;;'
+//following for mswin
+//*pwm_postscript_filter: sed -f ${N}/lib/psfilt.sed
+//*printer_command: Windows
+
+*SlowSlider*autorepeatStart: 0.
+
+//draw a box around a printed window
+*scene_print_border: 1
+
+*radioScale: 1.2
+*stepper_size: 20.
+*xvalue_field_size_increase: 10.
+
+// following is historical standard for unix.
+*font: *helvetica-medium-r-normal*--14*
+*MenuBar*font: *-helvetica-bold-o-normal--14*
+*MenuItem*font: *-helvetica-bold-o-normal--14*
+// Mac and mswin internal default is
+//*font: *helvetica-medium-r-normal*--14*
+//*MenuBar*font: *-helvetica-bold-o-normal--14*
+//*MenuItem*font: *-helvetica-bold-o-normal--14*
+//*font: *Arial*bold*--12*
+//*MenuBar*font: *Arial*bold*--12*
+//*MenuItem*font: *Arial*bold*--12*
+
+*xvalue_format: %.5g
+
+# according to xaxis(mode), 0 means view axis, 3 means nothing
+*graph_axis_default: 0
+
+//the color map for pseudocolor plotting for 3-D cells
+*shape_scale_file: $(NEURONHOME)/lib/shape.cm2
+// 1 means slower but more pleasing join
+*shape_beveljoin: 1
+
+// number of colors and brushes selectable in the graph ColorBrushWidget
+*CBWidget_ncolor: 10
+*CBWidget_nbrush: 10
+
+// most people do not like the "first instance" messages when loading
+// hoc files
+*first_instance_message: off
+
+// Value editor buttons show units if available
+*units_on_flag: on
+// Following useful for one button mouse. Mac has this as 10 by default
+*scene_menu_box_size: 10.
+
+// The default stack size is 1000 and the frame (recursion depth) size is 512 unless explicitly set nonzero below
+// One may also use the -NSTACK stacksize   -NFRAME framesize options at launch.
+*NSTACK: 0
+*NFRAME: 0
+
+// To ensure that all statements in this file take effect, do not remove this line.
+// It prevents the absence of a trailing newline for the last substantive
+// property for mswin.
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib
@@ -0,0 +1,627 @@
+/ from gnu units distribution
+/ Nov, 2017 updated faraday, R, e, planck, hbar, mole, k according to
+/ https://physics.nist.gov/cuu/Constants/index.html
+
+/ primitive units
+
+m			*a*
+kg			*b*
+sec			*c*
+coul			*d*
+candela			*e*
+dollar			*f*
+bit			*h*
+erlang			*i*
+K			*j*
+
+/ prefixes
+
+/yotta-			1e24
+/zetta-			1e21
+/exa-			1e18
+/peta-			1e15
+/tera-			1e12
+/giga-			1e9
+/mega-			1e6
+/myria-			1e4
+/kilo-			1e3
+/hecto-			1e2
+/deka-			1e1
+/deci-			1e-1
+/centi-			1e-2
+/milli-			1e-3
+/micro-			1e-6
+/nano-			1e-9
+/pico-			1e-12
+/femto-			1e-15
+/atto-			1e-18
+/zopto-			1e-21
+/yocto-			1e-24
+/
+/semi-			.5
+/demi-			.5
+/
+/Y-			yotta
+/Z-			zetta
+/E-			exa
+/P-			peta
+/T-			tera
+/G-			giga
+/M-			mega
+/k-			kilo
+/h-			hecto
+/da-			deka
+/d-			deci
+/c-			centi
+/m-			milli
+/p-			pico
+/f-			femto
+/a-			atto
+/z-			zopto
+/y-			yocto
+
+/ constants
+
+fuzz			1
+two			2
+pi			3.14159265358979323846
+c			2.99792458+8 m/sec fuzz
+g			9.80665 m/sec2
+au			1.49597871+11 m fuzz
+/mole			6.022169+23 fuzz
+mole			6.02214076+23 fuzz
+/e			1.6021917-19 coul fuzz
+e			1.602176634-19 coul fuzz
+energy			c2
+force			g
+mercury			1.33322+5 kg/m2-sec2
+hg			mercury
+
+/ dimensionless
+
+radian			.5 / pi
+degree			1|180 pi-radian
+circle			2 pi-radian
+turn			2 pi-radian
+revolution			turn
+rev			turn
+grade			.9 degree
+arcdeg			1 degree
+arcmin			1|60 arcdeg
+ccs			1|36 erlang
+arcsec			1|60 arcmin
+
+steradian		radian2
+sphere			4 pi-steradian
+sr			steradian
+
+/ Time
+
+second			sec
+s			sec
+minute			60 sec
+min			minute
+hour			60 min
+hr			hour
+day			24 hr
+da			day
+week			7 day
+year			365.24219879 day fuzz
+yr			year
+month			1|12 year
+ms			millisec
+us			microsec
+
+/ Mass
+
+gram			millikg
+gm			gram
+mg			milligram
+metricton		kilokg
+
+/ Avoirdupois
+
+lb			.45359237 kg
+pound			lb
+lbf			lb g
+ounce			1|16 lb
+oz			ounce
+dram			1|16 oz
+dr			dram
+grain			1|7000 lb
+gr			grain
+shortton		2000 lb
+ton			shortton
+longton			2240 lb
+
+/ Apothecary
+
+scruple			20 grain
+apdram			60 grain
+apounce			480 grain
+appound			5760 grain
+troypound		appound
+
+/ Length
+
+meter			m
+cm			centimeter
+mm			millimeter
+km			kilometer
+nm			nanometer
+micron			micrometer
+angstrom		decinanometer
+
+inch			2.54 cm
+in			inch
+foot			12 in
+feet			foot
+ft			foot
+yard			3 ft
+yd			yard
+rod			5.5 yd
+rd			rod
+mile			5280 ft
+mi			mile
+
+british			1200|3937 m/ft
+nmile			1852m
+
+acre			4840 yd2
+
+cc			cm3
+liter			kilocc
+ml			milliliter
+
+/ US Liquid
+
+gallon			231 in3
+imperial		1.20095
+gal			gallon
+quart			1|4 gal
+qt			quart
+pint			1|2 qt
+pt			pint
+
+floz			1|16 pt
+fldr			1|8 floz
+
+/ US Dry
+
+dry			268.8025 in3/gallon fuzz
+peck			8 dry-quart
+pk			peck
+bushel			4 peck
+bu			bushel
+chaldron		36 bushel
+
+/ British
+
+brgallon		277.420 in3 fuzz
+brquart			1|4 brgallon
+brpint			1|2 brquart
+brfloz			1|20 brpint
+brpeck			554.84 in3 fuzz
+brbushel		4 brpeck
+
+/ Energy Work
+
+newton			kg-m/sec2
+nt			newton
+N			newton
+joule			nt-m
+cal			4.1868 joule
+
+/ Electrical
+
+coulomb			coul
+C			coul
+ampere			coul/sec
+amp			ampere
+watt			joule/sec
+volt			watt/amp
+ohm			volt/amp
+mho			/ohm
+farad			coul/volt
+henry			sec2/farad
+weber			volt-sec
+
+/ Light
+
+cd			candela
+lumen			cd sr
+lux			cd sr/m2
+
+/ Wall Street Journal, July 2, 1993
+
+$			dollar
+argentinapeso		$
+australiadollar		.66 $
+austriaschilling	.83 $
+bahraindinar		2.6522 $
+belgiumfranc		.028 $
+brazilcruzeiro		.000019 $
+britainpound		1.49 $
+canadadollar		.77 $
+czechkoruna		.034 $
+chilepeso		.0025 $
+chinarenminbi		.174856 $
+colombiapeso		.001495 $
+denmarkkrone		.15 $
+ecuadorsucre		.000539 $
+finlandmarkka		.17 $
+francefranc		.17 $
+germanymark		.58 $
+greatbritainpound	britainpound
+greecedrachma		.0043 $
+hongkongdollar		.13  $
+hungaryforint		.011 $
+indiarupee		.03211 $
+indonesiarupiah		.0004782 $
+irelandpunt		1.43 $
+israelshekel		.3642 $
+italylira		.00064 $
+japanyen		.0093 $
+jordandinar		1.4682 $
+kuwaitdinar		3.3173 $
+lebanonpound		.000578 $
+malaysiaringgit		.338 $
+maltalira		2.6042 $
+mexicopeso		.3205128 $
+netherlandsguilder	.52 $
+newzealanddollar	.539 $
+norwaykrone		.139 $
+pakistanrupee		.037 $
+perunewsol		.5065 $
+philippinespeso		.03738 $
+polandzloty		.000059 $
+portugalescudo		.00617 $
+saudiarabiariyal	.26702 $
+singaporedollar		.6157 $
+slovakkoruna		.034 $
+southafricarand		.21 $
+southkoreawon		.001 $
+spainpeseta		.007 $
+swedenkrona		.13 $
+switzerlandfranc	.66 $
+taiwandollar		.038285 $
+thailandbaht		.03962 $
+turkeylira		.0000929 $
+unitedarabdirham	.2723 $
+uruguaynewpeso		.246852 $
+venezuelabolivar	.011 $
+
+mark			germanymark
+bolivar			venezuelabolivar
+peseta			spainpeseta
+rand			southafricarand
+escudo			portugalescudo
+sol			perunewsol
+guilder			netherlandsguilder
+hollandguilder		netherlandsguilder
+peso			mexicopeso
+yen			japanyen
+lira			italylira
+rupee			indiarupee
+drachma			greecedrachma
+franc			francefranc
+markka			finlandmarkka
+sucre			ecuadorsucre
+poundsterling		britainpound
+cruzeiro		brazilcruzeiro
+
+/ computer
+
+baud			bit/sec
+byte			8 bit
+block			512 byte
+kbyte			1024 byte
+megabyte		1024 kbyte
+gigabyte		1024 megabyte
+meg			megabyte
+
+
+/ Trivia
+
+%			1|100
+admiraltyknot		6080 ft/hr
+apostilb		cd/pi-m2
+are			1+2 m2
+arpentcan		27.52 mi
+arpentlin		191.835 ft
+astronomicalunit	au
+atmosphere		1.01325+5 nt/m2
+atm			atmosphere
+atomicmassunit		1.66044-27 kg fuzz
+amu			atomicmassunit
+bag			94 lb
+bakersdozen		13
+bar			1+5 nt/m2
+barie			1-1 nt/m2
+barleycorn		1|3 in
+barn			1-28 m2
+barrel			42 gal
+barye			1-1 nt/m2
+bev			1+9 e-volt
+biot			10 amp
+blondel			cd/pi-m2
+boardfoot		144 in3
+bolt			40 yd
+bottommeasure		1|40 in
+britishthermalunit	1.05506+3 joule fuzz
+btu			britishthermalunit
+refrigeration		12000 btu/ton-hour
+buck			dollar
+cable			720 ft
+caliber			1-2 in
+calorie			cal
+carat			205 mg
+caratgold		1|24
+cent			centidollar
+cental			100 lb
+centesimalminute	1-2 grade
+centesimalsecond	1-4 grade
+century			100 year
+cfs			ft3/sec
+chain			66 ft
+circularinch		1|4 pi-in2
+circularmil		1-6|4 pi-in2
+clusec			1-8 mm-hg m3/s
+coomb			4 bu
+cord			128 ft3
+cordfoot		cord
+crith			9.06-2 gm
+cubit			18 in
+cup			1|2 pt
+curie			3.7+10 /sec
+dalton			amu
+decade			10 yr
+dipotre			/m
+displacementton		35 ft3
+doppelzentner		100 kg
+dozen			12
+drop			.03 cm3
+dyne			cm-gm/sec2
+electronvolt		e-volt
+ell			45 in
+engineerschain		100 ft
+engineerslink		100|100 ft
+equivalentfootcandle	lumen/pi-ft2
+equivalentlux		lumen/pi-m2
+equivalentphot		cd/pi-cm2
+erg			cm2-gm/sec2
+ev			e-volt
+/ faraday			9.652000+04 coul
+/ faraday  from  host: physics.nist.gov
+/          	 path: /PhysRefData/fundconst/html/keywords.html
+/faraday		9.6485309+4 coul
+faraday		e-mole
+fathom			6 ft
+fermi			1-15 m
+fifth			4|5 qt
+fin			5 dollar
+finger			7|8 in
+firkin			9 gal
+footcandle		lumen/ft2
+footlambert		cd/pi-ft2
+fortnight		14 da
+franklin		3.33564-10 coul
+frigorie		kilocal
+furlong			220 yd
+galileo			1-2 m/sec2
+gamma			1-9 weber/m2
+gauss			1-4 weber/m2
+geodeticfoot		british-ft
+geographicalmile	1852 m
+gilbert			7.95775-1 amp
+gill			1|4 pt
+gross			144
+gunterschain		22 yd
+hand			4 in
+hectare			1+4 m2
+hefnercandle		.92 cd
+hertz			/sec
+Hz			hertz
+hogshead		2 barrel
+hd			hogshead
+homestead		1|4 mi2
+horsepower		550 ft-lb-g/sec
+hp			horsepower
+hyl			gm force sec2/m
+hz			/sec
+imaginarycubicfoot	1.4 ft3
+jeroboam		4|5 gal
+/boltzmann		1.38064852-23 joule/K
+boltzmann		1.380649-23 joule/K
+k			boltzmann
+karat			1|24
+kcal			kilocal
+kcalorie		kilocal
+kev			1+3 e-volt
+key			kg
+khz			1+3 /sec
+kilderkin		18 gal
+knot			nmile/hr
+lambert			cd/pi-cm2
+langley			cal/cm2
+last			80 bu
+league			3 mi
+lightyear		c-yr
+line			1|12 in
+link			66|100 ft
+longhundredweight	112 lb
+longquarter		28 lb
+lusec			1-6 mm-hg m3/s
+mach			331.46 m/sec
+magnum			2 qt
+marineleague		3 nmile
+maxwell			1-8 weber
+metriccarat		200 mg
+mgd			megagal/day
+mh			millihenry
+mhz			1+6 /sec
+mil			1-3 in
+millenium		1000 year
+minersinch		1.5 ft3/min
+minim			1|60 fldr
+mo			month
+mpg			mile/gal
+mph			mile/hr
+nail			1|16 yd
+nauticalmile		nmile
+nit			cd/m2
+noggin			1|8 qt
+nox			1-3 lux
+ns			nanosec
+oersted			2.5+2 pi-amp/m
+oe			oersted
+pace			36 in
+palm			3 in
+parasang		3.5 mi
+parsec			au-radian/arcsec
+pascal			nt/m2
+pc			parsec
+pennyweight		1|20 oz
+pwt			pennyweight
+percent			%
+perch			rd
+pf			picofarad
+phot			lumen/cm2
+pica			1|6 in
+pieze			1+3 nt/m2
+pipe			4 barrel
+point			1|72 in
+poise			gm/cm-sec
+pole			rd
+poundal			ft-lb/sec2
+pdl			poundal
+proof			1|200
+psi			lb-g/in2
+quarter			9 in
+quartersection		1|4 mi2
+quintal			100 kg
+quire			25
+/gasconstant		8.3144598 joule/K
+gasconstant		k-mole
+R			gasconstant
+rad			100 erg/gm
+ream			500
+registerton		100 ft3
+rehoboam		156 floz
+rhe			10 m2/nt-sec
+rontgen			2.58-4 curie/kg
+rood			1.21+3 yd
+rope			20 ft
+rutherford		1+6 /sec
+rydberg			1.36054+1 ev
+sabin			1 ft2
+sack			3 bu
+seam			8 bu
+section			mi2
+shippington		40 ft3
+shorthundredweight	100 lb
+shortquarter		25 lb
+siemens			/ohm
+sigma			microsec
+skein			120 yd
+skot			1-3 apostilb
+slug			lb-g-sec2/ft
+span			9 in
+spat			4 pi sr
+spindle			14400 yd
+square			100 ft2
+stere			m3
+sthene			1+3 nt
+stilb			cd/cm2
+stoke			1-4 m2/sec
+stone			14 lb
+strike			2 bu
+surveyfoot		british-ft
+surveyyard		3 surveyfoot
+surveyorschain		66 ft
+surveyorslink		66|100 ft
+tablespoon		4 fldr
+teaspoon		4|3 fldr
+tesla			weber/m2
+therm			1+5 btu
+thermie			1+6 cal
+timberfoot		ft3
+tnt			4.6+6 m2/sec2
+tonne			1+6 gm
+torr			mm hg
+township		36 mi2
+tun			8 barrel
+water			gram g / cc
+wey			40 bu
+weymass			252 lb
+Xunit			1.00202-13m
+degC			K
+
+kelvin			K
+brewster		1-12 m2/newton
+degF			5|9 degC
+degreesrankine		degF
+degrankine		degreesrankine
+degreerankine		degF
+degreaumur		10|8 degC
+drachm			60 grain
+poncelet		100 kg m g / sec
+denier			.05|450 gram / m
+tex			.001 gram / m
+englishell		45 inch
+scottishell		37.2 inch
+flemishell		27 inch
+/planck			6.626-34 joule-sec
+planck			6.62607015-34 joule-sec
+/hbar			1.055-34 joule-sec
+hbar			planck/two-pi
+electronmass		9.1095-31 kg
+protonmass		1.6726-27 kg
+neutronmass		1.6606-27 kg
+V			volt
+eV			e V
+bohrradius		1|8.988e9 hbar2-C2 / N m2-e2-electronmass
+becquerel		1|3.7+10 curie
+fresnel			1+12 hertz
+statcoul		1|2.99792458+9 coul
+statamp			1|2.99792458+9 amp
+statvolt		2.99792458+2 volt
+statcoulomb		statcoul
+statampere		statamp
+debye			3.336-30 coul-m
+pulsatance		2 pi/sec
+rpm			rev/minute
+rps			rev/sec
+kilohm			kiloohm
+megohm			megaohm
+siderealyear		365.256360417 day
+siderealday		23.934469444 hour
+siderealhour		1|24 siderealday
+lunarmonth		29.5305555 day
+synodicmonth		lunarmonth
+siderealmonth		27.32152777 day
+tropicalyear		year
+solaryear		year
+lunaryear		12 lunarmonth
+cran			37.5 brgallon
+kip			1000 lbf
+frenchfoot		16|15 ft
+frenchfeet		frenchfoot
+toise			6 frenchfeet
+sievert			8.4 rontgen
+candle			1.02 candela
+militarypace		2.5 feet
+metre			meter
+litre			liter
+gramme			gram
+iudiptheria		62.8 microgram
+iupenicillin		.6 microgram
+iuinsulin		41.67 microgram
+cottonyarncount		2520 ft/pound
+linenyarncount		900 ft/pound
+worstedyarncount	1680 ft/pound
+metricyarncount		meter/gram
+jewlerspoint		2 milligram
+
+
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib.in
@@ -0,0 +1,627 @@
+/ from gnu units distribution
+/ Nov, 2017 updated faraday, R, e, planck, hbar, mole, k according to
+/ https://physics.nist.gov/cuu/Constants/index.html
+
+/ primitive units
+
+m			*a*
+kg			*b*
+sec			*c*
+coul			*d*
+candela			*e*
+dollar			*f*
+bit			*h*
+erlang			*i*
+K			*j*
+
+/ prefixes
+
+/yotta-			1e24
+/zetta-			1e21
+/exa-			1e18
+/peta-			1e15
+/tera-			1e12
+/giga-			1e9
+/mega-			1e6
+/myria-			1e4
+/kilo-			1e3
+/hecto-			1e2
+/deka-			1e1
+/deci-			1e-1
+/centi-			1e-2
+/milli-			1e-3
+/micro-			1e-6
+/nano-			1e-9
+/pico-			1e-12
+/femto-			1e-15
+/atto-			1e-18
+/zopto-			1e-21
+/yocto-			1e-24
+/
+/semi-			.5
+/demi-			.5
+/
+/Y-			yotta
+/Z-			zetta
+/E-			exa
+/P-			peta
+/T-			tera
+/G-			giga
+/M-			mega
+/k-			kilo
+/h-			hecto
+/da-			deka
+/d-			deci
+/c-			centi
+/m-			milli
+/p-			pico
+/f-			femto
+/a-			atto
+/z-			zopto
+/y-			yocto
+
+/ constants
+
+fuzz			1
+two			2
+pi			3.14159265358979323846
+c			2.99792458+8 m/sec fuzz
+g			9.80665 m/sec2
+au			1.49597871+11 m fuzz
+ at LegacyY@mole			6.022169+23 fuzz
+ at LegacyN@mole			6.02214076+23 fuzz
+ at LegacyY@e			1.6021917-19 coul fuzz
+ at LegacyN@e			1.602176634-19 coul fuzz
+energy			c2
+force			g
+mercury			1.33322+5 kg/m2-sec2
+hg			mercury
+
+/ dimensionless
+
+radian			.5 / pi
+degree			1|180 pi-radian
+circle			2 pi-radian
+turn			2 pi-radian
+revolution			turn
+rev			turn
+grade			.9 degree
+arcdeg			1 degree
+arcmin			1|60 arcdeg
+ccs			1|36 erlang
+arcsec			1|60 arcmin
+
+steradian		radian2
+sphere			4 pi-steradian
+sr			steradian
+
+/ Time
+
+second			sec
+s			sec
+minute			60 sec
+min			minute
+hour			60 min
+hr			hour
+day			24 hr
+da			day
+week			7 day
+year			365.24219879 day fuzz
+yr			year
+month			1|12 year
+ms			millisec
+us			microsec
+
+/ Mass
+
+gram			millikg
+gm			gram
+mg			milligram
+metricton		kilokg
+
+/ Avoirdupois
+
+lb			.45359237 kg
+pound			lb
+lbf			lb g
+ounce			1|16 lb
+oz			ounce
+dram			1|16 oz
+dr			dram
+grain			1|7000 lb
+gr			grain
+shortton		2000 lb
+ton			shortton
+longton			2240 lb
+
+/ Apothecary
+
+scruple			20 grain
+apdram			60 grain
+apounce			480 grain
+appound			5760 grain
+troypound		appound
+
+/ Length
+
+meter			m
+cm			centimeter
+mm			millimeter
+km			kilometer
+nm			nanometer
+micron			micrometer
+angstrom		decinanometer
+
+inch			2.54 cm
+in			inch
+foot			12 in
+feet			foot
+ft			foot
+yard			3 ft
+yd			yard
+rod			5.5 yd
+rd			rod
+mile			5280 ft
+mi			mile
+
+british			1200|3937 m/ft
+nmile			1852m
+
+acre			4840 yd2
+
+cc			cm3
+liter			kilocc
+ml			milliliter
+
+/ US Liquid
+
+gallon			231 in3
+imperial		1.20095
+gal			gallon
+quart			1|4 gal
+qt			quart
+pint			1|2 qt
+pt			pint
+
+floz			1|16 pt
+fldr			1|8 floz
+
+/ US Dry
+
+dry			268.8025 in3/gallon fuzz
+peck			8 dry-quart
+pk			peck
+bushel			4 peck
+bu			bushel
+chaldron		36 bushel
+
+/ British
+
+brgallon		277.420 in3 fuzz
+brquart			1|4 brgallon
+brpint			1|2 brquart
+brfloz			1|20 brpint
+brpeck			554.84 in3 fuzz
+brbushel		4 brpeck
+
+/ Energy Work
+
+newton			kg-m/sec2
+nt			newton
+N			newton
+joule			nt-m
+cal			4.1868 joule
+
+/ Electrical
+
+coulomb			coul
+C			coul
+ampere			coul/sec
+amp			ampere
+watt			joule/sec
+volt			watt/amp
+ohm			volt/amp
+mho			/ohm
+farad			coul/volt
+henry			sec2/farad
+weber			volt-sec
+
+/ Light
+
+cd			candela
+lumen			cd sr
+lux			cd sr/m2
+
+/ Wall Street Journal, July 2, 1993
+
+$			dollar
+argentinapeso		$
+australiadollar		.66 $
+austriaschilling	.83 $
+bahraindinar		2.6522 $
+belgiumfranc		.028 $
+brazilcruzeiro		.000019 $
+britainpound		1.49 $
+canadadollar		.77 $
+czechkoruna		.034 $
+chilepeso		.0025 $
+chinarenminbi		.174856 $
+colombiapeso		.001495 $
+denmarkkrone		.15 $
+ecuadorsucre		.000539 $
+finlandmarkka		.17 $
+francefranc		.17 $
+germanymark		.58 $
+greatbritainpound	britainpound
+greecedrachma		.0043 $
+hongkongdollar		.13  $
+hungaryforint		.011 $
+indiarupee		.03211 $
+indonesiarupiah		.0004782 $
+irelandpunt		1.43 $
+israelshekel		.3642 $
+italylira		.00064 $
+japanyen		.0093 $
+jordandinar		1.4682 $
+kuwaitdinar		3.3173 $
+lebanonpound		.000578 $
+malaysiaringgit		.338 $
+maltalira		2.6042 $
+mexicopeso		.3205128 $
+netherlandsguilder	.52 $
+newzealanddollar	.539 $
+norwaykrone		.139 $
+pakistanrupee		.037 $
+perunewsol		.5065 $
+philippinespeso		.03738 $
+polandzloty		.000059 $
+portugalescudo		.00617 $
+saudiarabiariyal	.26702 $
+singaporedollar		.6157 $
+slovakkoruna		.034 $
+southafricarand		.21 $
+southkoreawon		.001 $
+spainpeseta		.007 $
+swedenkrona		.13 $
+switzerlandfranc	.66 $
+taiwandollar		.038285 $
+thailandbaht		.03962 $
+turkeylira		.0000929 $
+unitedarabdirham	.2723 $
+uruguaynewpeso		.246852 $
+venezuelabolivar	.011 $
+
+mark			germanymark
+bolivar			venezuelabolivar
+peseta			spainpeseta
+rand			southafricarand
+escudo			portugalescudo
+sol			perunewsol
+guilder			netherlandsguilder
+hollandguilder		netherlandsguilder
+peso			mexicopeso
+yen			japanyen
+lira			italylira
+rupee			indiarupee
+drachma			greecedrachma
+franc			francefranc
+markka			finlandmarkka
+sucre			ecuadorsucre
+poundsterling		britainpound
+cruzeiro		brazilcruzeiro
+
+/ computer
+
+baud			bit/sec
+byte			8 bit
+block			512 byte
+kbyte			1024 byte
+megabyte		1024 kbyte
+gigabyte		1024 megabyte
+meg			megabyte
+
+
+/ Trivia
+
+%			1|100
+admiraltyknot		6080 ft/hr
+apostilb		cd/pi-m2
+are			1+2 m2
+arpentcan		27.52 mi
+arpentlin		191.835 ft
+astronomicalunit	au
+atmosphere		1.01325+5 nt/m2
+atm			atmosphere
+atomicmassunit		1.66044-27 kg fuzz
+amu			atomicmassunit
+bag			94 lb
+bakersdozen		13
+bar			1+5 nt/m2
+barie			1-1 nt/m2
+barleycorn		1|3 in
+barn			1-28 m2
+barrel			42 gal
+barye			1-1 nt/m2
+bev			1+9 e-volt
+biot			10 amp
+blondel			cd/pi-m2
+boardfoot		144 in3
+bolt			40 yd
+bottommeasure		1|40 in
+britishthermalunit	1.05506+3 joule fuzz
+btu			britishthermalunit
+refrigeration		12000 btu/ton-hour
+buck			dollar
+cable			720 ft
+caliber			1-2 in
+calorie			cal
+carat			205 mg
+caratgold		1|24
+cent			centidollar
+cental			100 lb
+centesimalminute	1-2 grade
+centesimalsecond	1-4 grade
+century			100 year
+cfs			ft3/sec
+chain			66 ft
+circularinch		1|4 pi-in2
+circularmil		1-6|4 pi-in2
+clusec			1-8 mm-hg m3/s
+coomb			4 bu
+cord			128 ft3
+cordfoot		cord
+crith			9.06-2 gm
+cubit			18 in
+cup			1|2 pt
+curie			3.7+10 /sec
+dalton			amu
+decade			10 yr
+dipotre			/m
+displacementton		35 ft3
+doppelzentner		100 kg
+dozen			12
+drop			.03 cm3
+dyne			cm-gm/sec2
+electronvolt		e-volt
+ell			45 in
+engineerschain		100 ft
+engineerslink		100|100 ft
+equivalentfootcandle	lumen/pi-ft2
+equivalentlux		lumen/pi-m2
+equivalentphot		cd/pi-cm2
+erg			cm2-gm/sec2
+ev			e-volt
+/ faraday			9.652000+04 coul
+/ faraday  from  host: physics.nist.gov
+/          	 path: /PhysRefData/fundconst/html/keywords.html
+ at LegacyY@faraday		9.6485309+4 coul
+ at LegacyN@faraday		e-mole
+fathom			6 ft
+fermi			1-15 m
+fifth			4|5 qt
+fin			5 dollar
+finger			7|8 in
+firkin			9 gal
+footcandle		lumen/ft2
+footlambert		cd/pi-ft2
+fortnight		14 da
+franklin		3.33564-10 coul
+frigorie		kilocal
+furlong			220 yd
+galileo			1-2 m/sec2
+gamma			1-9 weber/m2
+gauss			1-4 weber/m2
+geodeticfoot		british-ft
+geographicalmile	1852 m
+gilbert			7.95775-1 amp
+gill			1|4 pt
+gross			144
+gunterschain		22 yd
+hand			4 in
+hectare			1+4 m2
+hefnercandle		.92 cd
+hertz			/sec
+Hz			hertz
+hogshead		2 barrel
+hd			hogshead
+homestead		1|4 mi2
+horsepower		550 ft-lb-g/sec
+hp			horsepower
+hyl			gm force sec2/m
+hz			/sec
+imaginarycubicfoot	1.4 ft3
+jeroboam		4|5 gal
+ at LegacyY@boltzmann		1.38064852-23 joule/K
+ at LegacyN@boltzmann		1.380649-23 joule/K
+k			boltzmann
+karat			1|24
+kcal			kilocal
+kcalorie		kilocal
+kev			1+3 e-volt
+key			kg
+khz			1+3 /sec
+kilderkin		18 gal
+knot			nmile/hr
+lambert			cd/pi-cm2
+langley			cal/cm2
+last			80 bu
+league			3 mi
+lightyear		c-yr
+line			1|12 in
+link			66|100 ft
+longhundredweight	112 lb
+longquarter		28 lb
+lusec			1-6 mm-hg m3/s
+mach			331.46 m/sec
+magnum			2 qt
+marineleague		3 nmile
+maxwell			1-8 weber
+metriccarat		200 mg
+mgd			megagal/day
+mh			millihenry
+mhz			1+6 /sec
+mil			1-3 in
+millenium		1000 year
+minersinch		1.5 ft3/min
+minim			1|60 fldr
+mo			month
+mpg			mile/gal
+mph			mile/hr
+nail			1|16 yd
+nauticalmile		nmile
+nit			cd/m2
+noggin			1|8 qt
+nox			1-3 lux
+ns			nanosec
+oersted			2.5+2 pi-amp/m
+oe			oersted
+pace			36 in
+palm			3 in
+parasang		3.5 mi
+parsec			au-radian/arcsec
+pascal			nt/m2
+pc			parsec
+pennyweight		1|20 oz
+pwt			pennyweight
+percent			%
+perch			rd
+pf			picofarad
+phot			lumen/cm2
+pica			1|6 in
+pieze			1+3 nt/m2
+pipe			4 barrel
+point			1|72 in
+poise			gm/cm-sec
+pole			rd
+poundal			ft-lb/sec2
+pdl			poundal
+proof			1|200
+psi			lb-g/in2
+quarter			9 in
+quartersection		1|4 mi2
+quintal			100 kg
+quire			25
+ at LegacyY@gasconstant		8.3144598 joule/K
+ at LegacyN@gasconstant		k-mole
+R			gasconstant
+rad			100 erg/gm
+ream			500
+registerton		100 ft3
+rehoboam		156 floz
+rhe			10 m2/nt-sec
+rontgen			2.58-4 curie/kg
+rood			1.21+3 yd
+rope			20 ft
+rutherford		1+6 /sec
+rydberg			1.36054+1 ev
+sabin			1 ft2
+sack			3 bu
+seam			8 bu
+section			mi2
+shippington		40 ft3
+shorthundredweight	100 lb
+shortquarter		25 lb
+siemens			/ohm
+sigma			microsec
+skein			120 yd
+skot			1-3 apostilb
+slug			lb-g-sec2/ft
+span			9 in
+spat			4 pi sr
+spindle			14400 yd
+square			100 ft2
+stere			m3
+sthene			1+3 nt
+stilb			cd/cm2
+stoke			1-4 m2/sec
+stone			14 lb
+strike			2 bu
+surveyfoot		british-ft
+surveyyard		3 surveyfoot
+surveyorschain		66 ft
+surveyorslink		66|100 ft
+tablespoon		4 fldr
+teaspoon		4|3 fldr
+tesla			weber/m2
+therm			1+5 btu
+thermie			1+6 cal
+timberfoot		ft3
+tnt			4.6+6 m2/sec2
+tonne			1+6 gm
+torr			mm hg
+township		36 mi2
+tun			8 barrel
+water			gram g / cc
+wey			40 bu
+weymass			252 lb
+Xunit			1.00202-13m
+degC			K
+
+kelvin			K
+brewster		1-12 m2/newton
+degF			5|9 degC
+degreesrankine		degF
+degrankine		degreesrankine
+degreerankine		degF
+degreaumur		10|8 degC
+drachm			60 grain
+poncelet		100 kg m g / sec
+denier			.05|450 gram / m
+tex			.001 gram / m
+englishell		45 inch
+scottishell		37.2 inch
+flemishell		27 inch
+ at LegacyY@planck			6.626-34 joule-sec
+ at LegacyN@planck			6.62607015-34 joule-sec
+ at LegacyY@hbar			1.055-34 joule-sec
+ at LegacyN@hbar			planck/two-pi
+electronmass		9.1095-31 kg
+protonmass		1.6726-27 kg
+neutronmass		1.6606-27 kg
+V			volt
+eV			e V
+bohrradius		1|8.988e9 hbar2-C2 / N m2-e2-electronmass
+becquerel		1|3.7+10 curie
+fresnel			1+12 hertz
+statcoul		1|2.99792458+9 coul
+statamp			1|2.99792458+9 amp
+statvolt		2.99792458+2 volt
+statcoulomb		statcoul
+statampere		statamp
+debye			3.336-30 coul-m
+pulsatance		2 pi/sec
+rpm			rev/minute
+rps			rev/sec
+kilohm			kiloohm
+megohm			megaohm
+siderealyear		365.256360417 day
+siderealday		23.934469444 hour
+siderealhour		1|24 siderealday
+lunarmonth		29.5305555 day
+synodicmonth		lunarmonth
+siderealmonth		27.32152777 day
+tropicalyear		year
+solaryear		year
+lunaryear		12 lunarmonth
+cran			37.5 brgallon
+kip			1000 lbf
+frenchfoot		16|15 ft
+frenchfeet		frenchfoot
+toise			6 frenchfeet
+sievert			8.4 rontgen
+candle			1.02 candela
+militarypace		2.5 feet
+metre			meter
+litre			liter
+gramme			gram
+iudiptheria		62.8 microgram
+iupenicillin		.6 microgram
+iuinsulin		41.67 microgram
+cottonyarncount		2520 ft/pound
+linenyarncount		900 ft/pound
+worstedyarncount	1680 ft/pound
+metricyarncount		meter/gram
+jewlerspoint		2 milligram
+
+
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/nrnmain.cpp
@@ -0,0 +1,97 @@
+#include <nrnconf.h>
+#include <stdio.h>
+#include <string.h>
+#include "../nrncvode/nrnneosm.h"
+#include <nrnmpi.h>
+#include <errno.h>
+#include "isoc99.h"
+
+extern "C" int nrn_isdouble(double*, double, double);
+extern int ivocmain(int, const char**, const char**);
+extern int nrn_main_launch;
+extern int nrn_noauto_dlopen_nrnmech;
+#if NRNMPI_DYNAMICLOAD
+extern void nrnmpi_stubs();
+extern char* nrnmpi_load(int is_python);
+#endif
+#if NRNMPI
+extern "C" void nrnmpi_init(int nrnmpi_under_nrncontrol, int* pargc, char*** pargv);
+#endif
+
+int main(int argc, char** argv, char** env) {
+    nrn_isdouble(0, 0, 0);
+    nrn_main_launch = 1;
+
+#if defined(AUTO_DLOPEN_NRNMECH) && AUTO_DLOPEN_NRNMECH == 0
+    nrn_noauto_dlopen_nrnmech = 1;
+#endif
+
+#if 0
+printf("argc=%d\n", argc);
+for (int i=0; i < argc; ++i) {
+printf("argv[%d]=|%s|\n", i, argv[i]);
+}
+#endif
+#if NRNMPI
+#if NRNMPI_DYNAMICLOAD
+    nrnmpi_stubs();
+    for (int i = 0; i < argc; ++i) {
+        if (strcmp("-mpi", argv[i]) == 0) {
+            char* pmes;
+            pmes = nrnmpi_load(0);
+            if (pmes) {
+                printf("%s\n", pmes);
+                exit(1);
+            }
+            break;
+        }
+    }
+#endif
+    nrnmpi_init(1, &argc, &argv);  // may change argc and argv
+#endif
+    errno = 0;
+    return ivocmain(argc, (const char**) argv, (const char**) env);
+}
+
+#if USENCS
+void nrn2ncs_outputevent(int, double) {}
+#endif
+
+// moving following to src/oc/ockludge.cpp since on
+// Darwin Kernel Version 8.9.1 on apple i686 (and the newest config.guess
+// thinks it is a i386, but that is a different story)
+// including mpi.h gives some errors like:
+// /Users/hines/mpich2-1.0.5p4/instl/include/mpicxx.h:26:2: error: #error
+// SEEK_SET is #defined but must not be for the C++ binding of MPI"
+
+#if 0 && NRNMPI && DARWIN
+// For DARWIN I do not really know the proper way to avoid
+// dyld: lazy symbol binding failed: Symbol not found: _MPI_Init
+// when the MPI functions are all used in the libnrnmpi.dylib
+// but the libmpi.a is statically linked. Therefore I am forcing
+// the linking here by listing all the MPI functions being used.
+#include <mpi.h>
+static void work_around() {
+	MPI_Comm c = MPI_COMM_WORLD;
+	MPI_Init(0, 0);
+	MPI_Comm_rank(c, 0);
+	MPI_Comm_size(c, 0);
+	MPI_Wtime();
+	MPI_Finalize();
+	MPI_Unpack(0, 0, 0, 0, 0, 0, c);
+	MPI_Pack(0, 0, 0, 0, 0, 0, c);
+	MPI_Pack_size(0, 0, c, 0);
+	MPI_Send(0,0,0,0,0,c);
+	MPI_Probe(0, 0, c, 0);
+	MPI_Get_count(0, 0, 0);
+	MPI_Recv(0,0,0,0,0,c,0);
+	MPI_Sendrecv(0,0,0,0,0,0,0,0,0,0,c,0);
+	MPI_Iprobe(0,0,c,0,0);
+	MPI_Get_address(0,0);
+	MPI_Type_create_struct(0,0,0,0,0);
+	MPI_Type_commit(0);
+	MPI_Allgather(0,0,0,0,0,0,c);
+	MPI_Allgatherv(0,0,0,0,0,0,0,c);
+	MPI_Allreduce(0,0,0,0,0,c);
+}
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h
@@ -0,0 +1,6 @@
+/* define to 1 if allowing NEOSIM */
+/* #undef USENEOSIM */
+/* define to 1 if allowing NCS */
+/* #undef USENCS */
+/* define to 1 (default) if Observer is a base class of DiscreteEvent */
+#define DISCRETE_EVENT_OBSERVER 1
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/debian-build/wuruilong/demo/neuron-8.2.2")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make
@@ -0,0 +1,97 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for generate_hocusr_header.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/generate_hocusr_header.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/generate_hocusr_header.dir/progress.make
+
+src/nrniv/CMakeFiles/generate_hocusr_header: src/oc/hocusr.h
+
+src/oc/hocusr.h: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h
+src/oc/hocusr.h: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mk_hocusr_h.py
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating ../oc/hocusr.h"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc -E -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h > neuron.tmp1
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed /^#/d neuron.tmp1 > neuron.tmp2
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/python3 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mk_hocusr_h.py < neuron.tmp2 > /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/hocusr.h
+
+generate_hocusr_header: src/nrniv/CMakeFiles/generate_hocusr_header
+generate_hocusr_header: src/oc/hocusr.h
+generate_hocusr_header: src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make
+.PHONY : generate_hocusr_header
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/build: generate_hocusr_header
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/build
+
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/generate_hocusr_header.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/clean
+
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/cmake_clean.cmake
@@ -0,0 +1,9 @@
+file(REMOVE_RECURSE
+  "../oc/hocusr.h"
+  "CMakeFiles/generate_hocusr_header"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/generate_hocusr_header.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for generate_hocusr_header.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for generate_hocusr_header.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generate_hocusr_header.dir/progress.make
@@ -0,0 +1,2 @@
+CMAKE_PROGRESS_1 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/build.make
@@ -0,0 +1,90 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for generated_source_files.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/generated_source_files.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/generated_source_files.dir/progress.make
+
+src/nrniv/CMakeFiles/generated_source_files:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && true
+
+generated_source_files: src/nrniv/CMakeFiles/generated_source_files
+generated_source_files: src/nrniv/CMakeFiles/generated_source_files.dir/build.make
+.PHONY : generated_source_files
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/generated_source_files.dir/build: generated_source_files
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/build
+
+src/nrniv/CMakeFiles/generated_source_files.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/generated_source_files.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/clean
+
+src/nrniv/CMakeFiles/generated_source_files.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/generated_source_files"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/generated_source_files.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for generated_source_files.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for generated_source_files.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/generated_source_files.dir/progress.make
@@ -0,0 +1 @@
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/DependInfo.cmake
@@ -0,0 +1,39 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp" "src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp" "src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o" "gcc" "src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o.d"
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o.d
@@ -0,0 +1,165 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o.d
@@ -0,0 +1,165 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o.d
@@ -0,0 +1,166 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/extdef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/extargs.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o.d
@@ -0,0 +1,166 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o.d
@@ -0,0 +1,165 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o.d
@@ -0,0 +1,165 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o.d
@@ -0,0 +1,202 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/signal.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sig_atomic_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/siginfo_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigevent_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigevent-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigaction.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigcontext.h \
+ /usr/include/loongarch64-linux-gnu/asm/sigcontext.h \
+ /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/stack_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/ucontext.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /usr/include/loongarch64-linux-gnu/bits/ss_flags.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigthread.h \
+ /usr/include/loongarch64-linux-gnu/bits/signal_ext.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.h \
+ /usr/include/assert.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o.d
@@ -0,0 +1,160 @@
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/build.make
@@ -0,0 +1,350 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrniv/CMakeFiles/modlunit.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/modlunit.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrniv/CMakeFiles/modlunit.dir/flags.make
+
+src/nrniv/modlunit_generated/lex.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/lex.lpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "[FLEX][modlunitlexer] Building scanner with flex 2.6.4"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated && /usr/bin/flex -o lex.cpp ../../../../src/modlunit/lex.lpp
+
+src/nrniv/modlunit_generated/parse1.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/parse1.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "[BISON][modlunitparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated && /usr/bin/bison --defines=parse1.hpp -o parse1.cpp ../../../../src/modlunit/parse1.ypp
+
+src/nrniv/modlunit_generated/parse1.cpp: src/nrniv/modlunit_generated/parse1.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/modlunit_generated/parse1.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp > CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/consist.cpp -o CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp > CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/declare.cpp -o CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/init.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp > CMakeFiles/modlunit.dir/__/modlunit/init.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/init.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/init.cpp -o CMakeFiles/modlunit.dir/__/modlunit/init.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/io.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp > CMakeFiles/modlunit.dir/__/modlunit/io.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/io.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/io.cpp -o CMakeFiles/modlunit.dir/__/modlunit/io.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp > CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/kinunit.cpp -o CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/list.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp > CMakeFiles/modlunit.dir/__/modlunit/list.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/list.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/list.cpp -o CMakeFiles/modlunit.dir/__/modlunit/list.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/model.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp > CMakeFiles/modlunit.dir/__/modlunit/model.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/model.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.cpp -o CMakeFiles/modlunit.dir/__/modlunit/model.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp > CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/nrnunit.cpp -o CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp > CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/passn.cpp -o CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp > CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/symbol.cpp -o CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/units.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp > CMakeFiles/modlunit.dir/__/modlunit/units.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/units.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units.cpp -o CMakeFiles/modlunit.dir/__/modlunit/units.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp > CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/units1.cpp -o CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o -MF CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o.d -o CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/__/modlunit/version.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp > CMakeFiles/modlunit.dir/__/modlunit/version.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/__/modlunit/version.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/version.cpp -o CMakeFiles/modlunit.dir/__/modlunit/version.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o: src/nrniv/modlunit_generated/lex.cpp
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o -MF CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o.d -o CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp > CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp -o CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.s
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/flags.make
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o: src/nrniv/modlunit_generated/parse1.cpp
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o: src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building CXX object src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o -MF CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o.d -o CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp > CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.i
+
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp -o CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.s
+
+# Object files for target modlunit
+modlunit_OBJECTS = \
+"CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o" \
+"CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o" \
+"CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o" \
+"CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o"
+
+# External object files for target modlunit
+modlunit_EXTERNAL_OBJECTS =
+
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/build.make
+bin/modlunit: src/nrniv/CMakeFiles/modlunit.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Linking CXX executable ../../bin/modlunit"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/modlunit.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/modlunit.dir/build: bin/modlunit
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/build
+
+src/nrniv/CMakeFiles/modlunit.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/modlunit.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/clean
+
+src/nrniv/CMakeFiles/modlunit.dir/depend: src/nrniv/modlunit_generated/lex.cpp
+src/nrniv/CMakeFiles/modlunit.dir/depend: src/nrniv/modlunit_generated/parse1.cpp
+src/nrniv/CMakeFiles/modlunit.dir/depend: src/nrniv/modlunit_generated/parse1.hpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/cmake_clean.cmake
@@ -0,0 +1,42 @@
+file(REMOVE_RECURSE
+  "../../bin/modlunit"
+  "../../bin/modlunit.pdb"
+  "CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o.d"
+  "CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o"
+  "CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o.d"
+  "CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o"
+  "CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o.d"
+  "CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o"
+  "CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o.d"
+  "modlunit_generated/lex.cpp"
+  "modlunit_generated/parse1.cpp"
+  "modlunit_generated/parse1.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/modlunit.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for modlunit.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for modlunit.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for modlunit.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile CXX with /usr/bin/c++
+CXX_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DNRNUNIT=1 -DOMPI_SKIP_MPICXX=1
+
+CXX_INCLUDES = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/shared -I/home/debian-build/wuruilong/demo/neuron-8.2.2/external/Random123/include -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared -I/usr/include/python3.11
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11 -O0
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o -o ../../bin/modlunit  -Wl,-rpath,:::::::::::: 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o.d
@@ -0,0 +1,173 @@
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp \
+ /usr/include/stdc-predef.h /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/string.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/strings.h /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/cstdlib \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h /usr/include/c++/13/ostream \
+ /usr/include/c++/13/ios /usr/include/c++/13/iosfwd \
+ /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdio \
+ /usr/include/c++/13/cerrno /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o.d
@@ -0,0 +1,164 @@
+src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/model.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/modlunit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit.dir/progress.make
@@ -0,0 +1,19 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 
+CMAKE_PROGRESS_5 = 
+CMAKE_PROGRESS_6 = 2
+CMAKE_PROGRESS_7 = 
+CMAKE_PROGRESS_8 = 
+CMAKE_PROGRESS_9 = 
+CMAKE_PROGRESS_10 = 
+CMAKE_PROGRESS_11 = 3
+CMAKE_PROGRESS_12 = 
+CMAKE_PROGRESS_13 = 
+CMAKE_PROGRESS_14 = 
+CMAKE_PROGRESS_15 = 4
+CMAKE_PROGRESS_16 = 
+CMAKE_PROGRESS_17 = 
+CMAKE_PROGRESS_18 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/DependInfo.cmake
@@ -0,0 +1,24 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make
@@ -0,0 +1,104 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for modlunit_generated_files.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/modlunit_generated_files.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/modlunit_generated_files.dir/progress.make
+
+src/nrniv/CMakeFiles/modlunit_generated_files: src/nrniv/modlunit_generated/lex.cpp
+src/nrniv/CMakeFiles/modlunit_generated_files: src/nrniv/modlunit_generated/parse1.cpp
+
+src/nrniv/modlunit_generated/lex.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/lex.lpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "[FLEX][modlunitlexer] Building scanner with flex 2.6.4"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated && /usr/bin/flex -o lex.cpp ../../../../src/modlunit/lex.lpp
+
+src/nrniv/modlunit_generated/parse1.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/modlunit/parse1.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "[BISON][modlunitparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated && /usr/bin/bison --defines=parse1.hpp -o parse1.cpp ../../../../src/modlunit/parse1.ypp
+
+src/nrniv/modlunit_generated/parse1.cpp: src/nrniv/modlunit_generated/parse1.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/modlunit_generated/parse1.cpp
+
+modlunit_generated_files: src/nrniv/CMakeFiles/modlunit_generated_files
+modlunit_generated_files: src/nrniv/modlunit_generated/lex.cpp
+modlunit_generated_files: src/nrniv/modlunit_generated/parse1.cpp
+modlunit_generated_files: src/nrniv/modlunit_generated/parse1.hpp
+modlunit_generated_files: src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make
+.PHONY : modlunit_generated_files
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/build: modlunit_generated_files
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/build
+
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/modlunit_generated_files.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/clean
+
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/cmake_clean.cmake
@@ -0,0 +1,11 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/modlunit_generated_files"
+  "modlunit_generated/lex.cpp"
+  "modlunit_generated/parse1.cpp"
+  "modlunit_generated/parse1.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/modlunit_generated_files.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for modlunit_generated_files.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for modlunit_generated_files.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/modlunit_generated_files.dir/progress.make
@@ -0,0 +1,3 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 5
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/DependInfo.cmake
@@ -0,0 +1,47 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o" "gcc" "src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o.d"
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.hpp"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o.d
@@ -0,0 +1,176 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/../oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o.d
@@ -0,0 +1,176 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/extdef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/extdef2.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/extdef5.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o.d
@@ -0,0 +1,189 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /usr/include/loongarch64-linux-gnu/sys/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx.h \
+ /usr/include/linux/stat.h /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx_timestamp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o.d
@@ -0,0 +1,173 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o.d
@@ -0,0 +1,175 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/getopt.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_ext.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o.d
@@ -0,0 +1,181 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /usr/include/c++/13/stdlib.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o.d
@@ -0,0 +1,173 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o.d
@@ -0,0 +1,173 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o.d
@@ -0,0 +1,203 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/../modlunit/units.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/signal.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sig_atomic_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/siginfo_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigevent_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigevent-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigaction.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigcontext.h \
+ /usr/include/loongarch64-linux-gnu/asm/sigcontext.h \
+ /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/stack_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/ucontext.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /usr/include/loongarch64-linux-gnu/bits/ss_flags.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigthread.h \
+ /usr/include/loongarch64-linux-gnu/bits/signal_ext.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/../modlunit/units.h \
+ /usr/include/assert.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o.d
@@ -0,0 +1,160 @@
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/build.make
@@ -0,0 +1,471 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrniv/CMakeFiles/nocmodl.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/nocmodl.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+
+src/nrniv/nocmodl_generated/lex.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/lex.lpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "[FLEX][nocmodllexer] Building scanner with flex 2.6.4"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/flex -o lex.cpp ../../../../src/nmodl/lex.lpp
+
+src/nrniv/nocmodl_generated/parse1.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parse1.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "[BISON][nocmodlparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/bison --defines=parse1.hpp -o parse1.cpp ../../../../src/nmodl/parse1.ypp
+
+src/nrniv/nocmodl_generated/parse1.cpp: src/nrniv/nocmodl_generated/parse1.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/nocmodl_generated/parse1.cpp
+
+src/nrniv/nocmodl_generated/diffeq.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/diffeq.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "[BISON][nocmodlparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/bison --defines=diffeq.hpp -o diffeq.cpp ../../../../src/nmodl/diffeq.ypp
+
+src/nrniv/nocmodl_generated/diffeq.cpp: src/nrniv/nocmodl_generated/diffeq.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/nocmodl_generated/diffeq.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp > CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/consist.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp > CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/deriv.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp > CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/discrete.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp > CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/init.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp > CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/io.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp > CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/kinetic.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp > CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/list.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp > CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp > CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nocpout.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp > CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/noccout.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp > CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parsact.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp > CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/netrec_discon.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp > CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/partial.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp > CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/sens.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp > CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/simultan.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp > CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/solve.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp > CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/symbol.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp > CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/units.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o -MF CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o.d -o CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp > CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/version.cpp -o CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o: src/nrniv/nocmodl_generated/lex.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_23) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o -MF CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o.d -o CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp > CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp -o CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o: src/nrniv/nocmodl_generated/parse1.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_24) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o -MF CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o.d -o CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp > CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp -o CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.s
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/flags.make
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o: src/nrniv/nocmodl_generated/diffeq.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o: src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_25) "Building CXX object src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o -MF CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o.d -o CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp > CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.i
+
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp -o CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.s
+
+# Object files for target nocmodl
+nocmodl_OBJECTS = \
+"CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o" \
+"CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o" \
+"CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o" \
+"CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o" \
+"CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o"
+
+# External object files for target nocmodl
+nocmodl_EXTERNAL_OBJECTS =
+
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/build.make
+bin/nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_26) "Linking CXX executable ../../bin/nocmodl"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/nocmodl.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/nocmodl.dir/build: bin/nocmodl
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/build
+
+src/nrniv/CMakeFiles/nocmodl.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/nocmodl.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/clean
+
+src/nrniv/CMakeFiles/nocmodl.dir/depend: src/nrniv/nocmodl_generated/diffeq.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/depend: src/nrniv/nocmodl_generated/diffeq.hpp
+src/nrniv/CMakeFiles/nocmodl.dir/depend: src/nrniv/nocmodl_generated/lex.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/depend: src/nrniv/nocmodl_generated/parse1.cpp
+src/nrniv/CMakeFiles/nocmodl.dir/depend: src/nrniv/nocmodl_generated/parse1.hpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/cmake_clean.cmake
@@ -0,0 +1,58 @@
+file(REMOVE_RECURSE
+  "../../bin/nocmodl"
+  "../../bin/nocmodl.pdb"
+  "CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o"
+  "CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o.d"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o"
+  "CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o.d"
+  "nocmodl_generated/diffeq.cpp"
+  "nocmodl_generated/diffeq.hpp"
+  "nocmodl_generated/lex.cpp"
+  "nocmodl_generated/parse1.cpp"
+  "nocmodl_generated/parse1.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/nocmodl.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for nocmodl.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for nocmodl.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for nocmodl.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile CXX with /usr/bin/c++
+CXX_DEFINES = -DCOMPILE_DEFINITIONS -DCVODE=1 -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DNMODL=1 -DNOCMODL=1 -DNRN_DYNAMIC_UNITS=1 -DOMPI_SKIP_MPICXX=1 -DVECTORIZE=1
+
+CXX_INCLUDES = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/shared -I/home/debian-build/wuruilong/demo/neuron-8.2.2/external/Random123/include -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared -I/usr/include/python3.11
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11 -O0
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o -o ../../bin/nocmodl  -Wl,-rpath,:::::::::::: 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o.d
@@ -0,0 +1,175 @@
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/difeqdef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o.d
@@ -0,0 +1,182 @@
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp \
+ /usr/include/stdc-predef.h /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/string.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/strings.h /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/cstdlib \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h /usr/include/c++/13/ostream \
+ /usr/include/c++/13/ios /usr/include/c++/13/iosfwd \
+ /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdio \
+ /usr/include/c++/13/cerrno /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o.d
@@ -0,0 +1,174 @@
+src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nmodlconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/modl.h \
+ /usr/include/string.h /usr/include/strings.h /usr/include/assert.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/limits.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/syslimits.h \
+ /usr/include/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/uio_lim.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/nmodlfunc.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl.dir/progress.make
@@ -0,0 +1,27 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 
+CMAKE_PROGRESS_5 = 6
+CMAKE_PROGRESS_6 = 
+CMAKE_PROGRESS_7 = 
+CMAKE_PROGRESS_8 = 
+CMAKE_PROGRESS_9 = 7
+CMAKE_PROGRESS_10 = 
+CMAKE_PROGRESS_11 = 
+CMAKE_PROGRESS_12 = 
+CMAKE_PROGRESS_13 = 
+CMAKE_PROGRESS_14 = 8
+CMAKE_PROGRESS_15 = 
+CMAKE_PROGRESS_16 = 
+CMAKE_PROGRESS_17 = 
+CMAKE_PROGRESS_18 = 
+CMAKE_PROGRESS_19 = 9
+CMAKE_PROGRESS_20 = 
+CMAKE_PROGRESS_21 = 
+CMAKE_PROGRESS_22 = 
+CMAKE_PROGRESS_23 = 10
+CMAKE_PROGRESS_24 = 
+CMAKE_PROGRESS_25 = 
+CMAKE_PROGRESS_26 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/DependInfo.cmake
@@ -0,0 +1,25 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.hpp"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make
@@ -0,0 +1,116 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for nocmodl_generated_files.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/nocmodl_generated_files.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/nocmodl_generated_files.dir/progress.make
+
+src/nrniv/CMakeFiles/nocmodl_generated_files: src/nrniv/nocmodl_generated/lex.cpp
+src/nrniv/CMakeFiles/nocmodl_generated_files: src/nrniv/nocmodl_generated/parse1.hpp
+src/nrniv/CMakeFiles/nocmodl_generated_files: src/nrniv/nocmodl_generated/parse1.cpp
+src/nrniv/CMakeFiles/nocmodl_generated_files: src/nrniv/nocmodl_generated/diffeq.hpp
+src/nrniv/CMakeFiles/nocmodl_generated_files: src/nrniv/nocmodl_generated/diffeq.cpp
+
+src/nrniv/nocmodl_generated/diffeq.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/diffeq.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "[BISON][nocmodlparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/bison --defines=diffeq.hpp -o diffeq.cpp ../../../../src/nmodl/diffeq.ypp
+
+src/nrniv/nocmodl_generated/diffeq.cpp: src/nrniv/nocmodl_generated/diffeq.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/nocmodl_generated/diffeq.cpp
+
+src/nrniv/nocmodl_generated/lex.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/lex.lpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "[FLEX][nocmodllexer] Building scanner with flex 2.6.4"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/flex -o lex.cpp ../../../../src/nmodl/lex.lpp
+
+src/nrniv/nocmodl_generated/parse1.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nmodl/parse1.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "[BISON][nocmodlparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated && /usr/bin/bison --defines=parse1.hpp -o parse1.cpp ../../../../src/nmodl/parse1.ypp
+
+src/nrniv/nocmodl_generated/parse1.cpp: src/nrniv/nocmodl_generated/parse1.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/nocmodl_generated/parse1.cpp
+
+nocmodl_generated_files: src/nrniv/CMakeFiles/nocmodl_generated_files
+nocmodl_generated_files: src/nrniv/nocmodl_generated/diffeq.cpp
+nocmodl_generated_files: src/nrniv/nocmodl_generated/diffeq.hpp
+nocmodl_generated_files: src/nrniv/nocmodl_generated/lex.cpp
+nocmodl_generated_files: src/nrniv/nocmodl_generated/parse1.cpp
+nocmodl_generated_files: src/nrniv/nocmodl_generated/parse1.hpp
+nocmodl_generated_files: src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make
+.PHONY : nocmodl_generated_files
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build: nocmodl_generated_files
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build
+
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/nocmodl_generated_files.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/clean
+
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/cmake_clean.cmake
@@ -0,0 +1,13 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/nocmodl_generated_files"
+  "nocmodl_generated/diffeq.cpp"
+  "nocmodl_generated/diffeq.hpp"
+  "nocmodl_generated/lex.cpp"
+  "nocmodl_generated/parse1.cpp"
+  "nocmodl_generated/parse1.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/nocmodl_generated_files.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for nocmodl_generated_files.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for nocmodl_generated_files.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nocmodl_generated_files.dir/progress.make
@@ -0,0 +1,4 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 11
+CMAKE_PROGRESS_3 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/DependInfo.cmake
@@ -0,0 +1,21 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp" "src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/modlreg.cpp" "src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ockludge.cpp" "src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o.d"
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/build.make
@@ -0,0 +1,155 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrniv/CMakeFiles/nrniv.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/nrniv.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrniv/CMakeFiles/nrniv.dir/flags.make
+
+src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/flags.make
+src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp
+src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o -MF CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o.d -o CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp
+
+src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp > CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.i
+
+src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp -o CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.s
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/flags.make
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ockludge.cpp
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o -MF CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o.d -o CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ockludge.cpp
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ockludge.cpp > CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.i
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ockludge.cpp -o CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.s
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/flags.make
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/modlreg.cpp
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o: src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o -MF CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o.d -o CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/modlreg.cpp
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/modlreg.cpp > CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.i
+
+src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/modlreg.cpp -o CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.s
+
+# Object files for target nrniv
+nrniv_OBJECTS = \
+"CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o" \
+"CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o" \
+"CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o"
+
+# External object files for target nrniv
+nrniv_EXTERNAL_OBJECTS =
+
+bin/nrniv: src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o
+bin/nrniv: src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o
+bin/nrniv: src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o
+bin/nrniv: src/nrniv/CMakeFiles/nrniv.dir/build.make
+bin/nrniv: lib/libnrniv.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libreadline.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libcurses.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libform.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so
+bin/nrniv: /usr/lib/libinterviews.a
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libSM.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libICE.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libX11.so
+bin/nrniv: /usr/lib/loongarch64-linux-gnu/libXext.so
+bin/nrniv: src/nrniv/CMakeFiles/nrniv.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking CXX executable ../../bin/nrniv"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/nrniv.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/nrniv.dir/build: bin/nrniv
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/build
+
+src/nrniv/CMakeFiles/nrniv.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/nrniv.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/clean
+
+src/nrniv/CMakeFiles/nrniv.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/cmake_clean.cmake
@@ -0,0 +1,15 @@
+file(REMOVE_RECURSE
+  "../../bin/nrniv"
+  "../../bin/nrniv.pdb"
+  "CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o"
+  "CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o.d"
+  "CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o"
+  "CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o.d"
+  "CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o"
+  "CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o.d"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/nrniv.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for nrniv.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for nrniv.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for nrniv.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile CXX with /usr/bin/c++
+CXX_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1
+
+CXX_INCLUDES = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/shared -I/home/debian-build/wuruilong/demo/neuron-8.2.2/external/Random123/include -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared -I/usr/include/python3.11 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated -I/usr/lib/loongarch64-linux-gnu/openmpi/include -I/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o -o ../../bin/nrniv  -Wl,-rpath,/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib:/usr/lib/loongarch64-linux-gnu/openmpi/lib: ../../lib/libnrniv.so -ldl -ldl /usr/lib/loongarch64-linux-gnu/libreadline.so -lcurses /usr/lib/loongarch64-linux-gnu/libform.so /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/libinterviews.a /usr/lib/loongarch64-linux-gnu/libSM.so /usr/lib/loongarch64-linux-gnu/libICE.so /usr/lib/loongarch64-linux-gnu/libX11.so /usr/lib/loongarch64-linux-gnu/libXext.so 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv.dir/progress.make
@@ -0,0 +1,5 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 12
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/DependInfo.cmake
@@ -0,0 +1,397 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/arnoldi.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bdfactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bkpfacto.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/chfactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/conjgrad.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/copy.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/dmacheps.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/extras.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/fft.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/givens.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hessen.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hsehldr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/init.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iter0.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iternsym.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/itersym.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/ivecop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lanczos.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lufactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matlab.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrixio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memory.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memstat.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/mfunc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/norm.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/otherio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/pxop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/qrfactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/schur.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/solve.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparseio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spbkp.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spchfctr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/splufctr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sprow.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spswap.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/submat.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/svd.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/symmeig.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/update.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/vecop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/version.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zcopy.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zfunc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zgivens.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhessen.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhsehldr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zlufctr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmachine.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatlab.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmemory.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/znorm.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zqrfctr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zschur.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zsolve.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zvecop.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/abort.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adams.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adeuler.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adrunge.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/advance.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/boundary.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crank.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout_thread.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csoda.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csodabnc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/deflate.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/dimplic.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/euler.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/expfit.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/exprand.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/f2cmisc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/factoria.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/force.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gauss.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gear.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/getmem.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/harmonic.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/heun.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/hyperbol.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/invert.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/lag.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/legendre.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton_thread.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/normrand.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perpulse.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perstep.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisrand.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisson.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/praxis.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/pulse.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/quad.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ramp.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revhyper.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsawto.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsigmo.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/romberg.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/runge.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sawtooth.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/schedule.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/scoperf.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/seidel.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sigmoid.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simeq.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simplex.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse_thread.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/spline.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/squarewa.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic_thread.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/step.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/threshol.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/tridiag.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/vsparse.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspalloc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspbuild.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspfactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspoutput.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspsolve.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/csputils.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spalloc.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spbuild.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spfactor.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spoutput.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spsolve.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/sputils.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvband.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbandpre.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbbdpre.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodea.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodesio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvspgmr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaband.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idabbdpre.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idadense.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaic.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaio.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaspgmr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/band.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/iterative.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_parallel.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/spgmr.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.c" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/bbsmpipack.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/mpispike.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpi.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code2.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/debug.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fileio.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fmenu.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ftime.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/functabl.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/getsym.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_init.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_oop.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocusr.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isoc99.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/list.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/math.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mswinprt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nonlin.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocerf.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parallel.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plot.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/regexp.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/scoprand.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/settext.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/symbol.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/version.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/x.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/xred.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/bksub.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/getelm.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/lineq.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/prmat.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/subrows.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnparallel_ld.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp" "src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o" "gcc" "src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o.d"
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o.d
@@ -0,0 +1,209 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/style.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/action.h \
+ /usr/include/IV-X11/xevent.h /usr/include/IV-X11/Xlib.h \
+ /usr/include/IV-X11/Xdefs.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \
+ /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \
+ /usr/include/IV-X11/Xundefs.h /usr/include/IV-X11/xwindow.h \
+ /usr/include/InterViews/geometry.h /usr/include/IV-X11/Xutil.h \
+ /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \
+ /usr/include/X11/keysymdef.h /usr/include/OS/list.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/handler.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/telltale.h \
+ /usr/include/InterViews/background.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/box.h \
+ /usr/include/InterViews/session.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o.d
@@ -0,0 +1,206 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /usr/include/InterViews/background.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/label.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/handler.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o.d
@@ -0,0 +1,175 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o.d
@@ -0,0 +1,198 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/window.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/style.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/handler.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /usr/include/InterViews/hit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/table.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/equation.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o.d
@@ -0,0 +1,176 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o.d
@@ -0,0 +1,203 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/Dispatch/dispatcher.h \
+ /usr/include/Dispatch/enter-scope.h /usr/include/Dispatch/dp.h \
+ /usr/include/Dispatch/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/Dispatch/iocallback.h /usr/include/Dispatch/iohandler.h \
+ /usr/include/OS/types.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/telltale.h \
+ /usr/include/InterViews/background.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/font.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/selection.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/window.h \
+ /usr/include/IV-2_6/InterViews/button.h \
+ /usr/include/IV-2_6/InterViews/interactor.h \
+ /usr/include/IV-2_6/InterViews/alignment.h /usr/include/IV-2_6/_enter.h \
+ /usr/include/IV-2_6/_names.h /usr/include/IV-2_6/_leave.h \
+ /usr/include/InterViews/_names.h /usr/include/IV-2_6/InterViews/minmax.h \
+ /usr/include/IV-2_6/InterViews/textstyle.h \
+ /usr/include/IV-2_6/InterViews/subject.h \
+ /usr/include/IV-2_6/InterViews/painter.h \
+ /usr/include/IV-2_6/InterViews/sensor.h \
+ /usr/include/IV-2_6/InterViews/streditor.h \
+ /usr/include/IV-2_6/InterViews/textdisplay.h /usr/include/OS/math.h \
+ /usr/include/OS/string.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o.d
@@ -0,0 +1,181 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrngsl_real_radix2.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrngsl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrngsl_hc_radix2.cpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o.d
@@ -0,0 +1,186 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/InterViews/raster.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/image.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/geometry.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o.d
@@ -0,0 +1,257 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/assert.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/color.h /usr/include/InterViews/brush.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/label.h \
+ /usr/include/InterViews/font.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/style.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/observe.h \
+ /usr/include/OS/string.h /usr/include/InterViews/image.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/action.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.h \
+ /usr/include/InterViews/polyglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.h \
+ /usr/include/InterViews/dialog.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocjump.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.h \
+ /usr/include/InterViews/box.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/fchooser.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o.d
@@ -0,0 +1,214 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h /usr/include/OS/string.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o.d
@@ -0,0 +1,207 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/types.h \
+ /usr/include/Dispatch/dispatcher.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/image.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o.d
@@ -0,0 +1,213 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/label.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/cursor.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.h \
+ /usr/include/InterViews/polyglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/IV-look/field.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o.d
@@ -0,0 +1,190 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/color.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/brush.h /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o.d
@@ -0,0 +1,169 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o.d
@@ -0,0 +1,192 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/color.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/brush.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/font.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/style.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o.d
@@ -0,0 +1,225 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/resource.h /usr/include/IV-look/field.h \
+ /usr/include/OS/string.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bimap.hpp \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/reqerr.h /usr/include/InterViews/style.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/box.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/OS/list.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/fchooser.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocconf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o.d
@@ -0,0 +1,210 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../nrnpython/nrnpython_config.h \
+ /usr/include/c++/13/stdlib.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/types.h \
+ /usr/include/Dispatch/dispatcher.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o.d
@@ -0,0 +1,234 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/random1.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/assert.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/coord.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o.d
@@ -0,0 +1,251 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/functional /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/std_function.h /usr/include/OS/math.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/color.h /usr/include/InterViews/brush.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/label.h \
+ /usr/include/InterViews/font.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/style.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/handler.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/random1.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o.d
@@ -0,0 +1,205 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o.d
@@ -0,0 +1,209 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/iv3text.h \
+ /usr/include/InterViews/iv3textbuffer.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/string.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/patch.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/adjust.h \
+ /usr/include/OS/list.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/event.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o.d
@@ -0,0 +1,200 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/c++/13/fenv.h /usr/include/fenv.h \
+ /usr/include/loongarch64-linux-gnu/bits/fenv.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o.d
@@ -0,0 +1,206 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/window.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/input.h \
+ /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o.d
@@ -0,0 +1,187 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/string.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/place.h \
+ /usr/include/InterViews/patch.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/background.h /usr/include/InterViews/box.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/target.h /usr/include/IV-look/choice.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/action.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.h \
+ /usr/include/IV-look/fbrowser.h /usr/include/IV-look/browser.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o.d
@@ -0,0 +1,202 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/string.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/patch.h \
+ /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/transformer.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/background.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o.d
@@ -0,0 +1,228 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/IV-look/field.h /usr/include/OS/string.h \
+ /usr/include/InterViews/handler.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/fchooser.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/style.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocstr.h \
+ /usr/include/loongarch64-linux-gnu/sys/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx.h \
+ /usr/include/linux/stat.h /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx_timestamp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocstr.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o.d
@@ -0,0 +1,191 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/cursor.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/window.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/OS/list.h \
+ /usr/include/OS/string.h /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/string.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/glyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /usr/include/InterViews/monoglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.h \
+ /usr/include/IV-look/fbrowser.h /usr/include/IV-look/browser.h \
+ /usr/include/InterViews/input.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o.d
@@ -0,0 +1,231 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.h \
+ /usr/include/setjmp.h /usr/include/loongarch64-linux-gnu/bits/setjmp2.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrix2.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse2.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o.d
@@ -0,0 +1,167 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o.d
@@ -0,0 +1,185 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o.d
@@ -0,0 +1,179 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/transformer.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o.d
@@ -0,0 +1,196 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o.d
@@ -0,0 +1,215 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /usr/include/OS/string.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o.d
@@ -0,0 +1,194 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/Dispatch/iohandler.h \
+ /usr/include/Dispatch/enter-scope.h /usr/include/Dispatch/dp.h \
+ /usr/include/Dispatch/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /usr/include/OS/string.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o.d
@@ -0,0 +1,239 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/types.h \
+ /usr/include/Dispatch/dispatcher.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/resource.h \
+ /usr/include/IV-look/field.h /usr/include/InterViews/handler.h \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/fchooser.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/brush.h /usr/include/InterViews/font.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/printer.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/style.h \
+ /usr/include/InterViews/background.h /usr/include/InterViews/label.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/OS/table.h /usr/include/IV-X11/Xlib.h \
+ /usr/include/IV-X11/Xdefs.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \
+ /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \
+ /usr/include/IV-X11/Xundefs.h /usr/include/IV-X11/xdisplay.h \
+ /usr/include/IV-X11/Xutil.h /usr/include/X11/Xutil.h \
+ /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \
+ /usr/include/IV-X11/xwindow.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o.d
@@ -0,0 +1,192 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/style.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/brush.h \
+ /usr/include/InterViews/transformer.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o.d
@@ -0,0 +1,181 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/session.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/color.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/brush.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/window.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/OS/math.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o.d
@@ -0,0 +1,209 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/assert.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/brush.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.h \
+ /usr/include/InterViews/printer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/handler.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o.d
@@ -0,0 +1,215 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/telltale.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/OS/list.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /usr/include/InterViews/hit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o.d
@@ -0,0 +1,204 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/string.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/InterViews/regexp.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symdir.h \
+ /usr/include/InterViews/resource.h /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o.d
@@ -0,0 +1,218 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/IV-look/choice.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/dialogs.h /usr/include/IV-look/field.h \
+ /usr/include/InterViews/input.h /usr/include/IV-look/fchooser.h \
+ /usr/include/InterViews/dialog.h /usr/include/IV-look/fbrowser.h \
+ /usr/include/IV-look/browser.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/font.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/target.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/display.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symdir.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o.d
@@ -0,0 +1,213 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/display.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/event.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/telltale.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/field.h /usr/include/IV-look/fchooser.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o.d
@@ -0,0 +1,195 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/IV-X11/xcanvas.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/IV-X11/Xlib.h /usr/include/IV-X11/Xdefs.h \
+ /usr/include/X11/Xlib.h /usr/include/X11/X.h \
+ /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \
+ /usr/include/IV-X11/Xundefs.h /usr/include/IV-X11/Xutil.h \
+ /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \
+ /usr/include/X11/keysymdef.h /usr/include/IV-X11/xwindow.h \
+ /usr/include/OS/list.h /usr/include/IV-X11/xdisplay.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/resource.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/action.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o.d
@@ -0,0 +1,236 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/InterViews/box.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/observe.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/style.h \
+ /usr/include/InterViews/background.h /usr/include/InterViews/border.h \
+ /usr/include/InterViews/dialog.h /usr/include/InterViews/printer.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/transformer.h \
+ /usr/include/InterViews/patch.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/display.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.h \
+ /usr/include/InterViews/window.h /usr/include/OS/list.h \
+ /usr/include/OS/string.h /usr/include/IV-look/dialogs.h \
+ /usr/include/IV-look/field.h /usr/include/IV-look/fchooser.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/datapath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o.d
@@ -0,0 +1,198 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/assert.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/hit.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/printer.h /usr/include/InterViews/session.h \
+ /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/style.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/background.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/handler.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o.d
@@ -0,0 +1,274 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/datapath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes_impl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o.d
@@ -0,0 +1,245 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/datapath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o.d
@@ -0,0 +1,245 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o.d
@@ -0,0 +1,309 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/math.h /usr/include/InterViews/regexp.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/datapath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /usr/include/OS/string.h /usr/include/InterViews/action.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnunits_modern.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/geometry.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /usr/include/c++/13/utility /usr/include/c++/13/bits/stl_relops.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocjump.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/profile.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/utils/profile/profiler_interface.h \
+ /usr/include/c++/13/unordered_set \
+ /usr/include/c++/13/bits/unordered_set.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/hocevent.cpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o.d
@@ -0,0 +1,265 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida_impl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o.d
@@ -0,0 +1,262 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o.d
@@ -0,0 +1,204 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/profile.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptree.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o.d
@@ -0,0 +1,204 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o.d
@@ -0,0 +1,199 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o.d
@@ -0,0 +1,201 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnunits_modern.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o.d
@@ -0,0 +1,200 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o.d
@@ -0,0 +1,206 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multisplit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/utils/profile/profiler_interface.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrncvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/profile.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o.d
@@ -0,0 +1,177 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o.d
@@ -0,0 +1,219 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/stdlib.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabvars.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o.d
@@ -0,0 +1,199 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o.d
@@ -0,0 +1,185 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o.d
@@ -0,0 +1,185 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o.d
@@ -0,0 +1,230 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h /usr/include/signal.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/signum-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sig_atomic_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/siginfo_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/siginfo-consts-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigval_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigevent_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigevent-consts.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigaction.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigcontext.h \
+ /usr/include/loongarch64-linux-gnu/asm/sigcontext.h \
+ /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/stack_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/ucontext.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /usr/include/loongarch64-linux-gnu/bits/ss_flags.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sigstack.h \
+ /usr/include/loongarch64-linux-gnu/bits/sigthread.h \
+ /usr/include/loongarch64-linux-gnu/bits/signal_ext.h \
+ /usr/include/loongarch64-linux-gnu/sys/time.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o.d
@@ -0,0 +1,175 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc/nrnconfigargs.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o.d
@@ -0,0 +1,199 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o.d
@@ -0,0 +1,186 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o.d
@@ -0,0 +1,187 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o.d
@@ -0,0 +1,194 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o.d
@@ -0,0 +1,199 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membdef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o.d
@@ -0,0 +1,198 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multisplit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrndae_c.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/utils/profile/profiler_interface.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o.d
@@ -0,0 +1,176 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o.d
@@ -0,0 +1,190 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o.d
@@ -0,0 +1,213 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocstr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocmisc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/equation.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o.d
@@ -0,0 +1,172 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o.d
@@ -0,0 +1,193 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o.d
@@ -0,0 +1,182 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o.d
@@ -0,0 +1,203 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/cstring \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/regex /usr/include/c++/13/bitset \
+ /usr/include/c++/13/locale \
+ /usr/include/c++/13/bits/locale_facets_nonio.h /usr/include/c++/13/ctime \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/time_members.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/messages_members.h \
+ /usr/include/libintl.h /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/c++/13/bits/locale_facets_nonio.tcc \
+ /usr/include/c++/13/bits/locale_conv.h /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stack \
+ /usr/include/c++/13/deque /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_deque.h /usr/include/c++/13/bits/deque.tcc \
+ /usr/include/c++/13/bits/stl_stack.h \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/bits/unique_ptr.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/std_function.h \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_tree.h /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /usr/include/c++/13/bits/regex_constants.h \
+ /usr/include/c++/13/bits/regex_error.h \
+ /usr/include/c++/13/bits/regex_automaton.h \
+ /usr/include/c++/13/bits/regex_automaton.tcc \
+ /usr/include/c++/13/bits/regex_scanner.h \
+ /usr/include/c++/13/bits/regex_scanner.tcc \
+ /usr/include/c++/13/bits/regex_compiler.h \
+ /usr/include/c++/13/bits/regex_compiler.tcc \
+ /usr/include/c++/13/bits/regex.h /usr/include/c++/13/bits/regex.tcc \
+ /usr/include/c++/13/bits/regex_executor.h \
+ /usr/include/c++/13/bits/regex_executor.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o.d
@@ -0,0 +1,196 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbs.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslocal.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsdirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsrcli.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o.d
@@ -0,0 +1,273 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.h \
+ /usr/include/OS/string.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /usr/include/loongarch64-linux-gnu/sys/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_stat.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx.h \
+ /usr/include/linux/stat.h /usr/include/linux/types.h \
+ /usr/include/loongarch64-linux-gnu/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/loongarch64-linux-gnu/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h \
+ /usr/include/loongarch64-linux-gnu/asm/posix_types.h \
+ /usr/include/asm-generic/posix_types.h \
+ /usr/include/loongarch64-linux-gnu/bits/statx-generic.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx_timestamp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_statx.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/unordered_set \
+ /usr/include/c++/13/bits/unordered_set.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsdirectmpi.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsdirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv2mpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o.d
@@ -0,0 +1,202 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslocal.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslocal.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslsrv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o.d
@@ -0,0 +1,186 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslsrv.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbslsrv.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o.d
@@ -0,0 +1,201 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv2mpi.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv2mpi.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsclimpi.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsrcli.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o.d
@@ -0,0 +1,191 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrvmpi.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv2mpi.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbssrv.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/build.make
@@ -0,0 +1,6230 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrniv/CMakeFiles/nrniv_lib.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/nrniv_lib.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h"
+
+src/oc/hocusr.h: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h
+src/oc/hocusr.h: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mk_hocusr_h.py
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating ../oc/hocusr.h"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc -E -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h > neuron.tmp1
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed /^#/d neuron.tmp1 > neuron.tmp2
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/python3 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mk_hocusr_h.py < neuron.tmp2 > /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/hocusr.h
+
+src/nrniv/oc_generated/parse.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parse.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "[BISON][ocparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated && /usr/bin/bison --defines=parse.hpp -o parse.cpp ../../../../src/oc/parse.ypp
+
+src/nrniv/oc_generated/parse.cpp: src/nrniv/oc_generated/parse.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/oc_generated/parse.cpp
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c
+
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c: bin/nocmodl
+/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.mod
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Generating /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env MODLUNIT=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib/nrnunits.lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.mod
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && sed 's/_reg()/_reg_()/' /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c > /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && mv /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/axis.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_23) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/bndedval.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_24) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/cbwidget.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_25) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/checkpnt.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_26) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/epsprint.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_27) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/fourier.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_28) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/gifimage.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_29) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_30) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graphvec.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_31) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grglyph.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_32) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/grmanip.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_33) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_34) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_35) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_36) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_37) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocmain.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_38) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocrand.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/matrix.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mlinedit.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbox.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocdeck.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ochelp.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_50) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_51) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_52) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnoiv1.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_53) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_54) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_55) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_56) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_57) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/octimer.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_58) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/pwman.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_59) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rect.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_60) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_61) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scene.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_62) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_63) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/strfun.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_64) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_65) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_66) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_67) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xyview.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_68) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_69) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp > CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DUSEBBS=1 -DUSEGNU=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xdep.cpp -o CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_70) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_71) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodestb.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_72) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvtrset.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_73) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_74) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/nrndaspk.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_75) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/occvode.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_76) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp > CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.cpp -o CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_77) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o -MF CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o.d -o CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp > CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/backtrace_utils.cpp -o CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_78) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbs.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbs.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbs.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp > CMakeFiles/nrniv_lib.dir/bbs.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbs.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbs.cpp -o CMakeFiles/nrniv_lib.dir/bbs.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_79) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp > CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsavestate.cpp -o CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_80) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp > CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsdirect.cpp -o CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_81) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbslocal.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp > CMakeFiles/nrniv_lib.dir/bbslocal.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbslocal.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslocal.cpp -o CMakeFiles/nrniv_lib.dir/bbslocal.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_82) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp > CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv.cpp -o CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_83) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp > CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbslsrv2.cpp -o CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_84) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp > CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbsrcli.cpp -o CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_85) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o -MF CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o.d -o CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/bbssrv.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp > CMakeFiles/nrniv_lib.dir/bbssrv.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/bbssrv.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bbssrv.cpp -o CMakeFiles/nrniv_lib.dir/bbssrv.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_86) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o -MF CMakeFiles/nrniv_lib.dir/cachevec.cpp.o.d -o CMakeFiles/nrniv_lib.dir/cachevec.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/cachevec.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp > CMakeFiles/nrniv_lib.dir/cachevec.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/cachevec.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp -o CMakeFiles/nrniv_lib.dir/cachevec.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_87) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o -MF CMakeFiles/nrniv_lib.dir/classreg.cpp.o.d -o CMakeFiles/nrniv_lib.dir/classreg.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/classreg.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp > CMakeFiles/nrniv_lib.dir/classreg.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/classreg.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp -o CMakeFiles/nrniv_lib.dir/classreg.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_88) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o -MF CMakeFiles/nrniv_lib.dir/cxprop.cpp.o.d -o CMakeFiles/nrniv_lib.dir/cxprop.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/cxprop.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp > CMakeFiles/nrniv_lib.dir/cxprop.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/cxprop.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp -o CMakeFiles/nrniv_lib.dir/cxprop.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_89) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o -MF CMakeFiles/nrniv_lib.dir/datapath.cpp.o.d -o CMakeFiles/nrniv_lib.dir/datapath.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/datapath.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp > CMakeFiles/nrniv_lib.dir/datapath.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/datapath.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp -o CMakeFiles/nrniv_lib.dir/datapath.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_90) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o -MF CMakeFiles/nrniv_lib.dir/finithnd.cpp.o.d -o CMakeFiles/nrniv_lib.dir/finithnd.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/finithnd.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp > CMakeFiles/nrniv_lib.dir/finithnd.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/finithnd.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp -o CMakeFiles/nrniv_lib.dir/finithnd.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_91) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o -MF CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o.d -o CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/geometry3d.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp > CMakeFiles/nrniv_lib.dir/geometry3d.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/geometry3d.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp -o CMakeFiles/nrniv_lib.dir/geometry3d.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_92) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o -MF CMakeFiles/nrniv_lib.dir/glinerec.cpp.o.d -o CMakeFiles/nrniv_lib.dir/glinerec.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/glinerec.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp > CMakeFiles/nrniv_lib.dir/glinerec.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/glinerec.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp -o CMakeFiles/nrniv_lib.dir/glinerec.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_93) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o -MF CMakeFiles/nrniv_lib.dir/hocmech.cpp.o.d -o CMakeFiles/nrniv_lib.dir/hocmech.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/hocmech.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp > CMakeFiles/nrniv_lib.dir/hocmech.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/hocmech.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp -o CMakeFiles/nrniv_lib.dir/hocmech.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_94) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o -MF CMakeFiles/nrniv_lib.dir/impedanc.cpp.o.d -o CMakeFiles/nrniv_lib.dir/impedanc.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/impedanc.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp > CMakeFiles/nrniv_lib.dir/impedanc.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/impedanc.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp -o CMakeFiles/nrniv_lib.dir/impedanc.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_95) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o -MF CMakeFiles/nrniv_lib.dir/kschan.cpp.o.d -o CMakeFiles/nrniv_lib.dir/kschan.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/kschan.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp > CMakeFiles/nrniv_lib.dir/kschan.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/kschan.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp -o CMakeFiles/nrniv_lib.dir/kschan.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_96) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o -MF CMakeFiles/nrniv_lib.dir/kssingle.cpp.o.d -o CMakeFiles/nrniv_lib.dir/kssingle.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/kssingle.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp > CMakeFiles/nrniv_lib.dir/kssingle.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/kssingle.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp -o CMakeFiles/nrniv_lib.dir/kssingle.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_97) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o -MF CMakeFiles/nrniv_lib.dir/linmod.cpp.o.d -o CMakeFiles/nrniv_lib.dir/linmod.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/linmod.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp > CMakeFiles/nrniv_lib.dir/linmod.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/linmod.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp -o CMakeFiles/nrniv_lib.dir/linmod.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_98) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o -MF CMakeFiles/nrniv_lib.dir/linmod1.cpp.o.d -o CMakeFiles/nrniv_lib.dir/linmod1.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/linmod1.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp > CMakeFiles/nrniv_lib.dir/linmod1.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/linmod1.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp -o CMakeFiles/nrniv_lib.dir/linmod1.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_99) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o -MF CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o.d -o CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/matrixmap.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp > CMakeFiles/nrniv_lib.dir/matrixmap.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/matrixmap.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp -o CMakeFiles/nrniv_lib.dir/matrixmap.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_100) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o -MF CMakeFiles/nrniv_lib.dir/multisplit.cpp.o.d -o CMakeFiles/nrniv_lib.dir/multisplit.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/multisplit.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp > CMakeFiles/nrniv_lib.dir/multisplit.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/multisplit.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp -o CMakeFiles/nrniv_lib.dir/multisplit.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_101) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o -MF CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o.d -o CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/ndatclas.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp > CMakeFiles/nrniv_lib.dir/ndatclas.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/ndatclas.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp -o CMakeFiles/nrniv_lib.dir/ndatclas.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_102) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o -MF CMakeFiles/nrniv_lib.dir/netpar.cpp.o.d -o CMakeFiles/nrniv_lib.dir/netpar.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/netpar.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp > CMakeFiles/nrniv_lib.dir/netpar.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/netpar.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp -o CMakeFiles/nrniv_lib.dir/netpar.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_103) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o -MF CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nonlinz.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp > CMakeFiles/nrniv_lib.dir/nonlinz.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nonlinz.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp -o CMakeFiles/nrniv_lib.dir/nonlinz.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_104) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_105) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_106) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_107) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_108) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_109) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp > CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp -o CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_110) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrndae.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrndae.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrndae.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp > CMakeFiles/nrniv_lib.dir/nrndae.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrndae.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp -o CMakeFiles/nrniv_lib.dir/nrndae.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_111) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp > CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp -o CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_112) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 -DUSE_LIBNRNPYTHON_MAJORMINOR=0 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrnpy.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 -DUSE_LIBNRNPYTHON_MAJORMINOR=0 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp > CMakeFiles/nrniv_lib.dir/nrnpy.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrnpy.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 -DUSE_LIBNRNPYTHON_MAJORMINOR=0 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp -o CMakeFiles/nrniv_lib.dir/nrnpy.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_113) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o -MF CMakeFiles/nrniv_lib.dir/nrnste.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nrnste.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nrnste.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp > CMakeFiles/nrniv_lib.dir/nrnste.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nrnste.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp -o CMakeFiles/nrniv_lib.dir/nrnste.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_114) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o -MF CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp > CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp -o CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_115) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o -MF CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp > CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp -o CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_116) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o -MF CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp > CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp -o CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_117) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o -MF CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o.d -o CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/ocbbs.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp > CMakeFiles/nrniv_lib.dir/ocbbs.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/ocbbs.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp -o CMakeFiles/nrniv_lib.dir/ocbbs.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_118) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o -MF CMakeFiles/nrniv_lib.dir/ocjump.cpp.o.d -o CMakeFiles/nrniv_lib.dir/ocjump.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/ocjump.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp > CMakeFiles/nrniv_lib.dir/ocjump.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/ocjump.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp -o CMakeFiles/nrniv_lib.dir/ocjump.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_119) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o -MF CMakeFiles/nrniv_lib.dir/partrans.cpp.o.d -o CMakeFiles/nrniv_lib.dir/partrans.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/partrans.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp > CMakeFiles/nrniv_lib.dir/partrans.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/partrans.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp -o CMakeFiles/nrniv_lib.dir/partrans.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_120) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o -MF CMakeFiles/nrniv_lib.dir/ppshape.cpp.o.d -o CMakeFiles/nrniv_lib.dir/ppshape.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/ppshape.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp > CMakeFiles/nrniv_lib.dir/ppshape.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/ppshape.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp -o CMakeFiles/nrniv_lib.dir/ppshape.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_121) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o -MF CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o.d -o CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/prcellstate.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp > CMakeFiles/nrniv_lib.dir/prcellstate.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/prcellstate.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp -o CMakeFiles/nrniv_lib.dir/prcellstate.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_122) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o -MF CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o.d -o CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp > CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp -o CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_123) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o -MF CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o.d -o CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/rotate3d.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp > CMakeFiles/nrniv_lib.dir/rotate3d.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/rotate3d.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp -o CMakeFiles/nrniv_lib.dir/rotate3d.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_124) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o -MF CMakeFiles/nrniv_lib.dir/savstate.cpp.o.d -o CMakeFiles/nrniv_lib.dir/savstate.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/savstate.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp > CMakeFiles/nrniv_lib.dir/savstate.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/savstate.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp -o CMakeFiles/nrniv_lib.dir/savstate.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_125) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o -MF CMakeFiles/nrniv_lib.dir/secbrows.cpp.o.d -o CMakeFiles/nrniv_lib.dir/secbrows.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/secbrows.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp > CMakeFiles/nrniv_lib.dir/secbrows.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/secbrows.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp -o CMakeFiles/nrniv_lib.dir/secbrows.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_126) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o -MF CMakeFiles/nrniv_lib.dir/shape.cpp.o.d -o CMakeFiles/nrniv_lib.dir/shape.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/shape.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp > CMakeFiles/nrniv_lib.dir/shape.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/shape.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp -o CMakeFiles/nrniv_lib.dir/shape.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_127) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o -MF CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/shapeplt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp > CMakeFiles/nrniv_lib.dir/shapeplt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/shapeplt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp -o CMakeFiles/nrniv_lib.dir/shapeplt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_128) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o -MF CMakeFiles/nrniv_lib.dir/singlech.cpp.o.d -o CMakeFiles/nrniv_lib.dir/singlech.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/singlech.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp > CMakeFiles/nrniv_lib.dir/singlech.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/singlech.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp -o CMakeFiles/nrniv_lib.dir/singlech.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_129) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o -MF CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/spaceplt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp > CMakeFiles/nrniv_lib.dir/spaceplt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/spaceplt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp -o CMakeFiles/nrniv_lib.dir/spaceplt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_130) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o -MF CMakeFiles/nrniv_lib.dir/splitcell.cpp.o.d -o CMakeFiles/nrniv_lib.dir/splitcell.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/splitcell.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp > CMakeFiles/nrniv_lib.dir/splitcell.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/splitcell.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp -o CMakeFiles/nrniv_lib.dir/splitcell.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_131) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o -MF CMakeFiles/nrniv_lib.dir/symdir.cpp.o.d -o CMakeFiles/nrniv_lib.dir/symdir.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/symdir.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp > CMakeFiles/nrniv_lib.dir/symdir.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/symdir.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp -o CMakeFiles/nrniv_lib.dir/symdir.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_132) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o -MF CMakeFiles/nrniv_lib.dir/vrecord.cpp.o.d -o CMakeFiles/nrniv_lib.dir/vrecord.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/vrecord.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp > CMakeFiles/nrniv_lib.dir/vrecord.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/vrecord.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DOOP=1 -DUSEBBS=1 -DUSECVODE=1 -DUSEMATRIX=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp -o CMakeFiles/nrniv_lib.dir/vrecord.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_133) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/cabcode.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_134) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/capac.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_135) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/clamp.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_136) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/eion.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_137) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/extcelln.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_138) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fadvance.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_139) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/fstim.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_140) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hocprax.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_141) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/init.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_142) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ldifus.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_143) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/method3.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_144) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnnemo.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_145) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrntimeout.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_146) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_147) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive0.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_148) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/point.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_149) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/psection.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_150) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/seclist.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_151) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/secref.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_152) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/solve.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_153) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/synapse.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_154) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp > CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/treeset.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_155) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp > CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isaac64.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_156) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp > CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_157) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp > CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_158) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.cpp > CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_159) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp > CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/audit.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_160) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp > CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/axis.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_161) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp > CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code2.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_162) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code2.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code2.cpp > CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code2.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/debug.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_163) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/debug.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/debug.cpp > CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/debug.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fileio.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_164) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fileio.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fileio.cpp > CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fileio.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fmenu.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_165) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fmenu.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fmenu.cpp > CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/fmenu.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ftime.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_166) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ftime.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ftime.cpp > CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ftime.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/functabl.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_167) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/functabl.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/functabl.cpp > CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/functabl.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/getsym.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_168) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/getsym.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/getsym.cpp > CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/getsym.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_169) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.cpp > CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocusr.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_170) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocusr.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocusr.cpp > CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocusr.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_init.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_171) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_init.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_init.cpp > CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_init.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_oop.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_172) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_oop.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_oop.cpp > CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DCABLE=1 -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_oop.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isoc99.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_173) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isoc99.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isoc99.cpp > CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/isoc99.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/list.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_174) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/list.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/list.cpp > CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/list.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/math.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_175) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/math.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/math.cpp > CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/math.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mswinprt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_176) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mswinprt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mswinprt.cpp > CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mswinprt.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nonlin.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_177) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nonlin.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nonlin.cpp > CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nonlin.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_178) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.cpp > CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocerf.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_179) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocerf.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocerf.cpp > CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/ocerf.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parallel.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_180) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parallel.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parallel.cpp > CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parallel.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plot.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_181) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plot.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plot.cpp > CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plot.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_182) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plt.cpp > CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/plt.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/regexp.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_183) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/regexp.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/regexp.cpp > CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/regexp.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/scoprand.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_184) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/scoprand.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/scoprand.cpp > CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/scoprand.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/settext.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_185) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/settext.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/settext.cpp > CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/settext.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/symbol.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_186) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/symbol.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/symbol.cpp > CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/symbol.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/version.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_187) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/version.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/version.cpp > CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/version.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/x.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_188) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/x.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/x.cpp > CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/x.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/xred.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_189) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/xred.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/xred.cpp > CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/xred.cpp -o CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o: src/nrniv/oc_generated/parse.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_190) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o -MF CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o.d -o CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp > CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp -o CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/arnoldi.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_191) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/arnoldi.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/arnoldi.c > CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/arnoldi.c -o CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bdfactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_192) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bdfactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bdfactor.c > CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bdfactor.c -o CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bkpfacto.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_193) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bkpfacto.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bkpfacto.c > CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/bkpfacto.c -o CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/chfactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_194) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/chfactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/chfactor.c > CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/chfactor.c -o CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/conjgrad.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_195) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/conjgrad.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/conjgrad.c > CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/conjgrad.c -o CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/copy.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_196) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/copy.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/copy.c > CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/copy.c -o CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/dmacheps.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_197) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/dmacheps.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/dmacheps.c > CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/dmacheps.c -o CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_198) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/err.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.c > CMakeFiles/nrniv_lib.dir/__/mesch/err.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/err.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/err.c -o CMakeFiles/nrniv_lib.dir/__/mesch/err.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/extras.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_199) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/extras.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/extras.c > CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/extras.c -o CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/fft.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_200) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/fft.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/fft.c > CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/fft.c -o CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/givens.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_201) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/givens.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/givens.c > CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/givens.c -o CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hessen.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_202) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hessen.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hessen.c > CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hessen.c -o CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hsehldr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_203) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hsehldr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hsehldr.c > CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/hsehldr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/init.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_204) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/init.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/init.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/init.c > CMakeFiles/nrniv_lib.dir/__/mesch/init.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/init.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/init.c -o CMakeFiles/nrniv_lib.dir/__/mesch/init.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iter0.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_205) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iter0.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iter0.c > CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iter0.c -o CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iternsym.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_206) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iternsym.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iternsym.c > CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/iternsym.c -o CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/itersym.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_207) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/itersym.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/itersym.c > CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/itersym.c -o CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/ivecop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_208) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/ivecop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/ivecop.c > CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/ivecop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lanczos.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_209) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lanczos.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lanczos.c > CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lanczos.c -o CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lufactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_210) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lufactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lufactor.c > CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/lufactor.c -o CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_211) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.c > CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/machine.c -o CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matlab.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_212) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matlab.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matlab.c > CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matlab.c -o CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_213) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matop.c > CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrixio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_214) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrixio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrixio.c > CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/matrixio.c -o CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_215) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.c > CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/meminfo.c -o CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memory.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_216) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memory.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memory.c > CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memory.c -o CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memstat.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_217) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memstat.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memstat.c > CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/memstat.c -o CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/mfunc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_218) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/mfunc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/mfunc.c > CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/mfunc.c -o CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/norm.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_219) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/norm.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/norm.c > CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/norm.c -o CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/otherio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_220) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/otherio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/otherio.c > CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/otherio.c -o CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/pxop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_221) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/pxop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/pxop.c > CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/pxop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/qrfactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_222) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/qrfactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/qrfactor.c > CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/qrfactor.c -o CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/schur.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_223) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/schur.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/schur.c > CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/schur.c -o CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/solve.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_224) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/solve.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/solve.c > CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/solve.c -o CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_225) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.c > CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparse.c -o CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparseio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_226) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparseio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparseio.c > CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sparseio.c -o CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spbkp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_227) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spbkp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spbkp.c > CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spbkp.c -o CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spchfctr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_228) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spchfctr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spchfctr.c > CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spchfctr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/splufctr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_229) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/splufctr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/splufctr.c > CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/splufctr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sprow.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_230) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sprow.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sprow.c > CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/sprow.c -o CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spswap.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_231) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spswap.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spswap.c > CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/spswap.c -o CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/submat.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_232) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/submat.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/submat.c > CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/submat.c -o CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/svd.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_233) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/svd.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/svd.c > CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/svd.c -o CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/symmeig.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_234) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/symmeig.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/symmeig.c > CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/symmeig.c -o CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/update.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_235) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/update.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/update.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/update.c > CMakeFiles/nrniv_lib.dir/__/mesch/update.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/update.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/update.c -o CMakeFiles/nrniv_lib.dir/__/mesch/update.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/vecop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_236) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/vecop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/vecop.c > CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/vecop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/version.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_237) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/version.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/version.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/version.c > CMakeFiles/nrniv_lib.dir/__/mesch/version.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/version.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/version.c -o CMakeFiles/nrniv_lib.dir/__/mesch/version.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zcopy.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_238) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zcopy.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zcopy.c > CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zcopy.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zfunc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_239) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zfunc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zfunc.c > CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zfunc.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zgivens.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_240) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zgivens.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zgivens.c > CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zgivens.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhessen.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_241) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhessen.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhessen.c > CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhessen.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhsehldr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_242) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhsehldr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhsehldr.c > CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zhsehldr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zlufctr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_243) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zlufctr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zlufctr.c > CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zlufctr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmachine.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_244) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmachine.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmachine.c > CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmachine.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_245) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatio.c > CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatio.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatlab.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_246) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatlab.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatlab.c > CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatlab.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_247) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatop.c > CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmatop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmemory.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_248) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmemory.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmemory.c > CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zmemory.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/znorm.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_249) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/znorm.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/znorm.c > CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/znorm.c -o CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zqrfctr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_250) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zqrfctr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zqrfctr.c > CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zqrfctr.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zschur.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_251) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zschur.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zschur.c > CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zschur.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zsolve.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_252) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zsolve.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zsolve.c > CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zsolve.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zvecop.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_253) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o -MF CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o.d -o CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zvecop.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zvecop.c > CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch/zvecop.c -o CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_254) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_255) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_256) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_257) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_258) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_259) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_260) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_261) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_262) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_263) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_264) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_265) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_266) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_267) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_268) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_269) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_270) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o -MF CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c > CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c -o CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_271) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/ACG.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_272) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Binomial.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_273) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/DiscUnif.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_274) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Erlang.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_275) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Geom.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_276) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/HypGeom.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_277) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/LogNorm.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_278) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/MLCG.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_279) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_280) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Normal.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_281) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Poisson.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_282) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_283) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_284) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RndInt.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_285) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Uniform.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_286) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.cpp > CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Weibull.cpp -o CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/abort.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_287) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/abort.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/abort.c > CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/abort.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adams.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_288) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adams.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adams.c > CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adams.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adeuler.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_289) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adeuler.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adeuler.c > CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adeuler.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adrunge.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_290) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adrunge.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adrunge.c > CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/adrunge.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/advance.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_291) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/advance.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/advance.c > CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/advance.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/boundary.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_292) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/boundary.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/boundary.c > CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/boundary.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crank.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_293) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crank.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crank.c > CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crank.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_294) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout.c > CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csoda.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_295) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csoda.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csoda.c > CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csoda.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csodabnc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_296) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csodabnc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csodabnc.c > CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/csodabnc.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/deflate.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_297) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/deflate.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/deflate.c > CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/deflate.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/dimplic.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_298) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/dimplic.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/dimplic.c > CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/dimplic.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/scoperf.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_299) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/scoperf.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/scoperf.c > CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/scoperf.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/euler.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_300) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/euler.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/euler.c > CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/euler.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/expfit.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_301) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/expfit.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/expfit.c > CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/expfit.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/exprand.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_302) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/exprand.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/exprand.c > CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/exprand.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/f2cmisc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_303) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/f2cmisc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/f2cmisc.c > CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/f2cmisc.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/factoria.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_304) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/factoria.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/factoria.c > CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/factoria.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/force.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_305) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/force.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/force.c > CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/force.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gauss.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_306) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gauss.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gauss.c > CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gauss.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gear.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_307) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gear.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gear.c > CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/gear.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/getmem.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_308) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/getmem.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/getmem.c > CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/getmem.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/harmonic.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_309) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/harmonic.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/harmonic.c > CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/harmonic.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/heun.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_310) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/heun.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/heun.c > CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/heun.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/hyperbol.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_311) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/hyperbol.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/hyperbol.c > CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/hyperbol.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/invert.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_312) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/invert.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/invert.c > CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/invert.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/lag.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_313) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/lag.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/lag.c > CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/lag.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/legendre.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_314) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/legendre.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/legendre.c > CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/legendre.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_315) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton.c > CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/normrand.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_316) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/normrand.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/normrand.c > CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/normrand.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perpulse.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_317) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perpulse.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perpulse.c > CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perpulse.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perstep.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_318) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perstep.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perstep.c > CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/perstep.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisrand.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_319) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisrand.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisrand.c > CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisrand.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisson.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_320) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisson.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisson.c > CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/poisson.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/praxis.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_321) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/praxis.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/praxis.c > CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/praxis.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/pulse.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_322) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/pulse.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/pulse.c > CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/pulse.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/quad.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_323) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/quad.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/quad.c > CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/quad.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ramp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_324) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ramp.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ramp.c > CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ramp.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revhyper.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_325) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revhyper.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revhyper.c > CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revhyper.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsawto.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_326) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsawto.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsawto.c > CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsawto.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsigmo.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_327) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsigmo.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsigmo.c > CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/revsigmo.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/romberg.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_328) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/romberg.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/romberg.c > CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/romberg.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/runge.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_329) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/runge.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/runge.c > CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/runge.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sawtooth.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_330) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sawtooth.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sawtooth.c > CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sawtooth.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/schedule.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_331) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/schedule.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/schedule.c > CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/schedule.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/seidel.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_332) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/seidel.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/seidel.c > CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/seidel.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sigmoid.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_333) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sigmoid.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sigmoid.c > CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sigmoid.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simeq.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_334) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simeq.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simeq.c > CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simeq.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simplex.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_335) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simplex.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simplex.c > CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/simplex.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_336) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse.c > CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/vsparse.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_337) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/vsparse.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/vsparse.c > CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/vsparse.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/spline.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_338) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/spline.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/spline.c > CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/spline.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/squarewa.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_339) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/squarewa.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/squarewa.c > CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/squarewa.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_340) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic.c > CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/step.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_341) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/step.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/step.c > CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/step.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/threshol.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_342) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/threshol.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/threshol.c > CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/threshol.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/tridiag.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_343) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/tridiag.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/tridiag.c > CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/tridiag.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse_thread.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_344) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse_thread.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse_thread.c > CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/sparse_thread.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton_thread.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_345) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton_thread.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton_thread.c > CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/newton_thread.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout_thread.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_346) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout_thread.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout_thread.c > CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/crout_thread.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic_thread.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_347) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o -MF CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o.d -o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic_thread.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic_thread.c > CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) -DHOC=1 $(C_INCLUDES) $(C_FLAGS) -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath/ssimplic_thread.c -o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/bksub.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_348) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/bksub.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/bksub.cpp > CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/bksub.cpp -o CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/getelm.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_349) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/getelm.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/getelm.cpp > CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/getelm.cpp -o CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/lineq.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_350) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/lineq.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/lineq.cpp > CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/lineq.cpp -o CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/prmat.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_351) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/prmat.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/prmat.cpp > CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/prmat.cpp -o CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/subrows.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_352) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/subrows.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/subrows.cpp > CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) -DHOC=1 -DINTERVIEWS=1 -DOOP=1 $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse/subrows.cpp -o CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spalloc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_353) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spalloc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spalloc.c > CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spalloc.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spbuild.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_354) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spbuild.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spbuild.c > CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spbuild.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spfactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_355) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spfactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spfactor.c > CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spfactor.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spoutput.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_356) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spoutput.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spoutput.c > CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spoutput.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spsolve.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_357) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spsolve.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spsolve.c > CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spsolve.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/sputils.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_358) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/sputils.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/sputils.c > CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/sputils.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspalloc.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_359) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspalloc.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspalloc.c > CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspalloc.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspbuild.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_360) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspbuild.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspbuild.c > CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspbuild.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspfactor.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_361) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspfactor.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspfactor.c > CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspfactor.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspoutput.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_362) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspoutput.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspoutput.c > CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspoutput.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspsolve.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_363) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspsolve.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspsolve.c > CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspsolve.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/csputils.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_364) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o -MF CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/csputils.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/csputils.c > CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/csputils.c -o CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvband.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_365) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvband.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvband.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvband.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbandpre.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_366) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbandpre.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbandpre.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbandpre.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbbdpre.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_367) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbbdpre.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbbdpre.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvbbdpre.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_368) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdense.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_369) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvdiag.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodea.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_370) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodea.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodea.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodea.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_371) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodes.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodesio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_372) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodesio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodesio.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvodesio.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvspgmr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_373) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvspgmr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvspgmr.c > CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes/cvspgmr.c -o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaband.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_374) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaband.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaband.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaband.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idabbdpre.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_375) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idabbdpre.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idabbdpre.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idabbdpre.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_376) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/ida.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idadense.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_377) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idadense.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idadense.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idadense.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaic.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_378) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaic.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaic.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaic.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaio.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_379) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaio.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaio.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaio.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaspgmr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_380) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaspgmr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaspgmr.c > CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida/idaspgmr.c -o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/band.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_381) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/band.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/band.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/band.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_382) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/dense.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/iterative.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_383) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/iterative.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/iterative.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/iterative.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_384) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_385) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_386) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/smalldense.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/spgmr.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_387) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/spgmr.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/spgmr.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/spgmr.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_388) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnparallel_ld.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_389) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o -MF CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o.d -o CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnparallel_ld.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnparallel_ld.cpp > CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnparallel_ld.cpp -o CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_parallel.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_390) "Building C object src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o -MF CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o.d -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_parallel.c
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_parallel.c > CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_parallel.c -o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpi.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_391) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpi.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpi.cpp > CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpi.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/bbsmpipack.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_392) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/bbsmpipack.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/bbsmpipack.cpp > CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/bbsmpipack.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.s
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/mpispike.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o: src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_393) "Building CXX object src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o -MF CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o.d -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/mpispike.cpp
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/mpispike.cpp > CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.i
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/mpispike.cpp -o CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.s
+
+# Object files for target nrniv_lib
+nrniv_lib_OBJECTS = \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbs.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/cachevec.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/classreg.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/cxprop.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/datapath.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/finithnd.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/glinerec.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/hocmech.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/impedanc.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/kschan.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/kssingle.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/linmod.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/linmod1.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/multisplit.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/netpar.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrndae.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nrnste.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/ocjump.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/partrans.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/ppshape.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/savstate.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/secbrows.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/shape.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/singlech.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/splitcell.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/symdir.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/vrecord.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o" \
+"CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o" \
+"CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o"
+
+# External object files for target nrniv_lib
+nrniv_lib_EXTERNAL_OBJECTS =
+
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/build.make
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libreadline.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libcurses.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libform.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so
+lib/libnrniv.so: /usr/lib/libinterviews.a
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libSM.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libICE.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libX11.so
+lib/libnrniv.so: /usr/lib/loongarch64-linux-gnu/libXext.so
+lib/libnrniv.so: src/nrniv/CMakeFiles/nrniv_lib.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_394) "Linking CXX shared library ../../lib/libnrniv.so"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/nrniv_lib.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/nrniv_lib.dir/build: lib/libnrniv.so
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/build
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/nrniv_lib.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/clean
+
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: src/nrniv/oc_generated/parse.cpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: src/nrniv/oc_generated/parse.hpp
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: src/oc/hocusr.h
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c
+src/nrniv/CMakeFiles/nrniv_lib.dir/depend: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o.d
@@ -0,0 +1,276 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cachevec.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/transformer.h /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/xmenu.h \
+ /usr/include/InterViews/box.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/event.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/IV-look/menu.h /usr/include/IV-look/stepper.h \
+ /usr/include/InterViews/adjust.h /usr/include/InterViews/telltale.h \
+ /usr/include/IV-look/dialogs.h /usr/include/IV-look/field.h \
+ /usr/include/IV-look/fchooser.h /usr/include/InterViews/dialog.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocptrvector.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o.d
@@ -0,0 +1,188 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/classreg.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/classreg.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnclass.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/occlass.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/cmake_clean.cmake
@@ -0,0 +1,776 @@
+file(REMOVE_RECURSE
+  "../../lib/libnrniv.pdb"
+  "../../lib/libnrniv.so"
+  "../oc/hocusr.h"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.c"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.c"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o"
+  "CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o.d"
+  "CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbs.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbs.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/cachevec.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/cachevec.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/classreg.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/classreg.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/cxprop.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/cxprop.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/datapath.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/datapath.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/finithnd.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/finithnd.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/glinerec.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/glinerec.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/hocmech.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/hocmech.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/impedanc.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/impedanc.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/kschan.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/kschan.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/kssingle.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/kssingle.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/linmod.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/linmod.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/linmod1.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/linmod1.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/multisplit.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/multisplit.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/netpar.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/netpar.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrndae.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrndae.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nrnste.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nrnste.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/ocjump.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/ocjump.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/partrans.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/partrans.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/ppshape.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/ppshape.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/savstate.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/savstate.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/secbrows.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/secbrows.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/shape.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/shape.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/singlech.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/singlech.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/splitcell.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/splitcell.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/symdir.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/symdir.cpp.o.d"
+  "CMakeFiles/nrniv_lib.dir/vrecord.cpp.o"
+  "CMakeFiles/nrniv_lib.dir/vrecord.cpp.o.d"
+  "oc_generated/parse.cpp"
+  "oc_generated/parse.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C CXX)
+  include(CMakeFiles/nrniv_lib.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for nrniv_lib.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for nrniv_lib.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o.d
@@ -0,0 +1,202 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/cxprop.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/arraypool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/structpool.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o.d
@@ -0,0 +1,229 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/datapath.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/datapath.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/OS/string.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/graph.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/datapath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for nrniv_lib.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o.d
@@ -0,0 +1,206 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/finithnd.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /usr/include/OS/string.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/action.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/transformer.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/flags.make
@@ -0,0 +1,567 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile C with /usr/bin/cc
+# compile CXX with /usr/bin/c++
+C_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -Dnrniv_lib_EXPORTS
+
+C_INCLUDES = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/shared -I/home/debian-build/wuruilong/demo/neuron-8.2.2/external/Random123/include -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared -I/usr/include/python3.11 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated -I/usr/lib/loongarch64-linux-gnu/openmpi/include -I/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi
+
+C_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -fPIC
+
+CXX_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -Dnrniv_lib_EXPORTS
+
+CXX_INCLUDES = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/shared -I/home/debian-build/wuruilong/demo/neuron-8.2.2/external/Random123/include -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/cvodes -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/ida -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared -I/usr/include/python3.11 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated -I/usr/lib/loongarch64-linux-gnu/openmpi/include -I/usr/lib/loongarch64-linux-gnu/openmpi/include/openmpi
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11 -fPIC
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o_DEFINES = USEMATRIX=1;USEGNU=1;USEBBS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o_DEFINES = USE_LIBNRNPYTHON_MAJORMINOR=0;USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o_DEFINES = USEMATRIX=1;USECVODE=1;CABLE=1;USEBBS=1;OOP=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1;CABLE=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1;CABLE=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1;CABLE=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o_DEFINES = HOC=1
+
+# Custom flags: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o_FLAGS = -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/scopmath
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o_DEFINES = HOC=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
+# Custom defines: src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o_DEFINES = OOP=1;HOC=1;INTERVIEWS=1
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o.d
@@ -0,0 +1,98 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/geometry3d.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/ext/type_traits.h /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/stdlib.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/move.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/bits/ptr_traits.h /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/initializer_list /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h /usr/include/c++/13/new \
+ /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/stl_construct.h /usr/include/c++/13/cstdlib \
+ /usr/include/c++/13/cstdio /usr/include/stdio.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cassert /usr/include/assert.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o.d
@@ -0,0 +1,268 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/code.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/glinerec.h \
+ /usr/include/c++/13/utility /usr/include/c++/13/bits/stl_relops.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocjump.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o.d
@@ -0,0 +1,197 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/hocmech.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o.d
@@ -0,0 +1,213 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/impedanc.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/c++/13/complex /usr/include/c++/13/cmath \
+ /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o.d
@@ -0,0 +1,261 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/stdlib.h /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnunits_modern.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o.d
@@ -0,0 +1,268 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/c++/13/stdlib.h /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnunits_modern.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kssingle.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/kschan.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/mcran4.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro -shared -Wl,-soname,libnrniv.so -o ../../lib/libnrniv.so CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o CMakeFiles/nrniv_lib.dir/bbs.cpp.o CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o CMakeFiles/nrniv_lib.dir/cachevec.cpp.o CMakeFiles/nrniv_lib.dir/classreg.cpp.o CMakeFiles/nrniv_lib.dir/cxprop.cpp.o CMakeFiles/nrniv_lib.dir/datapath.cpp.o CMakeFiles/nrniv_lib.dir/finithnd.cpp.o CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o CMakeFiles/nrniv_lib.dir/glinerec.cpp.o CMakeFiles/nrniv_lib.dir/hocmech.cpp.o CMakeFiles/nrniv_lib.dir/impedanc.cpp.o CMakeFiles/nrniv_lib.dir/kschan.cpp.o CMakeFiles/nrniv_lib.dir/kssingle.cpp.o CMakeFiles/nrniv_lib.dir/linmod.cpp.o CMakeFiles/nrniv_lib.dir/linmod1.cpp.o CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o CMakeFiles/nrniv_lib.dir/multisplit.cpp.o CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o CMakeFiles/nrniv_lib.dir/netpar.cpp.o CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o CMakeFiles/nrniv_lib.dir/nrndae.cpp.o CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o CMakeFiles/nrniv_lib.dir/nrnste.cpp.o CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o CMakeFiles/nrniv_lib.dir/ocjump.cpp.o CMakeFiles/nrniv_lib.dir/partrans.cpp.o CMakeFiles/nrniv_lib.dir/ppshape.cpp.o CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o CMakeFiles/nrniv_lib.dir/savstate.cpp.o CMakeFiles/nrniv_lib.dir/secbrows.cpp.o CMakeFiles/nrniv_lib.dir/shape.cpp.o CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o CMakeFiles/nrniv_lib.dir/singlech.cpp.o CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o CMakeFiles/nrniv_lib.dir/splitcell.cpp.o CMakeFiles/nrniv_lib.dir/symdir.cpp.o CMakeFiles/nrniv_lib.dir/vrecord.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o  -Wl,-rpath,/usr/lib/loongarch64-linux-gnu/openmpi/lib::::::::::::: /usr/lib/loongarch64-linux-gnu/libreadline.so -lcurses /usr/lib/loongarch64-linux-gnu/libform.so /usr/lib/loongarch64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/libinterviews.a /usr/lib/loongarch64-linux-gnu/libSM.so /usr/lib/loongarch64-linux-gnu/libICE.so /usr/lib/loongarch64-linux-gnu/libX11.so /usr/lib/loongarch64-linux-gnu/libXext.so 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o.d
@@ -0,0 +1,214 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.h \
+ /usr/include/c++/13/list /usr/include/c++/13/bits/stl_list.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/list.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o.d
@@ -0,0 +1,227 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod1.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocnotify.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/coord.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/linmod.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.h \
+ /usr/include/c++/13/list /usr/include/c++/13/bits/stl_list.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/list.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o.d
@@ -0,0 +1,201 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o.d
@@ -0,0 +1,224 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplit.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multisplit.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/multisplitcontrol.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o.d
@@ -0,0 +1,196 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o.d
@@ -0,0 +1,275 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/netpar.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/utils/profile/profiler_interface.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/type_traits \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h /usr/include/c++/13/ostream \
+ /usr/include/c++/13/ios /usr/include/c++/13/iosfwd \
+ /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel/bbs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../nrnmpi/mpispike.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bgpdma.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/structpool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/bgpdmasetup.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnisaac.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_multimap.h /usr/include/c++/13/cstddef \
+ /usr/include/c++/13/cassert
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o.d
@@ -0,0 +1,214 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nonlinz.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/spconfig.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sparse13/cspredef.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o.d
@@ -0,0 +1,254 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrncvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnsection_mapping.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_multimap.h /usr/include/c++/13/cstddef \
+ /usr/include/c++/13/cassert \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.h \
+ /usr/include/c++/13/set /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o.d
@@ -0,0 +1,260 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/move.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/bits/ptr_traits.h /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h /usr/include/c++/13/new \
+ /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/memoryfwd.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/hash_bytes.h /usr/include/c++/13/bits/refwrap.h \
+ /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.h \
+ /usr/include/c++/13/fstream /usr/include/c++/13/istream \
+ /usr/include/c++/13/ios /usr/include/c++/13/iosfwd \
+ /usr/include/c++/13/bits/stringfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc /usr/include/c++/13/ostream \
+ /usr/include/c++/13/bits/ostream.tcc \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_tree.h /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrncvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_multimap.h /usr/include/c++/13/cstddef \
+ /usr/include/c++/13/cassert \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.h \
+ /usr/include/inttypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o.d
@@ -0,0 +1,235 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/move.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/bits/ptr_traits.h /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h /usr/include/c++/13/new \
+ /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/memoryfwd.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/hash_bytes.h /usr/include/c++/13/bits/refwrap.h \
+ /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/cstddef \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/include/c++/13/cassert /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.h \
+ /usr/include/c++/13/string /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/postypes.h /usr/include/c++/13/cwchar \
+ /usr/include/wchar.h /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/cctype \
+ /usr/include/ctype.h /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdio \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/limits
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o.d
@@ -0,0 +1,4 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o.d
@@ -0,0 +1,260 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/io/nrncore_io.h \
+ /usr/include/c++/13/string /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/postypes.h /usr/include/c++/13/cwchar \
+ /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/type_traits /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h /usr/include/c++/13/new \
+ /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/cctype \
+ /usr/include/ctype.h /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/bits/basic_string.tcc /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/cell_group.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/data/datum_indices.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/cstddef \
+ /usr/include/c++/13/cassert /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.h \
+ /usr/include/c++/13/fstream /usr/include/c++/13/istream \
+ /usr/include/c++/13/ios /usr/include/c++/13/exception \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc /usr/include/c++/13/ostream \
+ /usr/include/c++/13/bits/ostream.tcc \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.h \
+ /usr/include/OS/string.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnran123.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnsection_mapping.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o.d
@@ -0,0 +1,256 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/utils/nrncore_utils.h \
+ /usr/include/c++/13/string /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/postypes.h /usr/include/c++/13/cwchar \
+ /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/type_traits /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h /usr/include/c++/13/new \
+ /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/cctype \
+ /usr/include/ctype.h /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrncore_write/callbacks/nrncore_callbacks.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/set \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_set.h \
+ /usr/include/c++/13/bits/stl_multiset.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrndae_c.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnsection_mapping.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/memory /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /usr/include/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/posix_opt.h \
+ /usr/include/loongarch64-linux-gnu/bits/environments.h \
+ /usr/include/loongarch64-linux-gnu/bits/confname.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_posix.h \
+ /usr/include/loongarch64-linux-gnu/bits/getopt_core.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd.h \
+ /usr/include/loongarch64-linux-gnu/bits/unistd_ext.h \
+ /usr/include/linux/close_range.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o.d
@@ -0,0 +1,213 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrndae.h \
+ /usr/include/OS/list.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/matrixmap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/c++/13/list \
+ /usr/include/c++/13/bits/stl_list.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/list.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /usr/include/OS/string.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.h \
+ /usr/include/IV-look/fbrowser.h /usr/include/IV-look/browser.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnmenu.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o.d
@@ -0,0 +1,211 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnpy.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../nrnpython/nrnpython_config.h \
+ /usr/include/c++/13/stdlib.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nonvintblock.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnwrap_dlfcn.h \
+ /usr/include/dlfcn.h /usr/include/loongarch64-linux-gnu/bits/dlfcn.h \
+ /usr/include/loongarch64-linux-gnu/bits/dl_find_object.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o.d
@@ -0,0 +1,237 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /usr/include/OS/string.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/action.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnste.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o.d
@@ -0,0 +1,179 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnserial_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o.d
@@ -0,0 +1,106 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.cpp \
+ /usr/include/stdc-predef.h /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/cstdlib \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o.d
@@ -0,0 +1,106 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.cpp \
+ /usr/include/stdc-predef.h /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/stdlib.h /usr/include/c++/13/cstdlib \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector_serial.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nvector_nrnthread_ld.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialsmath.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o.d
@@ -0,0 +1,219 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocbbs.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/ocbbs.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/bbsimpl.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/utils/profile/profiler_interface.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../parallel/subworld.cpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o.d
@@ -0,0 +1,207 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ocjump.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ocjump.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp2.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ocjump.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnfilewrap.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocstr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o.d
@@ -0,0 +1,221 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/partrans.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/have2want.cpp
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o.d
@@ -0,0 +1,217 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ppshape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o.d
@@ -0,0 +1,230 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/prcellstate.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_multimap.h /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/progress.make
@@ -0,0 +1,395 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 13
+CMAKE_PROGRESS_5 = 
+CMAKE_PROGRESS_6 = 
+CMAKE_PROGRESS_7 = 
+CMAKE_PROGRESS_8 = 
+CMAKE_PROGRESS_9 = 14
+CMAKE_PROGRESS_10 = 
+CMAKE_PROGRESS_11 = 
+CMAKE_PROGRESS_12 = 
+CMAKE_PROGRESS_13 = 
+CMAKE_PROGRESS_14 = 15
+CMAKE_PROGRESS_15 = 
+CMAKE_PROGRESS_16 = 
+CMAKE_PROGRESS_17 = 
+CMAKE_PROGRESS_18 = 
+CMAKE_PROGRESS_19 = 16
+CMAKE_PROGRESS_20 = 
+CMAKE_PROGRESS_21 = 
+CMAKE_PROGRESS_22 = 
+CMAKE_PROGRESS_23 = 17
+CMAKE_PROGRESS_24 = 
+CMAKE_PROGRESS_25 = 
+CMAKE_PROGRESS_26 = 
+CMAKE_PROGRESS_27 = 
+CMAKE_PROGRESS_28 = 18
+CMAKE_PROGRESS_29 = 
+CMAKE_PROGRESS_30 = 
+CMAKE_PROGRESS_31 = 
+CMAKE_PROGRESS_32 = 
+CMAKE_PROGRESS_33 = 19
+CMAKE_PROGRESS_34 = 
+CMAKE_PROGRESS_35 = 
+CMAKE_PROGRESS_36 = 
+CMAKE_PROGRESS_37 = 20
+CMAKE_PROGRESS_38 = 
+CMAKE_PROGRESS_39 = 
+CMAKE_PROGRESS_40 = 
+CMAKE_PROGRESS_41 = 
+CMAKE_PROGRESS_42 = 21
+CMAKE_PROGRESS_43 = 
+CMAKE_PROGRESS_44 = 
+CMAKE_PROGRESS_45 = 
+CMAKE_PROGRESS_46 = 
+CMAKE_PROGRESS_47 = 22
+CMAKE_PROGRESS_48 = 
+CMAKE_PROGRESS_49 = 
+CMAKE_PROGRESS_50 = 
+CMAKE_PROGRESS_51 = 23
+CMAKE_PROGRESS_52 = 
+CMAKE_PROGRESS_53 = 
+CMAKE_PROGRESS_54 = 
+CMAKE_PROGRESS_55 = 
+CMAKE_PROGRESS_56 = 24
+CMAKE_PROGRESS_57 = 
+CMAKE_PROGRESS_58 = 
+CMAKE_PROGRESS_59 = 
+CMAKE_PROGRESS_60 = 
+CMAKE_PROGRESS_61 = 25
+CMAKE_PROGRESS_62 = 
+CMAKE_PROGRESS_63 = 
+CMAKE_PROGRESS_64 = 
+CMAKE_PROGRESS_65 = 26
+CMAKE_PROGRESS_66 = 
+CMAKE_PROGRESS_67 = 
+CMAKE_PROGRESS_68 = 
+CMAKE_PROGRESS_69 = 
+CMAKE_PROGRESS_70 = 27
+CMAKE_PROGRESS_71 = 
+CMAKE_PROGRESS_72 = 
+CMAKE_PROGRESS_73 = 
+CMAKE_PROGRESS_74 = 
+CMAKE_PROGRESS_75 = 28
+CMAKE_PROGRESS_76 = 
+CMAKE_PROGRESS_77 = 
+CMAKE_PROGRESS_78 = 
+CMAKE_PROGRESS_79 = 
+CMAKE_PROGRESS_80 = 29
+CMAKE_PROGRESS_81 = 
+CMAKE_PROGRESS_82 = 
+CMAKE_PROGRESS_83 = 
+CMAKE_PROGRESS_84 = 30
+CMAKE_PROGRESS_85 = 
+CMAKE_PROGRESS_86 = 
+CMAKE_PROGRESS_87 = 
+CMAKE_PROGRESS_88 = 
+CMAKE_PROGRESS_89 = 31
+CMAKE_PROGRESS_90 = 
+CMAKE_PROGRESS_91 = 
+CMAKE_PROGRESS_92 = 
+CMAKE_PROGRESS_93 = 
+CMAKE_PROGRESS_94 = 32
+CMAKE_PROGRESS_95 = 
+CMAKE_PROGRESS_96 = 
+CMAKE_PROGRESS_97 = 
+CMAKE_PROGRESS_98 = 33
+CMAKE_PROGRESS_99 = 
+CMAKE_PROGRESS_100 = 
+CMAKE_PROGRESS_101 = 
+CMAKE_PROGRESS_102 = 
+CMAKE_PROGRESS_103 = 34
+CMAKE_PROGRESS_104 = 
+CMAKE_PROGRESS_105 = 
+CMAKE_PROGRESS_106 = 
+CMAKE_PROGRESS_107 = 
+CMAKE_PROGRESS_108 = 35
+CMAKE_PROGRESS_109 = 
+CMAKE_PROGRESS_110 = 
+CMAKE_PROGRESS_111 = 
+CMAKE_PROGRESS_112 = 36
+CMAKE_PROGRESS_113 = 
+CMAKE_PROGRESS_114 = 
+CMAKE_PROGRESS_115 = 
+CMAKE_PROGRESS_116 = 
+CMAKE_PROGRESS_117 = 37
+CMAKE_PROGRESS_118 = 
+CMAKE_PROGRESS_119 = 
+CMAKE_PROGRESS_120 = 
+CMAKE_PROGRESS_121 = 
+CMAKE_PROGRESS_122 = 38
+CMAKE_PROGRESS_123 = 
+CMAKE_PROGRESS_124 = 
+CMAKE_PROGRESS_125 = 
+CMAKE_PROGRESS_126 = 39
+CMAKE_PROGRESS_127 = 
+CMAKE_PROGRESS_128 = 
+CMAKE_PROGRESS_129 = 
+CMAKE_PROGRESS_130 = 
+CMAKE_PROGRESS_131 = 40
+CMAKE_PROGRESS_132 = 
+CMAKE_PROGRESS_133 = 
+CMAKE_PROGRESS_134 = 
+CMAKE_PROGRESS_135 = 
+CMAKE_PROGRESS_136 = 41
+CMAKE_PROGRESS_137 = 
+CMAKE_PROGRESS_138 = 
+CMAKE_PROGRESS_139 = 
+CMAKE_PROGRESS_140 = 42
+CMAKE_PROGRESS_141 = 
+CMAKE_PROGRESS_142 = 
+CMAKE_PROGRESS_143 = 
+CMAKE_PROGRESS_144 = 
+CMAKE_PROGRESS_145 = 43
+CMAKE_PROGRESS_146 = 
+CMAKE_PROGRESS_147 = 
+CMAKE_PROGRESS_148 = 
+CMAKE_PROGRESS_149 = 
+CMAKE_PROGRESS_150 = 44
+CMAKE_PROGRESS_151 = 
+CMAKE_PROGRESS_152 = 
+CMAKE_PROGRESS_153 = 
+CMAKE_PROGRESS_154 = 
+CMAKE_PROGRESS_155 = 45
+CMAKE_PROGRESS_156 = 
+CMAKE_PROGRESS_157 = 
+CMAKE_PROGRESS_158 = 
+CMAKE_PROGRESS_159 = 46
+CMAKE_PROGRESS_160 = 
+CMAKE_PROGRESS_161 = 
+CMAKE_PROGRESS_162 = 
+CMAKE_PROGRESS_163 = 
+CMAKE_PROGRESS_164 = 47
+CMAKE_PROGRESS_165 = 
+CMAKE_PROGRESS_166 = 
+CMAKE_PROGRESS_167 = 
+CMAKE_PROGRESS_168 = 
+CMAKE_PROGRESS_169 = 48
+CMAKE_PROGRESS_170 = 
+CMAKE_PROGRESS_171 = 
+CMAKE_PROGRESS_172 = 
+CMAKE_PROGRESS_173 = 49
+CMAKE_PROGRESS_174 = 
+CMAKE_PROGRESS_175 = 
+CMAKE_PROGRESS_176 = 
+CMAKE_PROGRESS_177 = 
+CMAKE_PROGRESS_178 = 50
+CMAKE_PROGRESS_179 = 
+CMAKE_PROGRESS_180 = 
+CMAKE_PROGRESS_181 = 
+CMAKE_PROGRESS_182 = 
+CMAKE_PROGRESS_183 = 51
+CMAKE_PROGRESS_184 = 
+CMAKE_PROGRESS_185 = 
+CMAKE_PROGRESS_186 = 
+CMAKE_PROGRESS_187 = 52
+CMAKE_PROGRESS_188 = 
+CMAKE_PROGRESS_189 = 
+CMAKE_PROGRESS_190 = 
+CMAKE_PROGRESS_191 = 
+CMAKE_PROGRESS_192 = 53
+CMAKE_PROGRESS_193 = 
+CMAKE_PROGRESS_194 = 
+CMAKE_PROGRESS_195 = 
+CMAKE_PROGRESS_196 = 
+CMAKE_PROGRESS_197 = 54
+CMAKE_PROGRESS_198 = 
+CMAKE_PROGRESS_199 = 
+CMAKE_PROGRESS_200 = 
+CMAKE_PROGRESS_201 = 55
+CMAKE_PROGRESS_202 = 
+CMAKE_PROGRESS_203 = 
+CMAKE_PROGRESS_204 = 
+CMAKE_PROGRESS_205 = 
+CMAKE_PROGRESS_206 = 56
+CMAKE_PROGRESS_207 = 
+CMAKE_PROGRESS_208 = 
+CMAKE_PROGRESS_209 = 
+CMAKE_PROGRESS_210 = 
+CMAKE_PROGRESS_211 = 57
+CMAKE_PROGRESS_212 = 
+CMAKE_PROGRESS_213 = 
+CMAKE_PROGRESS_214 = 
+CMAKE_PROGRESS_215 = 
+CMAKE_PROGRESS_216 = 58
+CMAKE_PROGRESS_217 = 
+CMAKE_PROGRESS_218 = 
+CMAKE_PROGRESS_219 = 
+CMAKE_PROGRESS_220 = 59
+CMAKE_PROGRESS_221 = 
+CMAKE_PROGRESS_222 = 
+CMAKE_PROGRESS_223 = 
+CMAKE_PROGRESS_224 = 
+CMAKE_PROGRESS_225 = 60
+CMAKE_PROGRESS_226 = 
+CMAKE_PROGRESS_227 = 
+CMAKE_PROGRESS_228 = 
+CMAKE_PROGRESS_229 = 
+CMAKE_PROGRESS_230 = 61
+CMAKE_PROGRESS_231 = 
+CMAKE_PROGRESS_232 = 
+CMAKE_PROGRESS_233 = 
+CMAKE_PROGRESS_234 = 62
+CMAKE_PROGRESS_235 = 
+CMAKE_PROGRESS_236 = 
+CMAKE_PROGRESS_237 = 
+CMAKE_PROGRESS_238 = 
+CMAKE_PROGRESS_239 = 63
+CMAKE_PROGRESS_240 = 
+CMAKE_PROGRESS_241 = 
+CMAKE_PROGRESS_242 = 
+CMAKE_PROGRESS_243 = 
+CMAKE_PROGRESS_244 = 64
+CMAKE_PROGRESS_245 = 
+CMAKE_PROGRESS_246 = 
+CMAKE_PROGRESS_247 = 
+CMAKE_PROGRESS_248 = 65
+CMAKE_PROGRESS_249 = 
+CMAKE_PROGRESS_250 = 
+CMAKE_PROGRESS_251 = 
+CMAKE_PROGRESS_252 = 
+CMAKE_PROGRESS_253 = 66
+CMAKE_PROGRESS_254 = 
+CMAKE_PROGRESS_255 = 
+CMAKE_PROGRESS_256 = 
+CMAKE_PROGRESS_257 = 
+CMAKE_PROGRESS_258 = 67
+CMAKE_PROGRESS_259 = 
+CMAKE_PROGRESS_260 = 
+CMAKE_PROGRESS_261 = 
+CMAKE_PROGRESS_262 = 68
+CMAKE_PROGRESS_263 = 
+CMAKE_PROGRESS_264 = 
+CMAKE_PROGRESS_265 = 
+CMAKE_PROGRESS_266 = 
+CMAKE_PROGRESS_267 = 69
+CMAKE_PROGRESS_268 = 
+CMAKE_PROGRESS_269 = 
+CMAKE_PROGRESS_270 = 
+CMAKE_PROGRESS_271 = 
+CMAKE_PROGRESS_272 = 70
+CMAKE_PROGRESS_273 = 
+CMAKE_PROGRESS_274 = 
+CMAKE_PROGRESS_275 = 
+CMAKE_PROGRESS_276 = 71
+CMAKE_PROGRESS_277 = 
+CMAKE_PROGRESS_278 = 
+CMAKE_PROGRESS_279 = 
+CMAKE_PROGRESS_280 = 
+CMAKE_PROGRESS_281 = 72
+CMAKE_PROGRESS_282 = 
+CMAKE_PROGRESS_283 = 
+CMAKE_PROGRESS_284 = 
+CMAKE_PROGRESS_285 = 
+CMAKE_PROGRESS_286 = 73
+CMAKE_PROGRESS_287 = 
+CMAKE_PROGRESS_288 = 
+CMAKE_PROGRESS_289 = 
+CMAKE_PROGRESS_290 = 
+CMAKE_PROGRESS_291 = 74
+CMAKE_PROGRESS_292 = 
+CMAKE_PROGRESS_293 = 
+CMAKE_PROGRESS_294 = 
+CMAKE_PROGRESS_295 = 75
+CMAKE_PROGRESS_296 = 
+CMAKE_PROGRESS_297 = 
+CMAKE_PROGRESS_298 = 
+CMAKE_PROGRESS_299 = 
+CMAKE_PROGRESS_300 = 76
+CMAKE_PROGRESS_301 = 
+CMAKE_PROGRESS_302 = 
+CMAKE_PROGRESS_303 = 
+CMAKE_PROGRESS_304 = 
+CMAKE_PROGRESS_305 = 77
+CMAKE_PROGRESS_306 = 
+CMAKE_PROGRESS_307 = 
+CMAKE_PROGRESS_308 = 
+CMAKE_PROGRESS_309 = 78
+CMAKE_PROGRESS_310 = 
+CMAKE_PROGRESS_311 = 
+CMAKE_PROGRESS_312 = 
+CMAKE_PROGRESS_313 = 
+CMAKE_PROGRESS_314 = 79
+CMAKE_PROGRESS_315 = 
+CMAKE_PROGRESS_316 = 
+CMAKE_PROGRESS_317 = 
+CMAKE_PROGRESS_318 = 
+CMAKE_PROGRESS_319 = 80
+CMAKE_PROGRESS_320 = 
+CMAKE_PROGRESS_321 = 
+CMAKE_PROGRESS_322 = 
+CMAKE_PROGRESS_323 = 81
+CMAKE_PROGRESS_324 = 
+CMAKE_PROGRESS_325 = 
+CMAKE_PROGRESS_326 = 
+CMAKE_PROGRESS_327 = 
+CMAKE_PROGRESS_328 = 82
+CMAKE_PROGRESS_329 = 
+CMAKE_PROGRESS_330 = 
+CMAKE_PROGRESS_331 = 
+CMAKE_PROGRESS_332 = 
+CMAKE_PROGRESS_333 = 83
+CMAKE_PROGRESS_334 = 
+CMAKE_PROGRESS_335 = 
+CMAKE_PROGRESS_336 = 
+CMAKE_PROGRESS_337 = 84
+CMAKE_PROGRESS_338 = 
+CMAKE_PROGRESS_339 = 
+CMAKE_PROGRESS_340 = 
+CMAKE_PROGRESS_341 = 
+CMAKE_PROGRESS_342 = 85
+CMAKE_PROGRESS_343 = 
+CMAKE_PROGRESS_344 = 
+CMAKE_PROGRESS_345 = 
+CMAKE_PROGRESS_346 = 
+CMAKE_PROGRESS_347 = 86
+CMAKE_PROGRESS_348 = 
+CMAKE_PROGRESS_349 = 
+CMAKE_PROGRESS_350 = 
+CMAKE_PROGRESS_351 = 
+CMAKE_PROGRESS_352 = 87
+CMAKE_PROGRESS_353 = 
+CMAKE_PROGRESS_354 = 
+CMAKE_PROGRESS_355 = 
+CMAKE_PROGRESS_356 = 88
+CMAKE_PROGRESS_357 = 
+CMAKE_PROGRESS_358 = 
+CMAKE_PROGRESS_359 = 
+CMAKE_PROGRESS_360 = 
+CMAKE_PROGRESS_361 = 89
+CMAKE_PROGRESS_362 = 
+CMAKE_PROGRESS_363 = 
+CMAKE_PROGRESS_364 = 
+CMAKE_PROGRESS_365 = 
+CMAKE_PROGRESS_366 = 90
+CMAKE_PROGRESS_367 = 
+CMAKE_PROGRESS_368 = 
+CMAKE_PROGRESS_369 = 
+CMAKE_PROGRESS_370 = 91
+CMAKE_PROGRESS_371 = 
+CMAKE_PROGRESS_372 = 
+CMAKE_PROGRESS_373 = 
+CMAKE_PROGRESS_374 = 
+CMAKE_PROGRESS_375 = 92
+CMAKE_PROGRESS_376 = 
+CMAKE_PROGRESS_377 = 
+CMAKE_PROGRESS_378 = 
+CMAKE_PROGRESS_379 = 
+CMAKE_PROGRESS_380 = 93
+CMAKE_PROGRESS_381 = 
+CMAKE_PROGRESS_382 = 
+CMAKE_PROGRESS_383 = 
+CMAKE_PROGRESS_384 = 94
+CMAKE_PROGRESS_385 = 
+CMAKE_PROGRESS_386 = 
+CMAKE_PROGRESS_387 = 
+CMAKE_PROGRESS_388 = 
+CMAKE_PROGRESS_389 = 95
+CMAKE_PROGRESS_390 = 
+CMAKE_PROGRESS_391 = 
+CMAKE_PROGRESS_392 = 
+CMAKE_PROGRESS_393 = 
+CMAKE_PROGRESS_394 = 96
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o.d
@@ -0,0 +1,207 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/pysecname2sec.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocparse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/redef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnsymdiritem.h \
+ /usr/include/OS/list.h /usr/include/OS/string.h /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o.d
@@ -0,0 +1,232 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/InterViews/canvas.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/telltale.h \
+ /usr/include/InterViews/font.h /usr/include/InterViews/polyglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rot3band.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/event.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o.d
@@ -0,0 +1,247 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/savstate.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocfile.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrniv_mf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o.d
@@ -0,0 +1,225 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /usr/include/InterViews/layout.h /usr/include/InterViews/deck.h \
+ /usr/include/InterViews/polyglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/geometry.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/adjust.h /usr/include/IV-look/kit.h \
+ /usr/include/IV-look/button.h /usr/include/InterViews/input.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/telltale.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/secbrows.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocbrowsr.h \
+ /usr/include/IV-look/fbrowser.h /usr/include/IV-look/browser.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oclist.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o.d
@@ -0,0 +1,249 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /usr/include/InterViews/display.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/background.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/style.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/transformer.h /usr/include/InterViews/brush.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/color.h \
+ /usr/include/InterViews/hit.h /usr/include/InterViews/handler.h \
+ /usr/include/InterViews/event.h /usr/include/InterViews/telltale.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/scrbox.h /usr/include/InterViews/adjust.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/OS/list.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rot3band.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/rotate3d.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/hocmark.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o.d
@@ -0,0 +1,245 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /usr/include/InterViews/handler.h /usr/include/InterViews/resource.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/leave-scope.h \
+ /usr/include/OS/_undefs.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h /usr/include/InterViews/action.h \
+ /usr/include/InterViews/style.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/color.h /usr/include/InterViews/polyglyph.h \
+ /usr/include/InterViews/glyph.h /usr/include/InterViews/geometry.h \
+ /usr/include/IV-look/kit.h /usr/include/IV-look/button.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/monoglyph.h \
+ /usr/include/InterViews/observe.h /usr/include/IV-look/menu.h \
+ /usr/include/IV-look/stepper.h /usr/include/InterViews/adjust.h \
+ /usr/include/InterViews/telltale.h /usr/include/InterViews/layout.h \
+ /usr/include/InterViews/deck.h /usr/include/InterViews/scrbox.h \
+ /usr/include/InterViews/background.h /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /usr/include/InterViews/hit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shapeplt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/shape.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symchoos.h \
+ /usr/include/InterViews/dialog.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/symdir.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/idraw.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o.d
@@ -0,0 +1,228 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocmatrix.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/singlech.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/random1.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/RNG.h \
+ /usr/include/inttypes.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/math.h /usr/include/c++/13/cmath /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/Random.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/gnu/NegExp.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o.d
@@ -0,0 +1,234 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/spaceplt.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/classreg.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoc_membf.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/OS/string.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/graph.h \
+ /usr/include/OS/list.h /usr/include/InterViews/observe.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenevie.h \
+ /usr/include/InterViews/tformsetter.h \
+ /usr/include/InterViews/monoglyph.h /usr/include/InterViews/glyph.h \
+ /usr/include/InterViews/coord.h /usr/include/InterViews/geometry.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/transformer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/apwindow.h \
+ /usr/include/InterViews/window.h /usr/include/InterViews/canvas.h \
+ /usr/include/InterViews/action.h /usr/include/InterViews/handler.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocglyph.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/scenepic.h \
+ /usr/include/InterViews/hit.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpicker.h \
+ /usr/include/InterViews/input.h /usr/include/InterViews/event.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/rubband.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/utility.h \
+ /usr/include/InterViews/dialog.h /usr/include/IV-look/field.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/numeric /usr/include/c++/13/bits/stl_numeric.h \
+ /usr/include/c++/13/algorithm /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/objcmd.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o.d
@@ -0,0 +1,203 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/splitcell.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/vector \
+ /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o.d
@@ -0,0 +1,206 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/symdir.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/symdir.cpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/stdlib.h \
+ /usr/include/InterViews/resource.h /usr/include/InterViews/enter-scope.h \
+ /usr/include/InterViews/iv.h /usr/include/InterViews/_undefs.h \
+ /usr/include/InterViews/_defines.h /usr/include/OS/enter-scope.h \
+ /usr/include/OS/os.h /usr/include/OS/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/list.h /usr/include/OS/string.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/ocobserv.h \
+ /usr/include/InterViews/observe.h /usr/include/InterViews/_enter.h \
+ /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /usr/include/string.h /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/symdir.h \
+ /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/stl_map.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/../ivoc/nrnsymdiritem.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o.d
@@ -0,0 +1,260 @@
+src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/vrecord.cpp \
+ /usr/include/stdc-predef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/../../nrnconf.h \
+ /usr/include/ivstream.h /usr/include/c++/13/iostream \
+ /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/ostream /usr/include/c++/13/ios \
+ /usr/include/c++/13/iosfwd /usr/include/c++/13/bits/stringfwd.h \
+ /usr/include/c++/13/bits/memoryfwd.h /usr/include/c++/13/bits/postypes.h \
+ /usr/include/c++/13/cwchar /usr/include/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdarg.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/wint_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__mbstate_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/13/exception /usr/include/c++/13/bits/exception.h \
+ /usr/include/c++/13/bits/exception_ptr.h \
+ /usr/include/c++/13/bits/exception_defines.h \
+ /usr/include/c++/13/bits/cxxabi_init_exception.h \
+ /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/hash_bytes.h \
+ /usr/include/c++/13/new /usr/include/c++/13/bits/move.h \
+ /usr/include/c++/13/type_traits \
+ /usr/include/c++/13/bits/nested_exception.h \
+ /usr/include/c++/13/bits/char_traits.h \
+ /usr/include/c++/13/bits/localefwd.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++locale.h \
+ /usr/include/c++/13/clocale /usr/include/locale.h \
+ /usr/include/loongarch64-linux-gnu/bits/locale.h \
+ /usr/include/c++/13/cctype /usr/include/ctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/sched.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_sched_param.h \
+ /usr/include/loongarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/time.h \
+ /usr/include/loongarch64-linux-gnu/bits/timex.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_tm.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_itimerspec.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/loongarch64-linux-gnu/bits/setjmp.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/atomic_word.h \
+ /usr/include/loongarch64-linux-gnu/sys/single_threaded.h \
+ /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/string \
+ /usr/include/c++/13/bits/allocator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++allocator.h \
+ /usr/include/c++/13/bits/new_allocator.h \
+ /usr/include/c++/13/bits/functexcept.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/bits/ostream_insert.h \
+ /usr/include/c++/13/bits/cxxabi_forced.h \
+ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/13/bits/concept_check.h \
+ /usr/include/c++/13/debug/assertions.h \
+ /usr/include/c++/13/bits/stl_iterator_base_types.h \
+ /usr/include/c++/13/bits/stl_iterator.h \
+ /usr/include/c++/13/ext/type_traits.h \
+ /usr/include/c++/13/bits/ptr_traits.h \
+ /usr/include/c++/13/bits/stl_function.h \
+ /usr/include/c++/13/backward/binders.h \
+ /usr/include/c++/13/ext/numeric_traits.h \
+ /usr/include/c++/13/bits/stl_algobase.h \
+ /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \
+ /usr/include/c++/13/debug/debug.h \
+ /usr/include/c++/13/bits/predefined_ops.h \
+ /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \
+ /usr/include/c++/13/bits/range_access.h \
+ /usr/include/c++/13/initializer_list \
+ /usr/include/c++/13/bits/basic_string.h \
+ /usr/include/c++/13/ext/alloc_traits.h \
+ /usr/include/c++/13/bits/alloc_traits.h \
+ /usr/include/c++/13/bits/stl_construct.h \
+ /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \
+ /usr/include/stdlib.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \
+ /usr/include/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__fpos64_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_FILE.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/cookie_io_functions_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2-decl.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdio2.h \
+ /usr/include/c++/13/cerrno /usr/include/errno.h \
+ /usr/include/loongarch64-linux-gnu/bits/errno.h \
+ /usr/include/linux/errno.h \
+ /usr/include/loongarch64-linux-gnu/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/error_t.h \
+ /usr/include/c++/13/bits/charconv.h \
+ /usr/include/c++/13/bits/functional_hash.h \
+ /usr/include/c++/13/bits/basic_string.tcc \
+ /usr/include/c++/13/bits/locale_classes.tcc \
+ /usr/include/c++/13/system_error \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/error_constants.h \
+ /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \
+ /usr/include/c++/13/bits/streambuf.tcc \
+ /usr/include/c++/13/bits/basic_ios.h \
+ /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/loongarch64-linux-gnu/bits/wctype-wchar.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_base.h \
+ /usr/include/c++/13/bits/streambuf_iterator.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/ctype_inline.h \
+ /usr/include/c++/13/bits/locale_facets.tcc \
+ /usr/include/c++/13/bits/basic_ios.tcc \
+ /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \
+ /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \
+ /usr/include/c++/13/bits/codecvt.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/basic_file.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++io.h \
+ /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/sstream \
+ /usr/include/c++/13/bits/sstream.tcc /usr/include/OS/list.h \
+ /usr/include/OS/enter-scope.h /usr/include/OS/os.h \
+ /usr/include/OS/_defines.h /usr/include/OS/string.h \
+ /usr/include/OS/math.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivoc.h \
+ /usr/include/Dispatch/iohandler.h /usr/include/Dispatch/enter-scope.h \
+ /usr/include/Dispatch/dp.h /usr/include/Dispatch/_defines.h \
+ /usr/include/OS/leave-scope.h /usr/include/OS/_undefs.h \
+ /usr/include/OS/types.h /usr/include/Dispatch/dispatcher.h \
+ /usr/include/InterViews/session.h /usr/include/InterViews/coord.h \
+ /usr/include/InterViews/enter-scope.h /usr/include/InterViews/iv.h \
+ /usr/include/InterViews/_undefs.h /usr/include/InterViews/_defines.h \
+ /usr/include/InterViews/_enter.h /usr/include/InterViews/_leave.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/gui-redirect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnapi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hocassrt.h \
+ /usr/include/assert.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnassrt.h \
+ /usr/include/c++/13/stdlib.h /usr/include/string.h \
+ /usr/include/strings.h \
+ /usr/include/loongarch64-linux-gnu/bits/strings_fortified.h \
+ /usr/include/loongarch64-linux-gnu/bits/string_fortified.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/oc_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/nrnoc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/section.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnredef.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/hoclist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/multicore.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/membfunc.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnoc_ml.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrn_ansi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv/ndatclas.h \
+ /usr/include/InterViews/resource.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocobserv.h \
+ /usr/include/InterViews/observe.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ivocvect.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmutdec.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h \
+ /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_uninitialized.h \
+ /usr/include/c++/13/bits/stl_vector.h \
+ /usr/include/c++/13/bits/stl_bvector.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/numeric \
+ /usr/include/c++/13/bits/stl_numeric.h /usr/include/c++/13/algorithm \
+ /usr/include/c++/13/bits/stl_algo.h \
+ /usr/include/c++/13/bits/algorithmfwd.h \
+ /usr/include/c++/13/bits/stl_heap.h \
+ /usr/include/c++/13/bits/uniform_int_dist.h \
+ /usr/include/c++/13/bits/stl_tempbuf.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/ocpointer.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/oc2iv.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/vrecitem.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/htlist.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnmpi/nrnmpidec.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stdint.h \
+ /usr/include/stdint.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-uintn.h \
+ /usr/include/c++/13/unordered_map \
+ /usr/include/c++/13/bits/unordered_map.h \
+ /usr/include/c++/13/bits/hashtable.h \
+ /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/tuple \
+ /usr/include/c++/13/bits/uses_allocator.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/enable_special_members.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/memory \
+ /usr/include/c++/13/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/13/bits/align.h /usr/include/c++/13/bit \
+ /usr/include/c++/13/bits/unique_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr.h \
+ /usr/include/c++/13/bits/shared_ptr_base.h \
+ /usr/include/c++/13/bits/allocated_ptr.h \
+ /usr/include/c++/13/ext/concurrence.h \
+ /usr/include/c++/13/bits/shared_ptr_atomic.h \
+ /usr/include/c++/13/bits/atomic_base.h \
+ /usr/include/c++/13/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/13/backward/auto_ptr.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcvode.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/mymath.h \
+ /usr/include/InterViews/geometry.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/tqueue.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/pool.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/sptbinq.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/cvodeobj.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/nvector.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/sundials/shared/sundialstypes.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/float.h \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrncvode/netcon.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/build.make
@@ -0,0 +1,91 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for nrnversion_h.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/nrnversion_h.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/nrnversion_h.dir/progress.make
+
+src/nrniv/CMakeFiles/nrnversion_h: /home/debian-build/wuruilong/demo/neuron-8.2.2/git2nrnversion_h.sh
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E env PROJECT_VERSION=8.2.2 bash /home/debian-build/wuruilong/demo/neuron-8.2.2/git2nrnversion_h.sh /home/debian-build/wuruilong/demo/neuron-8.2.2 > nrnversion.h.tmp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && /usr/bin/cmake -E copy_if_different nrnversion.h.tmp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/nrnversion.h
+
+nrnversion_h: src/nrniv/CMakeFiles/nrnversion_h
+nrnversion_h: src/nrniv/CMakeFiles/nrnversion_h.dir/build.make
+.PHONY : nrnversion_h
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/nrnversion_h.dir/build: nrnversion_h
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/build
+
+src/nrniv/CMakeFiles/nrnversion_h.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/nrnversion_h.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/clean
+
+src/nrniv/CMakeFiles/nrnversion_h.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/cmake_clean.cmake
@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/nrnversion_h"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/nrnversion_h.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for nrnversion_h.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for nrnversion_h.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/nrnversion_h.dir/progress.make
@@ -0,0 +1 @@
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/DependInfo.cmake
@@ -0,0 +1,24 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp" "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp"
+  )
+
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/build.make
@@ -0,0 +1,99 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for oc_generated_files.
+
+# Include any custom commands dependencies for this target.
+include src/nrniv/CMakeFiles/oc_generated_files.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrniv/CMakeFiles/oc_generated_files.dir/progress.make
+
+src/nrniv/CMakeFiles/oc_generated_files: src/nrniv/oc_generated/parse.hpp
+src/nrniv/CMakeFiles/oc_generated_files: src/nrniv/oc_generated/parse.cpp
+
+src/nrniv/oc_generated/parse.hpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/parse.ypp
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "[BISON][ocparser] Building parser with bison 3.8.2"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated && /usr/bin/bison --defines=parse.hpp -o parse.cpp ../../../../src/oc/parse.ypp
+
+src/nrniv/oc_generated/parse.cpp: src/nrniv/oc_generated/parse.hpp
+	@$(CMAKE_COMMAND) -E touch_nocreate src/nrniv/oc_generated/parse.cpp
+
+oc_generated_files: src/nrniv/CMakeFiles/oc_generated_files
+oc_generated_files: src/nrniv/oc_generated/parse.cpp
+oc_generated_files: src/nrniv/oc_generated/parse.hpp
+oc_generated_files: src/nrniv/CMakeFiles/oc_generated_files.dir/build.make
+.PHONY : oc_generated_files
+
+# Rule to build all files generated by this target.
+src/nrniv/CMakeFiles/oc_generated_files.dir/build: oc_generated_files
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/build
+
+src/nrniv/CMakeFiles/oc_generated_files.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv && $(CMAKE_COMMAND) -P CMakeFiles/oc_generated_files.dir/cmake_clean.cmake
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/clean
+
+src/nrniv/CMakeFiles/oc_generated_files.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/cmake_clean.cmake
@@ -0,0 +1,10 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/oc_generated_files"
+  "oc_generated/parse.cpp"
+  "oc_generated/parse.hpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/oc_generated_files.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for oc_generated_files.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for oc_generated_files.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/oc_generated_files.dir/progress.make
@@ -0,0 +1,2 @@
+CMAKE_PROGRESS_1 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+94
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/Makefile
@@ -0,0 +1,11493 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv//CMakeFiles/progress.marks
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/generated_source_files.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/generated_source_files.dir/rule
+.PHONY : src/nrniv/CMakeFiles/generated_source_files.dir/rule
+
+# Convenience name for target.
+generated_source_files: src/nrniv/CMakeFiles/generated_source_files.dir/rule
+.PHONY : generated_source_files
+
+# fast build rule for target.
+generated_source_files/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generated_source_files.dir/build.make src/nrniv/CMakeFiles/generated_source_files.dir/build
+.PHONY : generated_source_files/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule
+.PHONY : src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule
+
+# Convenience name for target.
+modlunit_generated_files: src/nrniv/CMakeFiles/modlunit_generated_files.dir/rule
+.PHONY : modlunit_generated_files
+
+# fast build rule for target.
+modlunit_generated_files/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit_generated_files.dir/build.make src/nrniv/CMakeFiles/modlunit_generated_files.dir/build
+.PHONY : modlunit_generated_files/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/modlunit.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/modlunit.dir/rule
+.PHONY : src/nrniv/CMakeFiles/modlunit.dir/rule
+
+# Convenience name for target.
+modlunit: src/nrniv/CMakeFiles/modlunit.dir/rule
+.PHONY : modlunit
+
+# fast build rule for target.
+modlunit/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/build
+.PHONY : modlunit/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule
+.PHONY : src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule
+
+# Convenience name for target.
+nocmodl_generated_files: src/nrniv/CMakeFiles/nocmodl_generated_files.dir/rule
+.PHONY : nocmodl_generated_files
+
+# fast build rule for target.
+nocmodl_generated_files/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build.make src/nrniv/CMakeFiles/nocmodl_generated_files.dir/build
+.PHONY : nocmodl_generated_files/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/nocmodl.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nocmodl.dir/rule
+.PHONY : src/nrniv/CMakeFiles/nocmodl.dir/rule
+
+# Convenience name for target.
+nocmodl: src/nrniv/CMakeFiles/nocmodl.dir/rule
+.PHONY : nocmodl
+
+# fast build rule for target.
+nocmodl/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/build
+.PHONY : nocmodl/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/oc_generated_files.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/oc_generated_files.dir/rule
+.PHONY : src/nrniv/CMakeFiles/oc_generated_files.dir/rule
+
+# Convenience name for target.
+oc_generated_files: src/nrniv/CMakeFiles/oc_generated_files.dir/rule
+.PHONY : oc_generated_files
+
+# fast build rule for target.
+oc_generated_files/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/oc_generated_files.dir/build.make src/nrniv/CMakeFiles/oc_generated_files.dir/build
+.PHONY : oc_generated_files/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/nrnversion_h.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrnversion_h.dir/rule
+.PHONY : src/nrniv/CMakeFiles/nrnversion_h.dir/rule
+
+# Convenience name for target.
+nrnversion_h: src/nrniv/CMakeFiles/nrnversion_h.dir/rule
+.PHONY : nrnversion_h
+
+# fast build rule for target.
+nrnversion_h/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrnversion_h.dir/build.make src/nrniv/CMakeFiles/nrnversion_h.dir/build
+.PHONY : nrnversion_h/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule
+.PHONY : src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule
+
+# Convenience name for target.
+generate_hocusr_header: src/nrniv/CMakeFiles/generate_hocusr_header.dir/rule
+.PHONY : generate_hocusr_header
+
+# fast build rule for target.
+generate_hocusr_header/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/generate_hocusr_header.dir/build.make src/nrniv/CMakeFiles/generate_hocusr_header.dir/build
+.PHONY : generate_hocusr_header/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/nrniv_lib.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrniv_lib.dir/rule
+.PHONY : src/nrniv/CMakeFiles/nrniv_lib.dir/rule
+
+# Convenience name for target.
+nrniv_lib: src/nrniv/CMakeFiles/nrniv_lib.dir/rule
+.PHONY : nrniv_lib
+
+# fast build rule for target.
+nrniv_lib/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/build
+.PHONY : nrniv_lib/fast
+
+# Convenience name for target.
+src/nrniv/CMakeFiles/nrniv.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrniv/CMakeFiles/nrniv.dir/rule
+.PHONY : src/nrniv/CMakeFiles/nrniv.dir/rule
+
+# Convenience name for target.
+nrniv: src/nrniv/CMakeFiles/nrniv.dir/rule
+.PHONY : nrniv
+
+# fast build rule for target.
+nrniv/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/build
+.PHONY : nrniv/fast
+
+__/gnu/ACG.o: __/gnu/ACG.cpp.o
+.PHONY : __/gnu/ACG.o
+
+# target to build an object file
+__/gnu/ACG.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.o
+.PHONY : __/gnu/ACG.cpp.o
+
+__/gnu/ACG.i: __/gnu/ACG.cpp.i
+.PHONY : __/gnu/ACG.i
+
+# target to preprocess a source file
+__/gnu/ACG.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.i
+.PHONY : __/gnu/ACG.cpp.i
+
+__/gnu/ACG.s: __/gnu/ACG.cpp.s
+.PHONY : __/gnu/ACG.s
+
+# target to generate assembly for a file
+__/gnu/ACG.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/ACG.cpp.s
+.PHONY : __/gnu/ACG.cpp.s
+
+__/gnu/Binomial.o: __/gnu/Binomial.cpp.o
+.PHONY : __/gnu/Binomial.o
+
+# target to build an object file
+__/gnu/Binomial.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.o
+.PHONY : __/gnu/Binomial.cpp.o
+
+__/gnu/Binomial.i: __/gnu/Binomial.cpp.i
+.PHONY : __/gnu/Binomial.i
+
+# target to preprocess a source file
+__/gnu/Binomial.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.i
+.PHONY : __/gnu/Binomial.cpp.i
+
+__/gnu/Binomial.s: __/gnu/Binomial.cpp.s
+.PHONY : __/gnu/Binomial.s
+
+# target to generate assembly for a file
+__/gnu/Binomial.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Binomial.cpp.s
+.PHONY : __/gnu/Binomial.cpp.s
+
+__/gnu/DiscUnif.o: __/gnu/DiscUnif.cpp.o
+.PHONY : __/gnu/DiscUnif.o
+
+# target to build an object file
+__/gnu/DiscUnif.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.o
+.PHONY : __/gnu/DiscUnif.cpp.o
+
+__/gnu/DiscUnif.i: __/gnu/DiscUnif.cpp.i
+.PHONY : __/gnu/DiscUnif.i
+
+# target to preprocess a source file
+__/gnu/DiscUnif.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.i
+.PHONY : __/gnu/DiscUnif.cpp.i
+
+__/gnu/DiscUnif.s: __/gnu/DiscUnif.cpp.s
+.PHONY : __/gnu/DiscUnif.s
+
+# target to generate assembly for a file
+__/gnu/DiscUnif.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/DiscUnif.cpp.s
+.PHONY : __/gnu/DiscUnif.cpp.s
+
+__/gnu/Erlang.o: __/gnu/Erlang.cpp.o
+.PHONY : __/gnu/Erlang.o
+
+# target to build an object file
+__/gnu/Erlang.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.o
+.PHONY : __/gnu/Erlang.cpp.o
+
+__/gnu/Erlang.i: __/gnu/Erlang.cpp.i
+.PHONY : __/gnu/Erlang.i
+
+# target to preprocess a source file
+__/gnu/Erlang.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.i
+.PHONY : __/gnu/Erlang.cpp.i
+
+__/gnu/Erlang.s: __/gnu/Erlang.cpp.s
+.PHONY : __/gnu/Erlang.s
+
+# target to generate assembly for a file
+__/gnu/Erlang.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Erlang.cpp.s
+.PHONY : __/gnu/Erlang.cpp.s
+
+__/gnu/Geom.o: __/gnu/Geom.cpp.o
+.PHONY : __/gnu/Geom.o
+
+# target to build an object file
+__/gnu/Geom.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.o
+.PHONY : __/gnu/Geom.cpp.o
+
+__/gnu/Geom.i: __/gnu/Geom.cpp.i
+.PHONY : __/gnu/Geom.i
+
+# target to preprocess a source file
+__/gnu/Geom.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.i
+.PHONY : __/gnu/Geom.cpp.i
+
+__/gnu/Geom.s: __/gnu/Geom.cpp.s
+.PHONY : __/gnu/Geom.s
+
+# target to generate assembly for a file
+__/gnu/Geom.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Geom.cpp.s
+.PHONY : __/gnu/Geom.cpp.s
+
+__/gnu/HypGeom.o: __/gnu/HypGeom.cpp.o
+.PHONY : __/gnu/HypGeom.o
+
+# target to build an object file
+__/gnu/HypGeom.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.o
+.PHONY : __/gnu/HypGeom.cpp.o
+
+__/gnu/HypGeom.i: __/gnu/HypGeom.cpp.i
+.PHONY : __/gnu/HypGeom.i
+
+# target to preprocess a source file
+__/gnu/HypGeom.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.i
+.PHONY : __/gnu/HypGeom.cpp.i
+
+__/gnu/HypGeom.s: __/gnu/HypGeom.cpp.s
+.PHONY : __/gnu/HypGeom.s
+
+# target to generate assembly for a file
+__/gnu/HypGeom.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/HypGeom.cpp.s
+.PHONY : __/gnu/HypGeom.cpp.s
+
+__/gnu/LogNorm.o: __/gnu/LogNorm.cpp.o
+.PHONY : __/gnu/LogNorm.o
+
+# target to build an object file
+__/gnu/LogNorm.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.o
+.PHONY : __/gnu/LogNorm.cpp.o
+
+__/gnu/LogNorm.i: __/gnu/LogNorm.cpp.i
+.PHONY : __/gnu/LogNorm.i
+
+# target to preprocess a source file
+__/gnu/LogNorm.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.i
+.PHONY : __/gnu/LogNorm.cpp.i
+
+__/gnu/LogNorm.s: __/gnu/LogNorm.cpp.s
+.PHONY : __/gnu/LogNorm.s
+
+# target to generate assembly for a file
+__/gnu/LogNorm.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/LogNorm.cpp.s
+.PHONY : __/gnu/LogNorm.cpp.s
+
+__/gnu/MLCG.o: __/gnu/MLCG.cpp.o
+.PHONY : __/gnu/MLCG.o
+
+# target to build an object file
+__/gnu/MLCG.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.o
+.PHONY : __/gnu/MLCG.cpp.o
+
+__/gnu/MLCG.i: __/gnu/MLCG.cpp.i
+.PHONY : __/gnu/MLCG.i
+
+# target to preprocess a source file
+__/gnu/MLCG.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.i
+.PHONY : __/gnu/MLCG.cpp.i
+
+__/gnu/MLCG.s: __/gnu/MLCG.cpp.s
+.PHONY : __/gnu/MLCG.s
+
+# target to generate assembly for a file
+__/gnu/MLCG.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/MLCG.cpp.s
+.PHONY : __/gnu/MLCG.cpp.s
+
+__/gnu/NegExp.o: __/gnu/NegExp.cpp.o
+.PHONY : __/gnu/NegExp.o
+
+# target to build an object file
+__/gnu/NegExp.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.o
+.PHONY : __/gnu/NegExp.cpp.o
+
+__/gnu/NegExp.i: __/gnu/NegExp.cpp.i
+.PHONY : __/gnu/NegExp.i
+
+# target to preprocess a source file
+__/gnu/NegExp.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.i
+.PHONY : __/gnu/NegExp.cpp.i
+
+__/gnu/NegExp.s: __/gnu/NegExp.cpp.s
+.PHONY : __/gnu/NegExp.s
+
+# target to generate assembly for a file
+__/gnu/NegExp.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/NegExp.cpp.s
+.PHONY : __/gnu/NegExp.cpp.s
+
+__/gnu/Normal.o: __/gnu/Normal.cpp.o
+.PHONY : __/gnu/Normal.o
+
+# target to build an object file
+__/gnu/Normal.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.o
+.PHONY : __/gnu/Normal.cpp.o
+
+__/gnu/Normal.i: __/gnu/Normal.cpp.i
+.PHONY : __/gnu/Normal.i
+
+# target to preprocess a source file
+__/gnu/Normal.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.i
+.PHONY : __/gnu/Normal.cpp.i
+
+__/gnu/Normal.s: __/gnu/Normal.cpp.s
+.PHONY : __/gnu/Normal.s
+
+# target to generate assembly for a file
+__/gnu/Normal.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Normal.cpp.s
+.PHONY : __/gnu/Normal.cpp.s
+
+__/gnu/Poisson.o: __/gnu/Poisson.cpp.o
+.PHONY : __/gnu/Poisson.o
+
+# target to build an object file
+__/gnu/Poisson.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.o
+.PHONY : __/gnu/Poisson.cpp.o
+
+__/gnu/Poisson.i: __/gnu/Poisson.cpp.i
+.PHONY : __/gnu/Poisson.i
+
+# target to preprocess a source file
+__/gnu/Poisson.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.i
+.PHONY : __/gnu/Poisson.cpp.i
+
+__/gnu/Poisson.s: __/gnu/Poisson.cpp.s
+.PHONY : __/gnu/Poisson.s
+
+# target to generate assembly for a file
+__/gnu/Poisson.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Poisson.cpp.s
+.PHONY : __/gnu/Poisson.cpp.s
+
+__/gnu/RNG.o: __/gnu/RNG.cpp.o
+.PHONY : __/gnu/RNG.o
+
+# target to build an object file
+__/gnu/RNG.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.o
+.PHONY : __/gnu/RNG.cpp.o
+
+__/gnu/RNG.i: __/gnu/RNG.cpp.i
+.PHONY : __/gnu/RNG.i
+
+# target to preprocess a source file
+__/gnu/RNG.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.i
+.PHONY : __/gnu/RNG.cpp.i
+
+__/gnu/RNG.s: __/gnu/RNG.cpp.s
+.PHONY : __/gnu/RNG.s
+
+# target to generate assembly for a file
+__/gnu/RNG.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RNG.cpp.s
+.PHONY : __/gnu/RNG.cpp.s
+
+__/gnu/Random.o: __/gnu/Random.cpp.o
+.PHONY : __/gnu/Random.o
+
+# target to build an object file
+__/gnu/Random.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.o
+.PHONY : __/gnu/Random.cpp.o
+
+__/gnu/Random.i: __/gnu/Random.cpp.i
+.PHONY : __/gnu/Random.i
+
+# target to preprocess a source file
+__/gnu/Random.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.i
+.PHONY : __/gnu/Random.cpp.i
+
+__/gnu/Random.s: __/gnu/Random.cpp.s
+.PHONY : __/gnu/Random.s
+
+# target to generate assembly for a file
+__/gnu/Random.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Random.cpp.s
+.PHONY : __/gnu/Random.cpp.s
+
+__/gnu/RndInt.o: __/gnu/RndInt.cpp.o
+.PHONY : __/gnu/RndInt.o
+
+# target to build an object file
+__/gnu/RndInt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.o
+.PHONY : __/gnu/RndInt.cpp.o
+
+__/gnu/RndInt.i: __/gnu/RndInt.cpp.i
+.PHONY : __/gnu/RndInt.i
+
+# target to preprocess a source file
+__/gnu/RndInt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.i
+.PHONY : __/gnu/RndInt.cpp.i
+
+__/gnu/RndInt.s: __/gnu/RndInt.cpp.s
+.PHONY : __/gnu/RndInt.s
+
+# target to generate assembly for a file
+__/gnu/RndInt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/RndInt.cpp.s
+.PHONY : __/gnu/RndInt.cpp.s
+
+__/gnu/Uniform.o: __/gnu/Uniform.cpp.o
+.PHONY : __/gnu/Uniform.o
+
+# target to build an object file
+__/gnu/Uniform.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.o
+.PHONY : __/gnu/Uniform.cpp.o
+
+__/gnu/Uniform.i: __/gnu/Uniform.cpp.i
+.PHONY : __/gnu/Uniform.i
+
+# target to preprocess a source file
+__/gnu/Uniform.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.i
+.PHONY : __/gnu/Uniform.cpp.i
+
+__/gnu/Uniform.s: __/gnu/Uniform.cpp.s
+.PHONY : __/gnu/Uniform.s
+
+# target to generate assembly for a file
+__/gnu/Uniform.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Uniform.cpp.s
+.PHONY : __/gnu/Uniform.cpp.s
+
+__/gnu/Weibull.o: __/gnu/Weibull.cpp.o
+.PHONY : __/gnu/Weibull.o
+
+# target to build an object file
+__/gnu/Weibull.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.o
+.PHONY : __/gnu/Weibull.cpp.o
+
+__/gnu/Weibull.i: __/gnu/Weibull.cpp.i
+.PHONY : __/gnu/Weibull.i
+
+# target to preprocess a source file
+__/gnu/Weibull.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.i
+.PHONY : __/gnu/Weibull.cpp.i
+
+__/gnu/Weibull.s: __/gnu/Weibull.cpp.s
+.PHONY : __/gnu/Weibull.s
+
+# target to generate assembly for a file
+__/gnu/Weibull.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/gnu/Weibull.cpp.s
+.PHONY : __/gnu/Weibull.cpp.s
+
+__/ivoc/apwindow.o: __/ivoc/apwindow.cpp.o
+.PHONY : __/ivoc/apwindow.o
+
+# target to build an object file
+__/ivoc/apwindow.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.o
+.PHONY : __/ivoc/apwindow.cpp.o
+
+__/ivoc/apwindow.i: __/ivoc/apwindow.cpp.i
+.PHONY : __/ivoc/apwindow.i
+
+# target to preprocess a source file
+__/ivoc/apwindow.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.i
+.PHONY : __/ivoc/apwindow.cpp.i
+
+__/ivoc/apwindow.s: __/ivoc/apwindow.cpp.s
+.PHONY : __/ivoc/apwindow.s
+
+# target to generate assembly for a file
+__/ivoc/apwindow.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/apwindow.cpp.s
+.PHONY : __/ivoc/apwindow.cpp.s
+
+__/ivoc/axis.o: __/ivoc/axis.cpp.o
+.PHONY : __/ivoc/axis.o
+
+# target to build an object file
+__/ivoc/axis.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.o
+.PHONY : __/ivoc/axis.cpp.o
+
+__/ivoc/axis.i: __/ivoc/axis.cpp.i
+.PHONY : __/ivoc/axis.i
+
+# target to preprocess a source file
+__/ivoc/axis.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.i
+.PHONY : __/ivoc/axis.cpp.i
+
+__/ivoc/axis.s: __/ivoc/axis.cpp.s
+.PHONY : __/ivoc/axis.s
+
+# target to generate assembly for a file
+__/ivoc/axis.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/axis.cpp.s
+.PHONY : __/ivoc/axis.cpp.s
+
+__/ivoc/bndedval.o: __/ivoc/bndedval.cpp.o
+.PHONY : __/ivoc/bndedval.o
+
+# target to build an object file
+__/ivoc/bndedval.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.o
+.PHONY : __/ivoc/bndedval.cpp.o
+
+__/ivoc/bndedval.i: __/ivoc/bndedval.cpp.i
+.PHONY : __/ivoc/bndedval.i
+
+# target to preprocess a source file
+__/ivoc/bndedval.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.i
+.PHONY : __/ivoc/bndedval.cpp.i
+
+__/ivoc/bndedval.s: __/ivoc/bndedval.cpp.s
+.PHONY : __/ivoc/bndedval.s
+
+# target to generate assembly for a file
+__/ivoc/bndedval.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/bndedval.cpp.s
+.PHONY : __/ivoc/bndedval.cpp.s
+
+__/ivoc/cbwidget.o: __/ivoc/cbwidget.cpp.o
+.PHONY : __/ivoc/cbwidget.o
+
+# target to build an object file
+__/ivoc/cbwidget.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.o
+.PHONY : __/ivoc/cbwidget.cpp.o
+
+__/ivoc/cbwidget.i: __/ivoc/cbwidget.cpp.i
+.PHONY : __/ivoc/cbwidget.i
+
+# target to preprocess a source file
+__/ivoc/cbwidget.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.i
+.PHONY : __/ivoc/cbwidget.cpp.i
+
+__/ivoc/cbwidget.s: __/ivoc/cbwidget.cpp.s
+.PHONY : __/ivoc/cbwidget.s
+
+# target to generate assembly for a file
+__/ivoc/cbwidget.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/cbwidget.cpp.s
+.PHONY : __/ivoc/cbwidget.cpp.s
+
+__/ivoc/checkpnt.o: __/ivoc/checkpnt.cpp.o
+.PHONY : __/ivoc/checkpnt.o
+
+# target to build an object file
+__/ivoc/checkpnt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.o
+.PHONY : __/ivoc/checkpnt.cpp.o
+
+__/ivoc/checkpnt.i: __/ivoc/checkpnt.cpp.i
+.PHONY : __/ivoc/checkpnt.i
+
+# target to preprocess a source file
+__/ivoc/checkpnt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.i
+.PHONY : __/ivoc/checkpnt.cpp.i
+
+__/ivoc/checkpnt.s: __/ivoc/checkpnt.cpp.s
+.PHONY : __/ivoc/checkpnt.s
+
+# target to generate assembly for a file
+__/ivoc/checkpnt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/checkpnt.cpp.s
+.PHONY : __/ivoc/checkpnt.cpp.s
+
+__/ivoc/epsprint.o: __/ivoc/epsprint.cpp.o
+.PHONY : __/ivoc/epsprint.o
+
+# target to build an object file
+__/ivoc/epsprint.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.o
+.PHONY : __/ivoc/epsprint.cpp.o
+
+__/ivoc/epsprint.i: __/ivoc/epsprint.cpp.i
+.PHONY : __/ivoc/epsprint.i
+
+# target to preprocess a source file
+__/ivoc/epsprint.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.i
+.PHONY : __/ivoc/epsprint.cpp.i
+
+__/ivoc/epsprint.s: __/ivoc/epsprint.cpp.s
+.PHONY : __/ivoc/epsprint.s
+
+# target to generate assembly for a file
+__/ivoc/epsprint.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/epsprint.cpp.s
+.PHONY : __/ivoc/epsprint.cpp.s
+
+__/ivoc/field.o: __/ivoc/field.cpp.o
+.PHONY : __/ivoc/field.o
+
+# target to build an object file
+__/ivoc/field.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.o
+.PHONY : __/ivoc/field.cpp.o
+
+__/ivoc/field.i: __/ivoc/field.cpp.i
+.PHONY : __/ivoc/field.i
+
+# target to preprocess a source file
+__/ivoc/field.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.i
+.PHONY : __/ivoc/field.cpp.i
+
+__/ivoc/field.s: __/ivoc/field.cpp.s
+.PHONY : __/ivoc/field.s
+
+# target to generate assembly for a file
+__/ivoc/field.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/field.cpp.s
+.PHONY : __/ivoc/field.cpp.s
+
+__/ivoc/fourier.o: __/ivoc/fourier.cpp.o
+.PHONY : __/ivoc/fourier.o
+
+# target to build an object file
+__/ivoc/fourier.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.o
+.PHONY : __/ivoc/fourier.cpp.o
+
+__/ivoc/fourier.i: __/ivoc/fourier.cpp.i
+.PHONY : __/ivoc/fourier.i
+
+# target to preprocess a source file
+__/ivoc/fourier.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.i
+.PHONY : __/ivoc/fourier.cpp.i
+
+__/ivoc/fourier.s: __/ivoc/fourier.cpp.s
+.PHONY : __/ivoc/fourier.s
+
+# target to generate assembly for a file
+__/ivoc/fourier.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/fourier.cpp.s
+.PHONY : __/ivoc/fourier.cpp.s
+
+__/ivoc/gifimage.o: __/ivoc/gifimage.cpp.o
+.PHONY : __/ivoc/gifimage.o
+
+# target to build an object file
+__/ivoc/gifimage.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.o
+.PHONY : __/ivoc/gifimage.cpp.o
+
+__/ivoc/gifimage.i: __/ivoc/gifimage.cpp.i
+.PHONY : __/ivoc/gifimage.i
+
+# target to preprocess a source file
+__/ivoc/gifimage.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.i
+.PHONY : __/ivoc/gifimage.cpp.i
+
+__/ivoc/gifimage.s: __/ivoc/gifimage.cpp.s
+.PHONY : __/ivoc/gifimage.s
+
+# target to generate assembly for a file
+__/ivoc/gifimage.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/gifimage.cpp.s
+.PHONY : __/ivoc/gifimage.cpp.s
+
+__/ivoc/graph.o: __/ivoc/graph.cpp.o
+.PHONY : __/ivoc/graph.o
+
+# target to build an object file
+__/ivoc/graph.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.o
+.PHONY : __/ivoc/graph.cpp.o
+
+__/ivoc/graph.i: __/ivoc/graph.cpp.i
+.PHONY : __/ivoc/graph.i
+
+# target to preprocess a source file
+__/ivoc/graph.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.i
+.PHONY : __/ivoc/graph.cpp.i
+
+__/ivoc/graph.s: __/ivoc/graph.cpp.s
+.PHONY : __/ivoc/graph.s
+
+# target to generate assembly for a file
+__/ivoc/graph.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graph.cpp.s
+.PHONY : __/ivoc/graph.cpp.s
+
+__/ivoc/graphvec.o: __/ivoc/graphvec.cpp.o
+.PHONY : __/ivoc/graphvec.o
+
+# target to build an object file
+__/ivoc/graphvec.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.o
+.PHONY : __/ivoc/graphvec.cpp.o
+
+__/ivoc/graphvec.i: __/ivoc/graphvec.cpp.i
+.PHONY : __/ivoc/graphvec.i
+
+# target to preprocess a source file
+__/ivoc/graphvec.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.i
+.PHONY : __/ivoc/graphvec.cpp.i
+
+__/ivoc/graphvec.s: __/ivoc/graphvec.cpp.s
+.PHONY : __/ivoc/graphvec.s
+
+# target to generate assembly for a file
+__/ivoc/graphvec.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/graphvec.cpp.s
+.PHONY : __/ivoc/graphvec.cpp.s
+
+__/ivoc/grglyph.o: __/ivoc/grglyph.cpp.o
+.PHONY : __/ivoc/grglyph.o
+
+# target to build an object file
+__/ivoc/grglyph.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.o
+.PHONY : __/ivoc/grglyph.cpp.o
+
+__/ivoc/grglyph.i: __/ivoc/grglyph.cpp.i
+.PHONY : __/ivoc/grglyph.i
+
+# target to preprocess a source file
+__/ivoc/grglyph.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.i
+.PHONY : __/ivoc/grglyph.cpp.i
+
+__/ivoc/grglyph.s: __/ivoc/grglyph.cpp.s
+.PHONY : __/ivoc/grglyph.s
+
+# target to generate assembly for a file
+__/ivoc/grglyph.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grglyph.cpp.s
+.PHONY : __/ivoc/grglyph.cpp.s
+
+__/ivoc/grmanip.o: __/ivoc/grmanip.cpp.o
+.PHONY : __/ivoc/grmanip.o
+
+# target to build an object file
+__/ivoc/grmanip.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.o
+.PHONY : __/ivoc/grmanip.cpp.o
+
+__/ivoc/grmanip.i: __/ivoc/grmanip.cpp.i
+.PHONY : __/ivoc/grmanip.i
+
+# target to preprocess a source file
+__/ivoc/grmanip.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.i
+.PHONY : __/ivoc/grmanip.cpp.i
+
+__/ivoc/grmanip.s: __/ivoc/grmanip.cpp.s
+.PHONY : __/ivoc/grmanip.s
+
+# target to generate assembly for a file
+__/ivoc/grmanip.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/grmanip.cpp.s
+.PHONY : __/ivoc/grmanip.cpp.s
+
+__/ivoc/hocmark.o: __/ivoc/hocmark.cpp.o
+.PHONY : __/ivoc/hocmark.o
+
+# target to build an object file
+__/ivoc/hocmark.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.o
+.PHONY : __/ivoc/hocmark.cpp.o
+
+__/ivoc/hocmark.i: __/ivoc/hocmark.cpp.i
+.PHONY : __/ivoc/hocmark.i
+
+# target to preprocess a source file
+__/ivoc/hocmark.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.i
+.PHONY : __/ivoc/hocmark.cpp.i
+
+__/ivoc/hocmark.s: __/ivoc/hocmark.cpp.s
+.PHONY : __/ivoc/hocmark.s
+
+# target to generate assembly for a file
+__/ivoc/hocmark.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/hocmark.cpp.s
+.PHONY : __/ivoc/hocmark.cpp.s
+
+__/ivoc/htlist.o: __/ivoc/htlist.cpp.o
+.PHONY : __/ivoc/htlist.o
+
+# target to build an object file
+__/ivoc/htlist.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.o
+.PHONY : __/ivoc/htlist.cpp.o
+
+__/ivoc/htlist.i: __/ivoc/htlist.cpp.i
+.PHONY : __/ivoc/htlist.i
+
+# target to preprocess a source file
+__/ivoc/htlist.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.i
+.PHONY : __/ivoc/htlist.cpp.i
+
+__/ivoc/htlist.s: __/ivoc/htlist.cpp.s
+.PHONY : __/ivoc/htlist.s
+
+# target to generate assembly for a file
+__/ivoc/htlist.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/htlist.cpp.s
+.PHONY : __/ivoc/htlist.cpp.s
+
+__/ivoc/idraw.o: __/ivoc/idraw.cpp.o
+.PHONY : __/ivoc/idraw.o
+
+# target to build an object file
+__/ivoc/idraw.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.o
+.PHONY : __/ivoc/idraw.cpp.o
+
+__/ivoc/idraw.i: __/ivoc/idraw.cpp.i
+.PHONY : __/ivoc/idraw.i
+
+# target to preprocess a source file
+__/ivoc/idraw.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.i
+.PHONY : __/ivoc/idraw.cpp.i
+
+__/ivoc/idraw.s: __/ivoc/idraw.cpp.s
+.PHONY : __/ivoc/idraw.s
+
+# target to generate assembly for a file
+__/ivoc/idraw.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/idraw.cpp.s
+.PHONY : __/ivoc/idraw.cpp.s
+
+__/ivoc/ivoc.o: __/ivoc/ivoc.cpp.o
+.PHONY : __/ivoc/ivoc.o
+
+# target to build an object file
+__/ivoc/ivoc.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.o
+.PHONY : __/ivoc/ivoc.cpp.o
+
+__/ivoc/ivoc.i: __/ivoc/ivoc.cpp.i
+.PHONY : __/ivoc/ivoc.i
+
+# target to preprocess a source file
+__/ivoc/ivoc.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.i
+.PHONY : __/ivoc/ivoc.cpp.i
+
+__/ivoc/ivoc.s: __/ivoc/ivoc.cpp.s
+.PHONY : __/ivoc/ivoc.s
+
+# target to generate assembly for a file
+__/ivoc/ivoc.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivoc.cpp.s
+.PHONY : __/ivoc/ivoc.cpp.s
+
+__/ivoc/ivocmain.o: __/ivoc/ivocmain.cpp.o
+.PHONY : __/ivoc/ivocmain.o
+
+# target to build an object file
+__/ivoc/ivocmain.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.o
+.PHONY : __/ivoc/ivocmain.cpp.o
+
+__/ivoc/ivocmain.i: __/ivoc/ivocmain.cpp.i
+.PHONY : __/ivoc/ivocmain.i
+
+# target to preprocess a source file
+__/ivoc/ivocmain.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.i
+.PHONY : __/ivoc/ivocmain.cpp.i
+
+__/ivoc/ivocmain.s: __/ivoc/ivocmain.cpp.s
+.PHONY : __/ivoc/ivocmain.s
+
+# target to generate assembly for a file
+__/ivoc/ivocmain.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocmain.cpp.s
+.PHONY : __/ivoc/ivocmain.cpp.s
+
+__/ivoc/ivocrand.o: __/ivoc/ivocrand.cpp.o
+.PHONY : __/ivoc/ivocrand.o
+
+# target to build an object file
+__/ivoc/ivocrand.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.o
+.PHONY : __/ivoc/ivocrand.cpp.o
+
+__/ivoc/ivocrand.i: __/ivoc/ivocrand.cpp.i
+.PHONY : __/ivoc/ivocrand.i
+
+# target to preprocess a source file
+__/ivoc/ivocrand.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.i
+.PHONY : __/ivoc/ivocrand.cpp.i
+
+__/ivoc/ivocrand.s: __/ivoc/ivocrand.cpp.s
+.PHONY : __/ivoc/ivocrand.s
+
+# target to generate assembly for a file
+__/ivoc/ivocrand.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocrand.cpp.s
+.PHONY : __/ivoc/ivocrand.cpp.s
+
+__/ivoc/ivocvect.o: __/ivoc/ivocvect.cpp.o
+.PHONY : __/ivoc/ivocvect.o
+
+# target to build an object file
+__/ivoc/ivocvect.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.o
+.PHONY : __/ivoc/ivocvect.cpp.o
+
+__/ivoc/ivocvect.i: __/ivoc/ivocvect.cpp.i
+.PHONY : __/ivoc/ivocvect.i
+
+# target to preprocess a source file
+__/ivoc/ivocvect.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.i
+.PHONY : __/ivoc/ivocvect.cpp.i
+
+__/ivoc/ivocvect.s: __/ivoc/ivocvect.cpp.s
+.PHONY : __/ivoc/ivocvect.s
+
+# target to generate assembly for a file
+__/ivoc/ivocvect.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ivocvect.cpp.s
+.PHONY : __/ivoc/ivocvect.cpp.s
+
+__/ivoc/matrix.o: __/ivoc/matrix.cpp.o
+.PHONY : __/ivoc/matrix.o
+
+# target to build an object file
+__/ivoc/matrix.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.o
+.PHONY : __/ivoc/matrix.cpp.o
+
+__/ivoc/matrix.i: __/ivoc/matrix.cpp.i
+.PHONY : __/ivoc/matrix.i
+
+# target to preprocess a source file
+__/ivoc/matrix.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.i
+.PHONY : __/ivoc/matrix.cpp.i
+
+__/ivoc/matrix.s: __/ivoc/matrix.cpp.s
+.PHONY : __/ivoc/matrix.s
+
+# target to generate assembly for a file
+__/ivoc/matrix.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/matrix.cpp.s
+.PHONY : __/ivoc/matrix.cpp.s
+
+__/ivoc/mlinedit.o: __/ivoc/mlinedit.cpp.o
+.PHONY : __/ivoc/mlinedit.o
+
+# target to build an object file
+__/ivoc/mlinedit.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.o
+.PHONY : __/ivoc/mlinedit.cpp.o
+
+__/ivoc/mlinedit.i: __/ivoc/mlinedit.cpp.i
+.PHONY : __/ivoc/mlinedit.i
+
+# target to preprocess a source file
+__/ivoc/mlinedit.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.i
+.PHONY : __/ivoc/mlinedit.cpp.i
+
+__/ivoc/mlinedit.s: __/ivoc/mlinedit.cpp.s
+.PHONY : __/ivoc/mlinedit.s
+
+# target to generate assembly for a file
+__/ivoc/mlinedit.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mlinedit.cpp.s
+.PHONY : __/ivoc/mlinedit.cpp.s
+
+__/ivoc/mymath.o: __/ivoc/mymath.cpp.o
+.PHONY : __/ivoc/mymath.o
+
+# target to build an object file
+__/ivoc/mymath.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.o
+.PHONY : __/ivoc/mymath.cpp.o
+
+__/ivoc/mymath.i: __/ivoc/mymath.cpp.i
+.PHONY : __/ivoc/mymath.i
+
+# target to preprocess a source file
+__/ivoc/mymath.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.i
+.PHONY : __/ivoc/mymath.cpp.i
+
+__/ivoc/mymath.s: __/ivoc/mymath.cpp.s
+.PHONY : __/ivoc/mymath.s
+
+# target to generate assembly for a file
+__/ivoc/mymath.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/mymath.cpp.s
+.PHONY : __/ivoc/mymath.cpp.s
+
+__/ivoc/nrnmain.o: __/ivoc/nrnmain.cpp.o
+.PHONY : __/ivoc/nrnmain.o
+
+# target to build an object file
+__/ivoc/nrnmain.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.o
+.PHONY : __/ivoc/nrnmain.cpp.o
+
+__/ivoc/nrnmain.i: __/ivoc/nrnmain.cpp.i
+.PHONY : __/ivoc/nrnmain.i
+
+# target to preprocess a source file
+__/ivoc/nrnmain.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.i
+.PHONY : __/ivoc/nrnmain.cpp.i
+
+__/ivoc/nrnmain.s: __/ivoc/nrnmain.cpp.s
+.PHONY : __/ivoc/nrnmain.s
+
+# target to generate assembly for a file
+__/ivoc/nrnmain.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/ivoc/nrnmain.cpp.s
+.PHONY : __/ivoc/nrnmain.cpp.s
+
+__/ivoc/objcmd.o: __/ivoc/objcmd.cpp.o
+.PHONY : __/ivoc/objcmd.o
+
+# target to build an object file
+__/ivoc/objcmd.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.o
+.PHONY : __/ivoc/objcmd.cpp.o
+
+__/ivoc/objcmd.i: __/ivoc/objcmd.cpp.i
+.PHONY : __/ivoc/objcmd.i
+
+# target to preprocess a source file
+__/ivoc/objcmd.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.i
+.PHONY : __/ivoc/objcmd.cpp.i
+
+__/ivoc/objcmd.s: __/ivoc/objcmd.cpp.s
+.PHONY : __/ivoc/objcmd.s
+
+# target to generate assembly for a file
+__/ivoc/objcmd.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/objcmd.cpp.s
+.PHONY : __/ivoc/objcmd.cpp.s
+
+__/ivoc/oc2iv.o: __/ivoc/oc2iv.cpp.o
+.PHONY : __/ivoc/oc2iv.o
+
+# target to build an object file
+__/ivoc/oc2iv.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.o
+.PHONY : __/ivoc/oc2iv.cpp.o
+
+__/ivoc/oc2iv.i: __/ivoc/oc2iv.cpp.i
+.PHONY : __/ivoc/oc2iv.i
+
+# target to preprocess a source file
+__/ivoc/oc2iv.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.i
+.PHONY : __/ivoc/oc2iv.cpp.i
+
+__/ivoc/oc2iv.s: __/ivoc/oc2iv.cpp.s
+.PHONY : __/ivoc/oc2iv.s
+
+# target to generate assembly for a file
+__/ivoc/oc2iv.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oc2iv.cpp.s
+.PHONY : __/ivoc/oc2iv.cpp.s
+
+__/ivoc/ocbox.o: __/ivoc/ocbox.cpp.o
+.PHONY : __/ivoc/ocbox.o
+
+# target to build an object file
+__/ivoc/ocbox.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.o
+.PHONY : __/ivoc/ocbox.cpp.o
+
+__/ivoc/ocbox.i: __/ivoc/ocbox.cpp.i
+.PHONY : __/ivoc/ocbox.i
+
+# target to preprocess a source file
+__/ivoc/ocbox.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.i
+.PHONY : __/ivoc/ocbox.cpp.i
+
+__/ivoc/ocbox.s: __/ivoc/ocbox.cpp.s
+.PHONY : __/ivoc/ocbox.s
+
+# target to generate assembly for a file
+__/ivoc/ocbox.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbox.cpp.s
+.PHONY : __/ivoc/ocbox.cpp.s
+
+__/ivoc/ocbrowsr.o: __/ivoc/ocbrowsr.cpp.o
+.PHONY : __/ivoc/ocbrowsr.o
+
+# target to build an object file
+__/ivoc/ocbrowsr.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.o
+.PHONY : __/ivoc/ocbrowsr.cpp.o
+
+__/ivoc/ocbrowsr.i: __/ivoc/ocbrowsr.cpp.i
+.PHONY : __/ivoc/ocbrowsr.i
+
+# target to preprocess a source file
+__/ivoc/ocbrowsr.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.i
+.PHONY : __/ivoc/ocbrowsr.cpp.i
+
+__/ivoc/ocbrowsr.s: __/ivoc/ocbrowsr.cpp.s
+.PHONY : __/ivoc/ocbrowsr.s
+
+# target to generate assembly for a file
+__/ivoc/ocbrowsr.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocbrowsr.cpp.s
+.PHONY : __/ivoc/ocbrowsr.cpp.s
+
+__/ivoc/ocdeck.o: __/ivoc/ocdeck.cpp.o
+.PHONY : __/ivoc/ocdeck.o
+
+# target to build an object file
+__/ivoc/ocdeck.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.o
+.PHONY : __/ivoc/ocdeck.cpp.o
+
+__/ivoc/ocdeck.i: __/ivoc/ocdeck.cpp.i
+.PHONY : __/ivoc/ocdeck.i
+
+# target to preprocess a source file
+__/ivoc/ocdeck.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.i
+.PHONY : __/ivoc/ocdeck.cpp.i
+
+__/ivoc/ocdeck.s: __/ivoc/ocdeck.cpp.s
+.PHONY : __/ivoc/ocdeck.s
+
+# target to generate assembly for a file
+__/ivoc/ocdeck.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocdeck.cpp.s
+.PHONY : __/ivoc/ocdeck.cpp.s
+
+__/ivoc/ocfile.o: __/ivoc/ocfile.cpp.o
+.PHONY : __/ivoc/ocfile.o
+
+# target to build an object file
+__/ivoc/ocfile.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.o
+.PHONY : __/ivoc/ocfile.cpp.o
+
+__/ivoc/ocfile.i: __/ivoc/ocfile.cpp.i
+.PHONY : __/ivoc/ocfile.i
+
+# target to preprocess a source file
+__/ivoc/ocfile.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.i
+.PHONY : __/ivoc/ocfile.cpp.i
+
+__/ivoc/ocfile.s: __/ivoc/ocfile.cpp.s
+.PHONY : __/ivoc/ocfile.s
+
+# target to generate assembly for a file
+__/ivoc/ocfile.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocfile.cpp.s
+.PHONY : __/ivoc/ocfile.cpp.s
+
+__/ivoc/ochelp.o: __/ivoc/ochelp.cpp.o
+.PHONY : __/ivoc/ochelp.o
+
+# target to build an object file
+__/ivoc/ochelp.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.o
+.PHONY : __/ivoc/ochelp.cpp.o
+
+__/ivoc/ochelp.i: __/ivoc/ochelp.cpp.i
+.PHONY : __/ivoc/ochelp.i
+
+# target to preprocess a source file
+__/ivoc/ochelp.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.i
+.PHONY : __/ivoc/ochelp.cpp.i
+
+__/ivoc/ochelp.s: __/ivoc/ochelp.cpp.s
+.PHONY : __/ivoc/ochelp.s
+
+# target to generate assembly for a file
+__/ivoc/ochelp.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ochelp.cpp.s
+.PHONY : __/ivoc/ochelp.cpp.s
+
+__/ivoc/oclist.o: __/ivoc/oclist.cpp.o
+.PHONY : __/ivoc/oclist.o
+
+# target to build an object file
+__/ivoc/oclist.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.o
+.PHONY : __/ivoc/oclist.cpp.o
+
+__/ivoc/oclist.i: __/ivoc/oclist.cpp.i
+.PHONY : __/ivoc/oclist.i
+
+# target to preprocess a source file
+__/ivoc/oclist.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.i
+.PHONY : __/ivoc/oclist.cpp.i
+
+__/ivoc/oclist.s: __/ivoc/oclist.cpp.s
+.PHONY : __/ivoc/oclist.s
+
+# target to generate assembly for a file
+__/ivoc/oclist.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/oclist.cpp.s
+.PHONY : __/ivoc/oclist.cpp.s
+
+__/ivoc/ocmatrix.o: __/ivoc/ocmatrix.cpp.o
+.PHONY : __/ivoc/ocmatrix.o
+
+# target to build an object file
+__/ivoc/ocmatrix.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.o
+.PHONY : __/ivoc/ocmatrix.cpp.o
+
+__/ivoc/ocmatrix.i: __/ivoc/ocmatrix.cpp.i
+.PHONY : __/ivoc/ocmatrix.i
+
+# target to preprocess a source file
+__/ivoc/ocmatrix.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.i
+.PHONY : __/ivoc/ocmatrix.cpp.i
+
+__/ivoc/ocmatrix.s: __/ivoc/ocmatrix.cpp.s
+.PHONY : __/ivoc/ocmatrix.s
+
+# target to generate assembly for a file
+__/ivoc/ocmatrix.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocmatrix.cpp.s
+.PHONY : __/ivoc/ocmatrix.cpp.s
+
+__/ivoc/ocnoiv1.o: __/ivoc/ocnoiv1.cpp.o
+.PHONY : __/ivoc/ocnoiv1.o
+
+# target to build an object file
+__/ivoc/ocnoiv1.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.o
+.PHONY : __/ivoc/ocnoiv1.cpp.o
+
+__/ivoc/ocnoiv1.i: __/ivoc/ocnoiv1.cpp.i
+.PHONY : __/ivoc/ocnoiv1.i
+
+# target to preprocess a source file
+__/ivoc/ocnoiv1.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.i
+.PHONY : __/ivoc/ocnoiv1.cpp.i
+
+__/ivoc/ocnoiv1.s: __/ivoc/ocnoiv1.cpp.s
+.PHONY : __/ivoc/ocnoiv1.s
+
+# target to generate assembly for a file
+__/ivoc/ocnoiv1.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocnoiv1.cpp.s
+.PHONY : __/ivoc/ocnoiv1.cpp.s
+
+__/ivoc/ocobserv.o: __/ivoc/ocobserv.cpp.o
+.PHONY : __/ivoc/ocobserv.o
+
+# target to build an object file
+__/ivoc/ocobserv.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.o
+.PHONY : __/ivoc/ocobserv.cpp.o
+
+__/ivoc/ocobserv.i: __/ivoc/ocobserv.cpp.i
+.PHONY : __/ivoc/ocobserv.i
+
+# target to preprocess a source file
+__/ivoc/ocobserv.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.i
+.PHONY : __/ivoc/ocobserv.cpp.i
+
+__/ivoc/ocobserv.s: __/ivoc/ocobserv.cpp.s
+.PHONY : __/ivoc/ocobserv.s
+
+# target to generate assembly for a file
+__/ivoc/ocobserv.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocobserv.cpp.s
+.PHONY : __/ivoc/ocobserv.cpp.s
+
+__/ivoc/ocpicker.o: __/ivoc/ocpicker.cpp.o
+.PHONY : __/ivoc/ocpicker.o
+
+# target to build an object file
+__/ivoc/ocpicker.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.o
+.PHONY : __/ivoc/ocpicker.cpp.o
+
+__/ivoc/ocpicker.i: __/ivoc/ocpicker.cpp.i
+.PHONY : __/ivoc/ocpicker.i
+
+# target to preprocess a source file
+__/ivoc/ocpicker.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.i
+.PHONY : __/ivoc/ocpicker.cpp.i
+
+__/ivoc/ocpicker.s: __/ivoc/ocpicker.cpp.s
+.PHONY : __/ivoc/ocpicker.s
+
+# target to generate assembly for a file
+__/ivoc/ocpicker.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpicker.cpp.s
+.PHONY : __/ivoc/ocpicker.cpp.s
+
+__/ivoc/ocpointer.o: __/ivoc/ocpointer.cpp.o
+.PHONY : __/ivoc/ocpointer.o
+
+# target to build an object file
+__/ivoc/ocpointer.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.o
+.PHONY : __/ivoc/ocpointer.cpp.o
+
+__/ivoc/ocpointer.i: __/ivoc/ocpointer.cpp.i
+.PHONY : __/ivoc/ocpointer.i
+
+# target to preprocess a source file
+__/ivoc/ocpointer.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.i
+.PHONY : __/ivoc/ocpointer.cpp.i
+
+__/ivoc/ocpointer.s: __/ivoc/ocpointer.cpp.s
+.PHONY : __/ivoc/ocpointer.s
+
+# target to generate assembly for a file
+__/ivoc/ocpointer.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocpointer.cpp.s
+.PHONY : __/ivoc/ocpointer.cpp.s
+
+__/ivoc/ocptrvector.o: __/ivoc/ocptrvector.cpp.o
+.PHONY : __/ivoc/ocptrvector.o
+
+# target to build an object file
+__/ivoc/ocptrvector.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.o
+.PHONY : __/ivoc/ocptrvector.cpp.o
+
+__/ivoc/ocptrvector.i: __/ivoc/ocptrvector.cpp.i
+.PHONY : __/ivoc/ocptrvector.i
+
+# target to preprocess a source file
+__/ivoc/ocptrvector.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.i
+.PHONY : __/ivoc/ocptrvector.cpp.i
+
+__/ivoc/ocptrvector.s: __/ivoc/ocptrvector.cpp.s
+.PHONY : __/ivoc/ocptrvector.s
+
+# target to generate assembly for a file
+__/ivoc/ocptrvector.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/ocptrvector.cpp.s
+.PHONY : __/ivoc/ocptrvector.cpp.s
+
+__/ivoc/octimer.o: __/ivoc/octimer.cpp.o
+.PHONY : __/ivoc/octimer.o
+
+# target to build an object file
+__/ivoc/octimer.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.o
+.PHONY : __/ivoc/octimer.cpp.o
+
+__/ivoc/octimer.i: __/ivoc/octimer.cpp.i
+.PHONY : __/ivoc/octimer.i
+
+# target to preprocess a source file
+__/ivoc/octimer.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.i
+.PHONY : __/ivoc/octimer.cpp.i
+
+__/ivoc/octimer.s: __/ivoc/octimer.cpp.s
+.PHONY : __/ivoc/octimer.s
+
+# target to generate assembly for a file
+__/ivoc/octimer.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/octimer.cpp.s
+.PHONY : __/ivoc/octimer.cpp.s
+
+__/ivoc/pwman.o: __/ivoc/pwman.cpp.o
+.PHONY : __/ivoc/pwman.o
+
+# target to build an object file
+__/ivoc/pwman.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.o
+.PHONY : __/ivoc/pwman.cpp.o
+
+__/ivoc/pwman.i: __/ivoc/pwman.cpp.i
+.PHONY : __/ivoc/pwman.i
+
+# target to preprocess a source file
+__/ivoc/pwman.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.i
+.PHONY : __/ivoc/pwman.cpp.i
+
+__/ivoc/pwman.s: __/ivoc/pwman.cpp.s
+.PHONY : __/ivoc/pwman.s
+
+# target to generate assembly for a file
+__/ivoc/pwman.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/pwman.cpp.s
+.PHONY : __/ivoc/pwman.cpp.s
+
+__/ivoc/rect.o: __/ivoc/rect.cpp.o
+.PHONY : __/ivoc/rect.o
+
+# target to build an object file
+__/ivoc/rect.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.o
+.PHONY : __/ivoc/rect.cpp.o
+
+__/ivoc/rect.i: __/ivoc/rect.cpp.i
+.PHONY : __/ivoc/rect.i
+
+# target to preprocess a source file
+__/ivoc/rect.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.i
+.PHONY : __/ivoc/rect.cpp.i
+
+__/ivoc/rect.s: __/ivoc/rect.cpp.s
+.PHONY : __/ivoc/rect.s
+
+# target to generate assembly for a file
+__/ivoc/rect.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rect.cpp.s
+.PHONY : __/ivoc/rect.cpp.s
+
+__/ivoc/rubband.o: __/ivoc/rubband.cpp.o
+.PHONY : __/ivoc/rubband.o
+
+# target to build an object file
+__/ivoc/rubband.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.o
+.PHONY : __/ivoc/rubband.cpp.o
+
+__/ivoc/rubband.i: __/ivoc/rubband.cpp.i
+.PHONY : __/ivoc/rubband.i
+
+# target to preprocess a source file
+__/ivoc/rubband.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.i
+.PHONY : __/ivoc/rubband.cpp.i
+
+__/ivoc/rubband.s: __/ivoc/rubband.cpp.s
+.PHONY : __/ivoc/rubband.s
+
+# target to generate assembly for a file
+__/ivoc/rubband.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/rubband.cpp.s
+.PHONY : __/ivoc/rubband.cpp.s
+
+__/ivoc/scene.o: __/ivoc/scene.cpp.o
+.PHONY : __/ivoc/scene.o
+
+# target to build an object file
+__/ivoc/scene.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.o
+.PHONY : __/ivoc/scene.cpp.o
+
+__/ivoc/scene.i: __/ivoc/scene.cpp.i
+.PHONY : __/ivoc/scene.i
+
+# target to preprocess a source file
+__/ivoc/scene.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.i
+.PHONY : __/ivoc/scene.cpp.i
+
+__/ivoc/scene.s: __/ivoc/scene.cpp.s
+.PHONY : __/ivoc/scene.s
+
+# target to generate assembly for a file
+__/ivoc/scene.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scene.cpp.s
+.PHONY : __/ivoc/scene.cpp.s
+
+__/ivoc/scenepic.o: __/ivoc/scenepic.cpp.o
+.PHONY : __/ivoc/scenepic.o
+
+# target to build an object file
+__/ivoc/scenepic.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.o
+.PHONY : __/ivoc/scenepic.cpp.o
+
+__/ivoc/scenepic.i: __/ivoc/scenepic.cpp.i
+.PHONY : __/ivoc/scenepic.i
+
+# target to preprocess a source file
+__/ivoc/scenepic.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.i
+.PHONY : __/ivoc/scenepic.cpp.i
+
+__/ivoc/scenepic.s: __/ivoc/scenepic.cpp.s
+.PHONY : __/ivoc/scenepic.s
+
+# target to generate assembly for a file
+__/ivoc/scenepic.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/scenepic.cpp.s
+.PHONY : __/ivoc/scenepic.cpp.s
+
+__/ivoc/strfun.o: __/ivoc/strfun.cpp.o
+.PHONY : __/ivoc/strfun.o
+
+# target to build an object file
+__/ivoc/strfun.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.o
+.PHONY : __/ivoc/strfun.cpp.o
+
+__/ivoc/strfun.i: __/ivoc/strfun.cpp.i
+.PHONY : __/ivoc/strfun.i
+
+# target to preprocess a source file
+__/ivoc/strfun.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.i
+.PHONY : __/ivoc/strfun.cpp.i
+
+__/ivoc/strfun.s: __/ivoc/strfun.cpp.s
+.PHONY : __/ivoc/strfun.s
+
+# target to generate assembly for a file
+__/ivoc/strfun.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/strfun.cpp.s
+.PHONY : __/ivoc/strfun.cpp.s
+
+__/ivoc/symchoos.o: __/ivoc/symchoos.cpp.o
+.PHONY : __/ivoc/symchoos.o
+
+# target to build an object file
+__/ivoc/symchoos.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.o
+.PHONY : __/ivoc/symchoos.cpp.o
+
+__/ivoc/symchoos.i: __/ivoc/symchoos.cpp.i
+.PHONY : __/ivoc/symchoos.i
+
+# target to preprocess a source file
+__/ivoc/symchoos.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.i
+.PHONY : __/ivoc/symchoos.cpp.i
+
+__/ivoc/symchoos.s: __/ivoc/symchoos.cpp.s
+.PHONY : __/ivoc/symchoos.s
+
+# target to generate assembly for a file
+__/ivoc/symchoos.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/symchoos.cpp.s
+.PHONY : __/ivoc/symchoos.cpp.s
+
+__/ivoc/utility.o: __/ivoc/utility.cpp.o
+.PHONY : __/ivoc/utility.o
+
+# target to build an object file
+__/ivoc/utility.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.o
+.PHONY : __/ivoc/utility.cpp.o
+
+__/ivoc/utility.i: __/ivoc/utility.cpp.i
+.PHONY : __/ivoc/utility.i
+
+# target to preprocess a source file
+__/ivoc/utility.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.i
+.PHONY : __/ivoc/utility.cpp.i
+
+__/ivoc/utility.s: __/ivoc/utility.cpp.s
+.PHONY : __/ivoc/utility.s
+
+# target to generate assembly for a file
+__/ivoc/utility.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/utility.cpp.s
+.PHONY : __/ivoc/utility.cpp.s
+
+__/ivoc/xdep.o: __/ivoc/xdep.cpp.o
+.PHONY : __/ivoc/xdep.o
+
+# target to build an object file
+__/ivoc/xdep.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.o
+.PHONY : __/ivoc/xdep.cpp.o
+
+__/ivoc/xdep.i: __/ivoc/xdep.cpp.i
+.PHONY : __/ivoc/xdep.i
+
+# target to preprocess a source file
+__/ivoc/xdep.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.i
+.PHONY : __/ivoc/xdep.cpp.i
+
+__/ivoc/xdep.s: __/ivoc/xdep.cpp.s
+.PHONY : __/ivoc/xdep.s
+
+# target to generate assembly for a file
+__/ivoc/xdep.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xdep.cpp.s
+.PHONY : __/ivoc/xdep.cpp.s
+
+__/ivoc/xmenu.o: __/ivoc/xmenu.cpp.o
+.PHONY : __/ivoc/xmenu.o
+
+# target to build an object file
+__/ivoc/xmenu.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.o
+.PHONY : __/ivoc/xmenu.cpp.o
+
+__/ivoc/xmenu.i: __/ivoc/xmenu.cpp.i
+.PHONY : __/ivoc/xmenu.i
+
+# target to preprocess a source file
+__/ivoc/xmenu.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.i
+.PHONY : __/ivoc/xmenu.cpp.i
+
+__/ivoc/xmenu.s: __/ivoc/xmenu.cpp.s
+.PHONY : __/ivoc/xmenu.s
+
+# target to generate assembly for a file
+__/ivoc/xmenu.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xmenu.cpp.s
+.PHONY : __/ivoc/xmenu.cpp.s
+
+__/ivoc/xyview.o: __/ivoc/xyview.cpp.o
+.PHONY : __/ivoc/xyview.o
+
+# target to build an object file
+__/ivoc/xyview.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.o
+.PHONY : __/ivoc/xyview.cpp.o
+
+__/ivoc/xyview.i: __/ivoc/xyview.cpp.i
+.PHONY : __/ivoc/xyview.i
+
+# target to preprocess a source file
+__/ivoc/xyview.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.i
+.PHONY : __/ivoc/xyview.cpp.i
+
+__/ivoc/xyview.s: __/ivoc/xyview.cpp.s
+.PHONY : __/ivoc/xyview.s
+
+# target to generate assembly for a file
+__/ivoc/xyview.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/ivoc/xyview.cpp.s
+.PHONY : __/ivoc/xyview.cpp.s
+
+__/mesch/arnoldi.o: __/mesch/arnoldi.c.o
+.PHONY : __/mesch/arnoldi.o
+
+# target to build an object file
+__/mesch/arnoldi.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.o
+.PHONY : __/mesch/arnoldi.c.o
+
+__/mesch/arnoldi.i: __/mesch/arnoldi.c.i
+.PHONY : __/mesch/arnoldi.i
+
+# target to preprocess a source file
+__/mesch/arnoldi.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.i
+.PHONY : __/mesch/arnoldi.c.i
+
+__/mesch/arnoldi.s: __/mesch/arnoldi.c.s
+.PHONY : __/mesch/arnoldi.s
+
+# target to generate assembly for a file
+__/mesch/arnoldi.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/arnoldi.c.s
+.PHONY : __/mesch/arnoldi.c.s
+
+__/mesch/bdfactor.o: __/mesch/bdfactor.c.o
+.PHONY : __/mesch/bdfactor.o
+
+# target to build an object file
+__/mesch/bdfactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.o
+.PHONY : __/mesch/bdfactor.c.o
+
+__/mesch/bdfactor.i: __/mesch/bdfactor.c.i
+.PHONY : __/mesch/bdfactor.i
+
+# target to preprocess a source file
+__/mesch/bdfactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.i
+.PHONY : __/mesch/bdfactor.c.i
+
+__/mesch/bdfactor.s: __/mesch/bdfactor.c.s
+.PHONY : __/mesch/bdfactor.s
+
+# target to generate assembly for a file
+__/mesch/bdfactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bdfactor.c.s
+.PHONY : __/mesch/bdfactor.c.s
+
+__/mesch/bkpfacto.o: __/mesch/bkpfacto.c.o
+.PHONY : __/mesch/bkpfacto.o
+
+# target to build an object file
+__/mesch/bkpfacto.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.o
+.PHONY : __/mesch/bkpfacto.c.o
+
+__/mesch/bkpfacto.i: __/mesch/bkpfacto.c.i
+.PHONY : __/mesch/bkpfacto.i
+
+# target to preprocess a source file
+__/mesch/bkpfacto.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.i
+.PHONY : __/mesch/bkpfacto.c.i
+
+__/mesch/bkpfacto.s: __/mesch/bkpfacto.c.s
+.PHONY : __/mesch/bkpfacto.s
+
+# target to generate assembly for a file
+__/mesch/bkpfacto.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/bkpfacto.c.s
+.PHONY : __/mesch/bkpfacto.c.s
+
+__/mesch/chfactor.o: __/mesch/chfactor.c.o
+.PHONY : __/mesch/chfactor.o
+
+# target to build an object file
+__/mesch/chfactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.o
+.PHONY : __/mesch/chfactor.c.o
+
+__/mesch/chfactor.i: __/mesch/chfactor.c.i
+.PHONY : __/mesch/chfactor.i
+
+# target to preprocess a source file
+__/mesch/chfactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.i
+.PHONY : __/mesch/chfactor.c.i
+
+__/mesch/chfactor.s: __/mesch/chfactor.c.s
+.PHONY : __/mesch/chfactor.s
+
+# target to generate assembly for a file
+__/mesch/chfactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/chfactor.c.s
+.PHONY : __/mesch/chfactor.c.s
+
+__/mesch/conjgrad.o: __/mesch/conjgrad.c.o
+.PHONY : __/mesch/conjgrad.o
+
+# target to build an object file
+__/mesch/conjgrad.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.o
+.PHONY : __/mesch/conjgrad.c.o
+
+__/mesch/conjgrad.i: __/mesch/conjgrad.c.i
+.PHONY : __/mesch/conjgrad.i
+
+# target to preprocess a source file
+__/mesch/conjgrad.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.i
+.PHONY : __/mesch/conjgrad.c.i
+
+__/mesch/conjgrad.s: __/mesch/conjgrad.c.s
+.PHONY : __/mesch/conjgrad.s
+
+# target to generate assembly for a file
+__/mesch/conjgrad.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/conjgrad.c.s
+.PHONY : __/mesch/conjgrad.c.s
+
+__/mesch/copy.o: __/mesch/copy.c.o
+.PHONY : __/mesch/copy.o
+
+# target to build an object file
+__/mesch/copy.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.o
+.PHONY : __/mesch/copy.c.o
+
+__/mesch/copy.i: __/mesch/copy.c.i
+.PHONY : __/mesch/copy.i
+
+# target to preprocess a source file
+__/mesch/copy.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.i
+.PHONY : __/mesch/copy.c.i
+
+__/mesch/copy.s: __/mesch/copy.c.s
+.PHONY : __/mesch/copy.s
+
+# target to generate assembly for a file
+__/mesch/copy.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/copy.c.s
+.PHONY : __/mesch/copy.c.s
+
+__/mesch/dmacheps.o: __/mesch/dmacheps.c.o
+.PHONY : __/mesch/dmacheps.o
+
+# target to build an object file
+__/mesch/dmacheps.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.o
+.PHONY : __/mesch/dmacheps.c.o
+
+__/mesch/dmacheps.i: __/mesch/dmacheps.c.i
+.PHONY : __/mesch/dmacheps.i
+
+# target to preprocess a source file
+__/mesch/dmacheps.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.i
+.PHONY : __/mesch/dmacheps.c.i
+
+__/mesch/dmacheps.s: __/mesch/dmacheps.c.s
+.PHONY : __/mesch/dmacheps.s
+
+# target to generate assembly for a file
+__/mesch/dmacheps.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/dmacheps.c.s
+.PHONY : __/mesch/dmacheps.c.s
+
+__/mesch/err.o: __/mesch/err.c.o
+.PHONY : __/mesch/err.o
+
+# target to build an object file
+__/mesch/err.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.o
+.PHONY : __/mesch/err.c.o
+
+__/mesch/err.i: __/mesch/err.c.i
+.PHONY : __/mesch/err.i
+
+# target to preprocess a source file
+__/mesch/err.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.i
+.PHONY : __/mesch/err.c.i
+
+__/mesch/err.s: __/mesch/err.c.s
+.PHONY : __/mesch/err.s
+
+# target to generate assembly for a file
+__/mesch/err.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/err.c.s
+.PHONY : __/mesch/err.c.s
+
+__/mesch/extras.o: __/mesch/extras.c.o
+.PHONY : __/mesch/extras.o
+
+# target to build an object file
+__/mesch/extras.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.o
+.PHONY : __/mesch/extras.c.o
+
+__/mesch/extras.i: __/mesch/extras.c.i
+.PHONY : __/mesch/extras.i
+
+# target to preprocess a source file
+__/mesch/extras.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.i
+.PHONY : __/mesch/extras.c.i
+
+__/mesch/extras.s: __/mesch/extras.c.s
+.PHONY : __/mesch/extras.s
+
+# target to generate assembly for a file
+__/mesch/extras.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/extras.c.s
+.PHONY : __/mesch/extras.c.s
+
+__/mesch/fft.o: __/mesch/fft.c.o
+.PHONY : __/mesch/fft.o
+
+# target to build an object file
+__/mesch/fft.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.o
+.PHONY : __/mesch/fft.c.o
+
+__/mesch/fft.i: __/mesch/fft.c.i
+.PHONY : __/mesch/fft.i
+
+# target to preprocess a source file
+__/mesch/fft.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.i
+.PHONY : __/mesch/fft.c.i
+
+__/mesch/fft.s: __/mesch/fft.c.s
+.PHONY : __/mesch/fft.s
+
+# target to generate assembly for a file
+__/mesch/fft.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/fft.c.s
+.PHONY : __/mesch/fft.c.s
+
+__/mesch/givens.o: __/mesch/givens.c.o
+.PHONY : __/mesch/givens.o
+
+# target to build an object file
+__/mesch/givens.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.o
+.PHONY : __/mesch/givens.c.o
+
+__/mesch/givens.i: __/mesch/givens.c.i
+.PHONY : __/mesch/givens.i
+
+# target to preprocess a source file
+__/mesch/givens.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.i
+.PHONY : __/mesch/givens.c.i
+
+__/mesch/givens.s: __/mesch/givens.c.s
+.PHONY : __/mesch/givens.s
+
+# target to generate assembly for a file
+__/mesch/givens.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/givens.c.s
+.PHONY : __/mesch/givens.c.s
+
+__/mesch/hessen.o: __/mesch/hessen.c.o
+.PHONY : __/mesch/hessen.o
+
+# target to build an object file
+__/mesch/hessen.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.o
+.PHONY : __/mesch/hessen.c.o
+
+__/mesch/hessen.i: __/mesch/hessen.c.i
+.PHONY : __/mesch/hessen.i
+
+# target to preprocess a source file
+__/mesch/hessen.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.i
+.PHONY : __/mesch/hessen.c.i
+
+__/mesch/hessen.s: __/mesch/hessen.c.s
+.PHONY : __/mesch/hessen.s
+
+# target to generate assembly for a file
+__/mesch/hessen.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hessen.c.s
+.PHONY : __/mesch/hessen.c.s
+
+__/mesch/hsehldr.o: __/mesch/hsehldr.c.o
+.PHONY : __/mesch/hsehldr.o
+
+# target to build an object file
+__/mesch/hsehldr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.o
+.PHONY : __/mesch/hsehldr.c.o
+
+__/mesch/hsehldr.i: __/mesch/hsehldr.c.i
+.PHONY : __/mesch/hsehldr.i
+
+# target to preprocess a source file
+__/mesch/hsehldr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.i
+.PHONY : __/mesch/hsehldr.c.i
+
+__/mesch/hsehldr.s: __/mesch/hsehldr.c.s
+.PHONY : __/mesch/hsehldr.s
+
+# target to generate assembly for a file
+__/mesch/hsehldr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/hsehldr.c.s
+.PHONY : __/mesch/hsehldr.c.s
+
+__/mesch/init.o: __/mesch/init.c.o
+.PHONY : __/mesch/init.o
+
+# target to build an object file
+__/mesch/init.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.o
+.PHONY : __/mesch/init.c.o
+
+__/mesch/init.i: __/mesch/init.c.i
+.PHONY : __/mesch/init.i
+
+# target to preprocess a source file
+__/mesch/init.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.i
+.PHONY : __/mesch/init.c.i
+
+__/mesch/init.s: __/mesch/init.c.s
+.PHONY : __/mesch/init.s
+
+# target to generate assembly for a file
+__/mesch/init.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/init.c.s
+.PHONY : __/mesch/init.c.s
+
+__/mesch/iter0.o: __/mesch/iter0.c.o
+.PHONY : __/mesch/iter0.o
+
+# target to build an object file
+__/mesch/iter0.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.o
+.PHONY : __/mesch/iter0.c.o
+
+__/mesch/iter0.i: __/mesch/iter0.c.i
+.PHONY : __/mesch/iter0.i
+
+# target to preprocess a source file
+__/mesch/iter0.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.i
+.PHONY : __/mesch/iter0.c.i
+
+__/mesch/iter0.s: __/mesch/iter0.c.s
+.PHONY : __/mesch/iter0.s
+
+# target to generate assembly for a file
+__/mesch/iter0.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iter0.c.s
+.PHONY : __/mesch/iter0.c.s
+
+__/mesch/iternsym.o: __/mesch/iternsym.c.o
+.PHONY : __/mesch/iternsym.o
+
+# target to build an object file
+__/mesch/iternsym.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.o
+.PHONY : __/mesch/iternsym.c.o
+
+__/mesch/iternsym.i: __/mesch/iternsym.c.i
+.PHONY : __/mesch/iternsym.i
+
+# target to preprocess a source file
+__/mesch/iternsym.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.i
+.PHONY : __/mesch/iternsym.c.i
+
+__/mesch/iternsym.s: __/mesch/iternsym.c.s
+.PHONY : __/mesch/iternsym.s
+
+# target to generate assembly for a file
+__/mesch/iternsym.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/iternsym.c.s
+.PHONY : __/mesch/iternsym.c.s
+
+__/mesch/itersym.o: __/mesch/itersym.c.o
+.PHONY : __/mesch/itersym.o
+
+# target to build an object file
+__/mesch/itersym.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.o
+.PHONY : __/mesch/itersym.c.o
+
+__/mesch/itersym.i: __/mesch/itersym.c.i
+.PHONY : __/mesch/itersym.i
+
+# target to preprocess a source file
+__/mesch/itersym.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.i
+.PHONY : __/mesch/itersym.c.i
+
+__/mesch/itersym.s: __/mesch/itersym.c.s
+.PHONY : __/mesch/itersym.s
+
+# target to generate assembly for a file
+__/mesch/itersym.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/itersym.c.s
+.PHONY : __/mesch/itersym.c.s
+
+__/mesch/ivecop.o: __/mesch/ivecop.c.o
+.PHONY : __/mesch/ivecop.o
+
+# target to build an object file
+__/mesch/ivecop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.o
+.PHONY : __/mesch/ivecop.c.o
+
+__/mesch/ivecop.i: __/mesch/ivecop.c.i
+.PHONY : __/mesch/ivecop.i
+
+# target to preprocess a source file
+__/mesch/ivecop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.i
+.PHONY : __/mesch/ivecop.c.i
+
+__/mesch/ivecop.s: __/mesch/ivecop.c.s
+.PHONY : __/mesch/ivecop.s
+
+# target to generate assembly for a file
+__/mesch/ivecop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/ivecop.c.s
+.PHONY : __/mesch/ivecop.c.s
+
+__/mesch/lanczos.o: __/mesch/lanczos.c.o
+.PHONY : __/mesch/lanczos.o
+
+# target to build an object file
+__/mesch/lanczos.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.o
+.PHONY : __/mesch/lanczos.c.o
+
+__/mesch/lanczos.i: __/mesch/lanczos.c.i
+.PHONY : __/mesch/lanczos.i
+
+# target to preprocess a source file
+__/mesch/lanczos.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.i
+.PHONY : __/mesch/lanczos.c.i
+
+__/mesch/lanczos.s: __/mesch/lanczos.c.s
+.PHONY : __/mesch/lanczos.s
+
+# target to generate assembly for a file
+__/mesch/lanczos.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lanczos.c.s
+.PHONY : __/mesch/lanczos.c.s
+
+__/mesch/lufactor.o: __/mesch/lufactor.c.o
+.PHONY : __/mesch/lufactor.o
+
+# target to build an object file
+__/mesch/lufactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.o
+.PHONY : __/mesch/lufactor.c.o
+
+__/mesch/lufactor.i: __/mesch/lufactor.c.i
+.PHONY : __/mesch/lufactor.i
+
+# target to preprocess a source file
+__/mesch/lufactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.i
+.PHONY : __/mesch/lufactor.c.i
+
+__/mesch/lufactor.s: __/mesch/lufactor.c.s
+.PHONY : __/mesch/lufactor.s
+
+# target to generate assembly for a file
+__/mesch/lufactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/lufactor.c.s
+.PHONY : __/mesch/lufactor.c.s
+
+__/mesch/machine.o: __/mesch/machine.c.o
+.PHONY : __/mesch/machine.o
+
+# target to build an object file
+__/mesch/machine.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.o
+.PHONY : __/mesch/machine.c.o
+
+__/mesch/machine.i: __/mesch/machine.c.i
+.PHONY : __/mesch/machine.i
+
+# target to preprocess a source file
+__/mesch/machine.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.i
+.PHONY : __/mesch/machine.c.i
+
+__/mesch/machine.s: __/mesch/machine.c.s
+.PHONY : __/mesch/machine.s
+
+# target to generate assembly for a file
+__/mesch/machine.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/machine.c.s
+.PHONY : __/mesch/machine.c.s
+
+__/mesch/matlab.o: __/mesch/matlab.c.o
+.PHONY : __/mesch/matlab.o
+
+# target to build an object file
+__/mesch/matlab.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.o
+.PHONY : __/mesch/matlab.c.o
+
+__/mesch/matlab.i: __/mesch/matlab.c.i
+.PHONY : __/mesch/matlab.i
+
+# target to preprocess a source file
+__/mesch/matlab.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.i
+.PHONY : __/mesch/matlab.c.i
+
+__/mesch/matlab.s: __/mesch/matlab.c.s
+.PHONY : __/mesch/matlab.s
+
+# target to generate assembly for a file
+__/mesch/matlab.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matlab.c.s
+.PHONY : __/mesch/matlab.c.s
+
+__/mesch/matop.o: __/mesch/matop.c.o
+.PHONY : __/mesch/matop.o
+
+# target to build an object file
+__/mesch/matop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.o
+.PHONY : __/mesch/matop.c.o
+
+__/mesch/matop.i: __/mesch/matop.c.i
+.PHONY : __/mesch/matop.i
+
+# target to preprocess a source file
+__/mesch/matop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.i
+.PHONY : __/mesch/matop.c.i
+
+__/mesch/matop.s: __/mesch/matop.c.s
+.PHONY : __/mesch/matop.s
+
+# target to generate assembly for a file
+__/mesch/matop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matop.c.s
+.PHONY : __/mesch/matop.c.s
+
+__/mesch/matrixio.o: __/mesch/matrixio.c.o
+.PHONY : __/mesch/matrixio.o
+
+# target to build an object file
+__/mesch/matrixio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.o
+.PHONY : __/mesch/matrixio.c.o
+
+__/mesch/matrixio.i: __/mesch/matrixio.c.i
+.PHONY : __/mesch/matrixio.i
+
+# target to preprocess a source file
+__/mesch/matrixio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.i
+.PHONY : __/mesch/matrixio.c.i
+
+__/mesch/matrixio.s: __/mesch/matrixio.c.s
+.PHONY : __/mesch/matrixio.s
+
+# target to generate assembly for a file
+__/mesch/matrixio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/matrixio.c.s
+.PHONY : __/mesch/matrixio.c.s
+
+__/mesch/meminfo.o: __/mesch/meminfo.c.o
+.PHONY : __/mesch/meminfo.o
+
+# target to build an object file
+__/mesch/meminfo.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.o
+.PHONY : __/mesch/meminfo.c.o
+
+__/mesch/meminfo.i: __/mesch/meminfo.c.i
+.PHONY : __/mesch/meminfo.i
+
+# target to preprocess a source file
+__/mesch/meminfo.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.i
+.PHONY : __/mesch/meminfo.c.i
+
+__/mesch/meminfo.s: __/mesch/meminfo.c.s
+.PHONY : __/mesch/meminfo.s
+
+# target to generate assembly for a file
+__/mesch/meminfo.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/meminfo.c.s
+.PHONY : __/mesch/meminfo.c.s
+
+__/mesch/memory.o: __/mesch/memory.c.o
+.PHONY : __/mesch/memory.o
+
+# target to build an object file
+__/mesch/memory.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.o
+.PHONY : __/mesch/memory.c.o
+
+__/mesch/memory.i: __/mesch/memory.c.i
+.PHONY : __/mesch/memory.i
+
+# target to preprocess a source file
+__/mesch/memory.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.i
+.PHONY : __/mesch/memory.c.i
+
+__/mesch/memory.s: __/mesch/memory.c.s
+.PHONY : __/mesch/memory.s
+
+# target to generate assembly for a file
+__/mesch/memory.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memory.c.s
+.PHONY : __/mesch/memory.c.s
+
+__/mesch/memstat.o: __/mesch/memstat.c.o
+.PHONY : __/mesch/memstat.o
+
+# target to build an object file
+__/mesch/memstat.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.o
+.PHONY : __/mesch/memstat.c.o
+
+__/mesch/memstat.i: __/mesch/memstat.c.i
+.PHONY : __/mesch/memstat.i
+
+# target to preprocess a source file
+__/mesch/memstat.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.i
+.PHONY : __/mesch/memstat.c.i
+
+__/mesch/memstat.s: __/mesch/memstat.c.s
+.PHONY : __/mesch/memstat.s
+
+# target to generate assembly for a file
+__/mesch/memstat.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/memstat.c.s
+.PHONY : __/mesch/memstat.c.s
+
+__/mesch/mfunc.o: __/mesch/mfunc.c.o
+.PHONY : __/mesch/mfunc.o
+
+# target to build an object file
+__/mesch/mfunc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.o
+.PHONY : __/mesch/mfunc.c.o
+
+__/mesch/mfunc.i: __/mesch/mfunc.c.i
+.PHONY : __/mesch/mfunc.i
+
+# target to preprocess a source file
+__/mesch/mfunc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.i
+.PHONY : __/mesch/mfunc.c.i
+
+__/mesch/mfunc.s: __/mesch/mfunc.c.s
+.PHONY : __/mesch/mfunc.s
+
+# target to generate assembly for a file
+__/mesch/mfunc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/mfunc.c.s
+.PHONY : __/mesch/mfunc.c.s
+
+__/mesch/norm.o: __/mesch/norm.c.o
+.PHONY : __/mesch/norm.o
+
+# target to build an object file
+__/mesch/norm.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.o
+.PHONY : __/mesch/norm.c.o
+
+__/mesch/norm.i: __/mesch/norm.c.i
+.PHONY : __/mesch/norm.i
+
+# target to preprocess a source file
+__/mesch/norm.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.i
+.PHONY : __/mesch/norm.c.i
+
+__/mesch/norm.s: __/mesch/norm.c.s
+.PHONY : __/mesch/norm.s
+
+# target to generate assembly for a file
+__/mesch/norm.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/norm.c.s
+.PHONY : __/mesch/norm.c.s
+
+__/mesch/otherio.o: __/mesch/otherio.c.o
+.PHONY : __/mesch/otherio.o
+
+# target to build an object file
+__/mesch/otherio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.o
+.PHONY : __/mesch/otherio.c.o
+
+__/mesch/otherio.i: __/mesch/otherio.c.i
+.PHONY : __/mesch/otherio.i
+
+# target to preprocess a source file
+__/mesch/otherio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.i
+.PHONY : __/mesch/otherio.c.i
+
+__/mesch/otherio.s: __/mesch/otherio.c.s
+.PHONY : __/mesch/otherio.s
+
+# target to generate assembly for a file
+__/mesch/otherio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/otherio.c.s
+.PHONY : __/mesch/otherio.c.s
+
+__/mesch/pxop.o: __/mesch/pxop.c.o
+.PHONY : __/mesch/pxop.o
+
+# target to build an object file
+__/mesch/pxop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.o
+.PHONY : __/mesch/pxop.c.o
+
+__/mesch/pxop.i: __/mesch/pxop.c.i
+.PHONY : __/mesch/pxop.i
+
+# target to preprocess a source file
+__/mesch/pxop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.i
+.PHONY : __/mesch/pxop.c.i
+
+__/mesch/pxop.s: __/mesch/pxop.c.s
+.PHONY : __/mesch/pxop.s
+
+# target to generate assembly for a file
+__/mesch/pxop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/pxop.c.s
+.PHONY : __/mesch/pxop.c.s
+
+__/mesch/qrfactor.o: __/mesch/qrfactor.c.o
+.PHONY : __/mesch/qrfactor.o
+
+# target to build an object file
+__/mesch/qrfactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.o
+.PHONY : __/mesch/qrfactor.c.o
+
+__/mesch/qrfactor.i: __/mesch/qrfactor.c.i
+.PHONY : __/mesch/qrfactor.i
+
+# target to preprocess a source file
+__/mesch/qrfactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.i
+.PHONY : __/mesch/qrfactor.c.i
+
+__/mesch/qrfactor.s: __/mesch/qrfactor.c.s
+.PHONY : __/mesch/qrfactor.s
+
+# target to generate assembly for a file
+__/mesch/qrfactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/qrfactor.c.s
+.PHONY : __/mesch/qrfactor.c.s
+
+__/mesch/schur.o: __/mesch/schur.c.o
+.PHONY : __/mesch/schur.o
+
+# target to build an object file
+__/mesch/schur.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.o
+.PHONY : __/mesch/schur.c.o
+
+__/mesch/schur.i: __/mesch/schur.c.i
+.PHONY : __/mesch/schur.i
+
+# target to preprocess a source file
+__/mesch/schur.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.i
+.PHONY : __/mesch/schur.c.i
+
+__/mesch/schur.s: __/mesch/schur.c.s
+.PHONY : __/mesch/schur.s
+
+# target to generate assembly for a file
+__/mesch/schur.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/schur.c.s
+.PHONY : __/mesch/schur.c.s
+
+__/mesch/solve.o: __/mesch/solve.c.o
+.PHONY : __/mesch/solve.o
+
+# target to build an object file
+__/mesch/solve.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.o
+.PHONY : __/mesch/solve.c.o
+
+__/mesch/solve.i: __/mesch/solve.c.i
+.PHONY : __/mesch/solve.i
+
+# target to preprocess a source file
+__/mesch/solve.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.i
+.PHONY : __/mesch/solve.c.i
+
+__/mesch/solve.s: __/mesch/solve.c.s
+.PHONY : __/mesch/solve.s
+
+# target to generate assembly for a file
+__/mesch/solve.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/solve.c.s
+.PHONY : __/mesch/solve.c.s
+
+__/mesch/sparse.o: __/mesch/sparse.c.o
+.PHONY : __/mesch/sparse.o
+
+# target to build an object file
+__/mesch/sparse.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.o
+.PHONY : __/mesch/sparse.c.o
+
+__/mesch/sparse.i: __/mesch/sparse.c.i
+.PHONY : __/mesch/sparse.i
+
+# target to preprocess a source file
+__/mesch/sparse.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.i
+.PHONY : __/mesch/sparse.c.i
+
+__/mesch/sparse.s: __/mesch/sparse.c.s
+.PHONY : __/mesch/sparse.s
+
+# target to generate assembly for a file
+__/mesch/sparse.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparse.c.s
+.PHONY : __/mesch/sparse.c.s
+
+__/mesch/sparseio.o: __/mesch/sparseio.c.o
+.PHONY : __/mesch/sparseio.o
+
+# target to build an object file
+__/mesch/sparseio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.o
+.PHONY : __/mesch/sparseio.c.o
+
+__/mesch/sparseio.i: __/mesch/sparseio.c.i
+.PHONY : __/mesch/sparseio.i
+
+# target to preprocess a source file
+__/mesch/sparseio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.i
+.PHONY : __/mesch/sparseio.c.i
+
+__/mesch/sparseio.s: __/mesch/sparseio.c.s
+.PHONY : __/mesch/sparseio.s
+
+# target to generate assembly for a file
+__/mesch/sparseio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sparseio.c.s
+.PHONY : __/mesch/sparseio.c.s
+
+__/mesch/spbkp.o: __/mesch/spbkp.c.o
+.PHONY : __/mesch/spbkp.o
+
+# target to build an object file
+__/mesch/spbkp.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.o
+.PHONY : __/mesch/spbkp.c.o
+
+__/mesch/spbkp.i: __/mesch/spbkp.c.i
+.PHONY : __/mesch/spbkp.i
+
+# target to preprocess a source file
+__/mesch/spbkp.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.i
+.PHONY : __/mesch/spbkp.c.i
+
+__/mesch/spbkp.s: __/mesch/spbkp.c.s
+.PHONY : __/mesch/spbkp.s
+
+# target to generate assembly for a file
+__/mesch/spbkp.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spbkp.c.s
+.PHONY : __/mesch/spbkp.c.s
+
+__/mesch/spchfctr.o: __/mesch/spchfctr.c.o
+.PHONY : __/mesch/spchfctr.o
+
+# target to build an object file
+__/mesch/spchfctr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.o
+.PHONY : __/mesch/spchfctr.c.o
+
+__/mesch/spchfctr.i: __/mesch/spchfctr.c.i
+.PHONY : __/mesch/spchfctr.i
+
+# target to preprocess a source file
+__/mesch/spchfctr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.i
+.PHONY : __/mesch/spchfctr.c.i
+
+__/mesch/spchfctr.s: __/mesch/spchfctr.c.s
+.PHONY : __/mesch/spchfctr.s
+
+# target to generate assembly for a file
+__/mesch/spchfctr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spchfctr.c.s
+.PHONY : __/mesch/spchfctr.c.s
+
+__/mesch/splufctr.o: __/mesch/splufctr.c.o
+.PHONY : __/mesch/splufctr.o
+
+# target to build an object file
+__/mesch/splufctr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.o
+.PHONY : __/mesch/splufctr.c.o
+
+__/mesch/splufctr.i: __/mesch/splufctr.c.i
+.PHONY : __/mesch/splufctr.i
+
+# target to preprocess a source file
+__/mesch/splufctr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.i
+.PHONY : __/mesch/splufctr.c.i
+
+__/mesch/splufctr.s: __/mesch/splufctr.c.s
+.PHONY : __/mesch/splufctr.s
+
+# target to generate assembly for a file
+__/mesch/splufctr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/splufctr.c.s
+.PHONY : __/mesch/splufctr.c.s
+
+__/mesch/sprow.o: __/mesch/sprow.c.o
+.PHONY : __/mesch/sprow.o
+
+# target to build an object file
+__/mesch/sprow.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.o
+.PHONY : __/mesch/sprow.c.o
+
+__/mesch/sprow.i: __/mesch/sprow.c.i
+.PHONY : __/mesch/sprow.i
+
+# target to preprocess a source file
+__/mesch/sprow.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.i
+.PHONY : __/mesch/sprow.c.i
+
+__/mesch/sprow.s: __/mesch/sprow.c.s
+.PHONY : __/mesch/sprow.s
+
+# target to generate assembly for a file
+__/mesch/sprow.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/sprow.c.s
+.PHONY : __/mesch/sprow.c.s
+
+__/mesch/spswap.o: __/mesch/spswap.c.o
+.PHONY : __/mesch/spswap.o
+
+# target to build an object file
+__/mesch/spswap.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.o
+.PHONY : __/mesch/spswap.c.o
+
+__/mesch/spswap.i: __/mesch/spswap.c.i
+.PHONY : __/mesch/spswap.i
+
+# target to preprocess a source file
+__/mesch/spswap.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.i
+.PHONY : __/mesch/spswap.c.i
+
+__/mesch/spswap.s: __/mesch/spswap.c.s
+.PHONY : __/mesch/spswap.s
+
+# target to generate assembly for a file
+__/mesch/spswap.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/spswap.c.s
+.PHONY : __/mesch/spswap.c.s
+
+__/mesch/submat.o: __/mesch/submat.c.o
+.PHONY : __/mesch/submat.o
+
+# target to build an object file
+__/mesch/submat.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.o
+.PHONY : __/mesch/submat.c.o
+
+__/mesch/submat.i: __/mesch/submat.c.i
+.PHONY : __/mesch/submat.i
+
+# target to preprocess a source file
+__/mesch/submat.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.i
+.PHONY : __/mesch/submat.c.i
+
+__/mesch/submat.s: __/mesch/submat.c.s
+.PHONY : __/mesch/submat.s
+
+# target to generate assembly for a file
+__/mesch/submat.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/submat.c.s
+.PHONY : __/mesch/submat.c.s
+
+__/mesch/svd.o: __/mesch/svd.c.o
+.PHONY : __/mesch/svd.o
+
+# target to build an object file
+__/mesch/svd.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.o
+.PHONY : __/mesch/svd.c.o
+
+__/mesch/svd.i: __/mesch/svd.c.i
+.PHONY : __/mesch/svd.i
+
+# target to preprocess a source file
+__/mesch/svd.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.i
+.PHONY : __/mesch/svd.c.i
+
+__/mesch/svd.s: __/mesch/svd.c.s
+.PHONY : __/mesch/svd.s
+
+# target to generate assembly for a file
+__/mesch/svd.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/svd.c.s
+.PHONY : __/mesch/svd.c.s
+
+__/mesch/symmeig.o: __/mesch/symmeig.c.o
+.PHONY : __/mesch/symmeig.o
+
+# target to build an object file
+__/mesch/symmeig.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.o
+.PHONY : __/mesch/symmeig.c.o
+
+__/mesch/symmeig.i: __/mesch/symmeig.c.i
+.PHONY : __/mesch/symmeig.i
+
+# target to preprocess a source file
+__/mesch/symmeig.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.i
+.PHONY : __/mesch/symmeig.c.i
+
+__/mesch/symmeig.s: __/mesch/symmeig.c.s
+.PHONY : __/mesch/symmeig.s
+
+# target to generate assembly for a file
+__/mesch/symmeig.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/symmeig.c.s
+.PHONY : __/mesch/symmeig.c.s
+
+__/mesch/update.o: __/mesch/update.c.o
+.PHONY : __/mesch/update.o
+
+# target to build an object file
+__/mesch/update.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.o
+.PHONY : __/mesch/update.c.o
+
+__/mesch/update.i: __/mesch/update.c.i
+.PHONY : __/mesch/update.i
+
+# target to preprocess a source file
+__/mesch/update.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.i
+.PHONY : __/mesch/update.c.i
+
+__/mesch/update.s: __/mesch/update.c.s
+.PHONY : __/mesch/update.s
+
+# target to generate assembly for a file
+__/mesch/update.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/update.c.s
+.PHONY : __/mesch/update.c.s
+
+__/mesch/vecop.o: __/mesch/vecop.c.o
+.PHONY : __/mesch/vecop.o
+
+# target to build an object file
+__/mesch/vecop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.o
+.PHONY : __/mesch/vecop.c.o
+
+__/mesch/vecop.i: __/mesch/vecop.c.i
+.PHONY : __/mesch/vecop.i
+
+# target to preprocess a source file
+__/mesch/vecop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.i
+.PHONY : __/mesch/vecop.c.i
+
+__/mesch/vecop.s: __/mesch/vecop.c.s
+.PHONY : __/mesch/vecop.s
+
+# target to generate assembly for a file
+__/mesch/vecop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/vecop.c.s
+.PHONY : __/mesch/vecop.c.s
+
+__/mesch/version.o: __/mesch/version.c.o
+.PHONY : __/mesch/version.o
+
+# target to build an object file
+__/mesch/version.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.o
+.PHONY : __/mesch/version.c.o
+
+__/mesch/version.i: __/mesch/version.c.i
+.PHONY : __/mesch/version.i
+
+# target to preprocess a source file
+__/mesch/version.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.i
+.PHONY : __/mesch/version.c.i
+
+__/mesch/version.s: __/mesch/version.c.s
+.PHONY : __/mesch/version.s
+
+# target to generate assembly for a file
+__/mesch/version.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/version.c.s
+.PHONY : __/mesch/version.c.s
+
+__/mesch/zcopy.o: __/mesch/zcopy.c.o
+.PHONY : __/mesch/zcopy.o
+
+# target to build an object file
+__/mesch/zcopy.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.o
+.PHONY : __/mesch/zcopy.c.o
+
+__/mesch/zcopy.i: __/mesch/zcopy.c.i
+.PHONY : __/mesch/zcopy.i
+
+# target to preprocess a source file
+__/mesch/zcopy.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.i
+.PHONY : __/mesch/zcopy.c.i
+
+__/mesch/zcopy.s: __/mesch/zcopy.c.s
+.PHONY : __/mesch/zcopy.s
+
+# target to generate assembly for a file
+__/mesch/zcopy.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zcopy.c.s
+.PHONY : __/mesch/zcopy.c.s
+
+__/mesch/zfunc.o: __/mesch/zfunc.c.o
+.PHONY : __/mesch/zfunc.o
+
+# target to build an object file
+__/mesch/zfunc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.o
+.PHONY : __/mesch/zfunc.c.o
+
+__/mesch/zfunc.i: __/mesch/zfunc.c.i
+.PHONY : __/mesch/zfunc.i
+
+# target to preprocess a source file
+__/mesch/zfunc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.i
+.PHONY : __/mesch/zfunc.c.i
+
+__/mesch/zfunc.s: __/mesch/zfunc.c.s
+.PHONY : __/mesch/zfunc.s
+
+# target to generate assembly for a file
+__/mesch/zfunc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zfunc.c.s
+.PHONY : __/mesch/zfunc.c.s
+
+__/mesch/zgivens.o: __/mesch/zgivens.c.o
+.PHONY : __/mesch/zgivens.o
+
+# target to build an object file
+__/mesch/zgivens.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.o
+.PHONY : __/mesch/zgivens.c.o
+
+__/mesch/zgivens.i: __/mesch/zgivens.c.i
+.PHONY : __/mesch/zgivens.i
+
+# target to preprocess a source file
+__/mesch/zgivens.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.i
+.PHONY : __/mesch/zgivens.c.i
+
+__/mesch/zgivens.s: __/mesch/zgivens.c.s
+.PHONY : __/mesch/zgivens.s
+
+# target to generate assembly for a file
+__/mesch/zgivens.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zgivens.c.s
+.PHONY : __/mesch/zgivens.c.s
+
+__/mesch/zhessen.o: __/mesch/zhessen.c.o
+.PHONY : __/mesch/zhessen.o
+
+# target to build an object file
+__/mesch/zhessen.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.o
+.PHONY : __/mesch/zhessen.c.o
+
+__/mesch/zhessen.i: __/mesch/zhessen.c.i
+.PHONY : __/mesch/zhessen.i
+
+# target to preprocess a source file
+__/mesch/zhessen.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.i
+.PHONY : __/mesch/zhessen.c.i
+
+__/mesch/zhessen.s: __/mesch/zhessen.c.s
+.PHONY : __/mesch/zhessen.s
+
+# target to generate assembly for a file
+__/mesch/zhessen.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhessen.c.s
+.PHONY : __/mesch/zhessen.c.s
+
+__/mesch/zhsehldr.o: __/mesch/zhsehldr.c.o
+.PHONY : __/mesch/zhsehldr.o
+
+# target to build an object file
+__/mesch/zhsehldr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.o
+.PHONY : __/mesch/zhsehldr.c.o
+
+__/mesch/zhsehldr.i: __/mesch/zhsehldr.c.i
+.PHONY : __/mesch/zhsehldr.i
+
+# target to preprocess a source file
+__/mesch/zhsehldr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.i
+.PHONY : __/mesch/zhsehldr.c.i
+
+__/mesch/zhsehldr.s: __/mesch/zhsehldr.c.s
+.PHONY : __/mesch/zhsehldr.s
+
+# target to generate assembly for a file
+__/mesch/zhsehldr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zhsehldr.c.s
+.PHONY : __/mesch/zhsehldr.c.s
+
+__/mesch/zlufctr.o: __/mesch/zlufctr.c.o
+.PHONY : __/mesch/zlufctr.o
+
+# target to build an object file
+__/mesch/zlufctr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.o
+.PHONY : __/mesch/zlufctr.c.o
+
+__/mesch/zlufctr.i: __/mesch/zlufctr.c.i
+.PHONY : __/mesch/zlufctr.i
+
+# target to preprocess a source file
+__/mesch/zlufctr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.i
+.PHONY : __/mesch/zlufctr.c.i
+
+__/mesch/zlufctr.s: __/mesch/zlufctr.c.s
+.PHONY : __/mesch/zlufctr.s
+
+# target to generate assembly for a file
+__/mesch/zlufctr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zlufctr.c.s
+.PHONY : __/mesch/zlufctr.c.s
+
+__/mesch/zmachine.o: __/mesch/zmachine.c.o
+.PHONY : __/mesch/zmachine.o
+
+# target to build an object file
+__/mesch/zmachine.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.o
+.PHONY : __/mesch/zmachine.c.o
+
+__/mesch/zmachine.i: __/mesch/zmachine.c.i
+.PHONY : __/mesch/zmachine.i
+
+# target to preprocess a source file
+__/mesch/zmachine.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.i
+.PHONY : __/mesch/zmachine.c.i
+
+__/mesch/zmachine.s: __/mesch/zmachine.c.s
+.PHONY : __/mesch/zmachine.s
+
+# target to generate assembly for a file
+__/mesch/zmachine.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmachine.c.s
+.PHONY : __/mesch/zmachine.c.s
+
+__/mesch/zmatio.o: __/mesch/zmatio.c.o
+.PHONY : __/mesch/zmatio.o
+
+# target to build an object file
+__/mesch/zmatio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.o
+.PHONY : __/mesch/zmatio.c.o
+
+__/mesch/zmatio.i: __/mesch/zmatio.c.i
+.PHONY : __/mesch/zmatio.i
+
+# target to preprocess a source file
+__/mesch/zmatio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.i
+.PHONY : __/mesch/zmatio.c.i
+
+__/mesch/zmatio.s: __/mesch/zmatio.c.s
+.PHONY : __/mesch/zmatio.s
+
+# target to generate assembly for a file
+__/mesch/zmatio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatio.c.s
+.PHONY : __/mesch/zmatio.c.s
+
+__/mesch/zmatlab.o: __/mesch/zmatlab.c.o
+.PHONY : __/mesch/zmatlab.o
+
+# target to build an object file
+__/mesch/zmatlab.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.o
+.PHONY : __/mesch/zmatlab.c.o
+
+__/mesch/zmatlab.i: __/mesch/zmatlab.c.i
+.PHONY : __/mesch/zmatlab.i
+
+# target to preprocess a source file
+__/mesch/zmatlab.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.i
+.PHONY : __/mesch/zmatlab.c.i
+
+__/mesch/zmatlab.s: __/mesch/zmatlab.c.s
+.PHONY : __/mesch/zmatlab.s
+
+# target to generate assembly for a file
+__/mesch/zmatlab.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatlab.c.s
+.PHONY : __/mesch/zmatlab.c.s
+
+__/mesch/zmatop.o: __/mesch/zmatop.c.o
+.PHONY : __/mesch/zmatop.o
+
+# target to build an object file
+__/mesch/zmatop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.o
+.PHONY : __/mesch/zmatop.c.o
+
+__/mesch/zmatop.i: __/mesch/zmatop.c.i
+.PHONY : __/mesch/zmatop.i
+
+# target to preprocess a source file
+__/mesch/zmatop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.i
+.PHONY : __/mesch/zmatop.c.i
+
+__/mesch/zmatop.s: __/mesch/zmatop.c.s
+.PHONY : __/mesch/zmatop.s
+
+# target to generate assembly for a file
+__/mesch/zmatop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmatop.c.s
+.PHONY : __/mesch/zmatop.c.s
+
+__/mesch/zmemory.o: __/mesch/zmemory.c.o
+.PHONY : __/mesch/zmemory.o
+
+# target to build an object file
+__/mesch/zmemory.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.o
+.PHONY : __/mesch/zmemory.c.o
+
+__/mesch/zmemory.i: __/mesch/zmemory.c.i
+.PHONY : __/mesch/zmemory.i
+
+# target to preprocess a source file
+__/mesch/zmemory.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.i
+.PHONY : __/mesch/zmemory.c.i
+
+__/mesch/zmemory.s: __/mesch/zmemory.c.s
+.PHONY : __/mesch/zmemory.s
+
+# target to generate assembly for a file
+__/mesch/zmemory.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zmemory.c.s
+.PHONY : __/mesch/zmemory.c.s
+
+__/mesch/znorm.o: __/mesch/znorm.c.o
+.PHONY : __/mesch/znorm.o
+
+# target to build an object file
+__/mesch/znorm.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.o
+.PHONY : __/mesch/znorm.c.o
+
+__/mesch/znorm.i: __/mesch/znorm.c.i
+.PHONY : __/mesch/znorm.i
+
+# target to preprocess a source file
+__/mesch/znorm.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.i
+.PHONY : __/mesch/znorm.c.i
+
+__/mesch/znorm.s: __/mesch/znorm.c.s
+.PHONY : __/mesch/znorm.s
+
+# target to generate assembly for a file
+__/mesch/znorm.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/znorm.c.s
+.PHONY : __/mesch/znorm.c.s
+
+__/mesch/zqrfctr.o: __/mesch/zqrfctr.c.o
+.PHONY : __/mesch/zqrfctr.o
+
+# target to build an object file
+__/mesch/zqrfctr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.o
+.PHONY : __/mesch/zqrfctr.c.o
+
+__/mesch/zqrfctr.i: __/mesch/zqrfctr.c.i
+.PHONY : __/mesch/zqrfctr.i
+
+# target to preprocess a source file
+__/mesch/zqrfctr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.i
+.PHONY : __/mesch/zqrfctr.c.i
+
+__/mesch/zqrfctr.s: __/mesch/zqrfctr.c.s
+.PHONY : __/mesch/zqrfctr.s
+
+# target to generate assembly for a file
+__/mesch/zqrfctr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zqrfctr.c.s
+.PHONY : __/mesch/zqrfctr.c.s
+
+__/mesch/zschur.o: __/mesch/zschur.c.o
+.PHONY : __/mesch/zschur.o
+
+# target to build an object file
+__/mesch/zschur.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.o
+.PHONY : __/mesch/zschur.c.o
+
+__/mesch/zschur.i: __/mesch/zschur.c.i
+.PHONY : __/mesch/zschur.i
+
+# target to preprocess a source file
+__/mesch/zschur.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.i
+.PHONY : __/mesch/zschur.c.i
+
+__/mesch/zschur.s: __/mesch/zschur.c.s
+.PHONY : __/mesch/zschur.s
+
+# target to generate assembly for a file
+__/mesch/zschur.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zschur.c.s
+.PHONY : __/mesch/zschur.c.s
+
+__/mesch/zsolve.o: __/mesch/zsolve.c.o
+.PHONY : __/mesch/zsolve.o
+
+# target to build an object file
+__/mesch/zsolve.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.o
+.PHONY : __/mesch/zsolve.c.o
+
+__/mesch/zsolve.i: __/mesch/zsolve.c.i
+.PHONY : __/mesch/zsolve.i
+
+# target to preprocess a source file
+__/mesch/zsolve.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.i
+.PHONY : __/mesch/zsolve.c.i
+
+__/mesch/zsolve.s: __/mesch/zsolve.c.s
+.PHONY : __/mesch/zsolve.s
+
+# target to generate assembly for a file
+__/mesch/zsolve.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zsolve.c.s
+.PHONY : __/mesch/zsolve.c.s
+
+__/mesch/zvecop.o: __/mesch/zvecop.c.o
+.PHONY : __/mesch/zvecop.o
+
+# target to build an object file
+__/mesch/zvecop.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.o
+.PHONY : __/mesch/zvecop.c.o
+
+__/mesch/zvecop.i: __/mesch/zvecop.c.i
+.PHONY : __/mesch/zvecop.i
+
+# target to preprocess a source file
+__/mesch/zvecop.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.i
+.PHONY : __/mesch/zvecop.c.i
+
+__/mesch/zvecop.s: __/mesch/zvecop.c.s
+.PHONY : __/mesch/zvecop.s
+
+# target to generate assembly for a file
+__/mesch/zvecop.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/mesch/zvecop.c.s
+.PHONY : __/mesch/zvecop.c.s
+
+__/modlunit/consist.o: __/modlunit/consist.cpp.o
+.PHONY : __/modlunit/consist.o
+
+# target to build an object file
+__/modlunit/consist.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.o
+.PHONY : __/modlunit/consist.cpp.o
+
+__/modlunit/consist.i: __/modlunit/consist.cpp.i
+.PHONY : __/modlunit/consist.i
+
+# target to preprocess a source file
+__/modlunit/consist.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.i
+.PHONY : __/modlunit/consist.cpp.i
+
+__/modlunit/consist.s: __/modlunit/consist.cpp.s
+.PHONY : __/modlunit/consist.s
+
+# target to generate assembly for a file
+__/modlunit/consist.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/consist.cpp.s
+.PHONY : __/modlunit/consist.cpp.s
+
+__/modlunit/declare.o: __/modlunit/declare.cpp.o
+.PHONY : __/modlunit/declare.o
+
+# target to build an object file
+__/modlunit/declare.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.o
+.PHONY : __/modlunit/declare.cpp.o
+
+__/modlunit/declare.i: __/modlunit/declare.cpp.i
+.PHONY : __/modlunit/declare.i
+
+# target to preprocess a source file
+__/modlunit/declare.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.i
+.PHONY : __/modlunit/declare.cpp.i
+
+__/modlunit/declare.s: __/modlunit/declare.cpp.s
+.PHONY : __/modlunit/declare.s
+
+# target to generate assembly for a file
+__/modlunit/declare.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/declare.cpp.s
+.PHONY : __/modlunit/declare.cpp.s
+
+__/modlunit/init.o: __/modlunit/init.cpp.o
+.PHONY : __/modlunit/init.o
+
+# target to build an object file
+__/modlunit/init.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.o
+.PHONY : __/modlunit/init.cpp.o
+
+__/modlunit/init.i: __/modlunit/init.cpp.i
+.PHONY : __/modlunit/init.i
+
+# target to preprocess a source file
+__/modlunit/init.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.i
+.PHONY : __/modlunit/init.cpp.i
+
+__/modlunit/init.s: __/modlunit/init.cpp.s
+.PHONY : __/modlunit/init.s
+
+# target to generate assembly for a file
+__/modlunit/init.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/init.cpp.s
+.PHONY : __/modlunit/init.cpp.s
+
+__/modlunit/io.o: __/modlunit/io.cpp.o
+.PHONY : __/modlunit/io.o
+
+# target to build an object file
+__/modlunit/io.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.o
+.PHONY : __/modlunit/io.cpp.o
+
+__/modlunit/io.i: __/modlunit/io.cpp.i
+.PHONY : __/modlunit/io.i
+
+# target to preprocess a source file
+__/modlunit/io.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.i
+.PHONY : __/modlunit/io.cpp.i
+
+__/modlunit/io.s: __/modlunit/io.cpp.s
+.PHONY : __/modlunit/io.s
+
+# target to generate assembly for a file
+__/modlunit/io.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/io.cpp.s
+.PHONY : __/modlunit/io.cpp.s
+
+__/modlunit/kinunit.o: __/modlunit/kinunit.cpp.o
+.PHONY : __/modlunit/kinunit.o
+
+# target to build an object file
+__/modlunit/kinunit.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.o
+.PHONY : __/modlunit/kinunit.cpp.o
+
+__/modlunit/kinunit.i: __/modlunit/kinunit.cpp.i
+.PHONY : __/modlunit/kinunit.i
+
+# target to preprocess a source file
+__/modlunit/kinunit.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.i
+.PHONY : __/modlunit/kinunit.cpp.i
+
+__/modlunit/kinunit.s: __/modlunit/kinunit.cpp.s
+.PHONY : __/modlunit/kinunit.s
+
+# target to generate assembly for a file
+__/modlunit/kinunit.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/kinunit.cpp.s
+.PHONY : __/modlunit/kinunit.cpp.s
+
+__/modlunit/list.o: __/modlunit/list.cpp.o
+.PHONY : __/modlunit/list.o
+
+# target to build an object file
+__/modlunit/list.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.o
+.PHONY : __/modlunit/list.cpp.o
+
+__/modlunit/list.i: __/modlunit/list.cpp.i
+.PHONY : __/modlunit/list.i
+
+# target to preprocess a source file
+__/modlunit/list.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.i
+.PHONY : __/modlunit/list.cpp.i
+
+__/modlunit/list.s: __/modlunit/list.cpp.s
+.PHONY : __/modlunit/list.s
+
+# target to generate assembly for a file
+__/modlunit/list.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/list.cpp.s
+.PHONY : __/modlunit/list.cpp.s
+
+__/modlunit/model.o: __/modlunit/model.cpp.o
+.PHONY : __/modlunit/model.o
+
+# target to build an object file
+__/modlunit/model.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.o
+.PHONY : __/modlunit/model.cpp.o
+
+__/modlunit/model.i: __/modlunit/model.cpp.i
+.PHONY : __/modlunit/model.i
+
+# target to preprocess a source file
+__/modlunit/model.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.i
+.PHONY : __/modlunit/model.cpp.i
+
+__/modlunit/model.s: __/modlunit/model.cpp.s
+.PHONY : __/modlunit/model.s
+
+# target to generate assembly for a file
+__/modlunit/model.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/model.cpp.s
+.PHONY : __/modlunit/model.cpp.s
+
+__/modlunit/nrnunit.o: __/modlunit/nrnunit.cpp.o
+.PHONY : __/modlunit/nrnunit.o
+
+# target to build an object file
+__/modlunit/nrnunit.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.o
+.PHONY : __/modlunit/nrnunit.cpp.o
+
+__/modlunit/nrnunit.i: __/modlunit/nrnunit.cpp.i
+.PHONY : __/modlunit/nrnunit.i
+
+# target to preprocess a source file
+__/modlunit/nrnunit.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.i
+.PHONY : __/modlunit/nrnunit.cpp.i
+
+__/modlunit/nrnunit.s: __/modlunit/nrnunit.cpp.s
+.PHONY : __/modlunit/nrnunit.s
+
+# target to generate assembly for a file
+__/modlunit/nrnunit.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/nrnunit.cpp.s
+.PHONY : __/modlunit/nrnunit.cpp.s
+
+__/modlunit/passn.o: __/modlunit/passn.cpp.o
+.PHONY : __/modlunit/passn.o
+
+# target to build an object file
+__/modlunit/passn.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.o
+.PHONY : __/modlunit/passn.cpp.o
+
+__/modlunit/passn.i: __/modlunit/passn.cpp.i
+.PHONY : __/modlunit/passn.i
+
+# target to preprocess a source file
+__/modlunit/passn.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.i
+.PHONY : __/modlunit/passn.cpp.i
+
+__/modlunit/passn.s: __/modlunit/passn.cpp.s
+.PHONY : __/modlunit/passn.s
+
+# target to generate assembly for a file
+__/modlunit/passn.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/passn.cpp.s
+.PHONY : __/modlunit/passn.cpp.s
+
+__/modlunit/symbol.o: __/modlunit/symbol.cpp.o
+.PHONY : __/modlunit/symbol.o
+
+# target to build an object file
+__/modlunit/symbol.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.o
+.PHONY : __/modlunit/symbol.cpp.o
+
+__/modlunit/symbol.i: __/modlunit/symbol.cpp.i
+.PHONY : __/modlunit/symbol.i
+
+# target to preprocess a source file
+__/modlunit/symbol.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.i
+.PHONY : __/modlunit/symbol.cpp.i
+
+__/modlunit/symbol.s: __/modlunit/symbol.cpp.s
+.PHONY : __/modlunit/symbol.s
+
+# target to generate assembly for a file
+__/modlunit/symbol.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/symbol.cpp.s
+.PHONY : __/modlunit/symbol.cpp.s
+
+__/modlunit/units.o: __/modlunit/units.cpp.o
+.PHONY : __/modlunit/units.o
+
+# target to build an object file
+__/modlunit/units.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.o
+.PHONY : __/modlunit/units.cpp.o
+
+__/modlunit/units.i: __/modlunit/units.cpp.i
+.PHONY : __/modlunit/units.i
+
+# target to preprocess a source file
+__/modlunit/units.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.i
+.PHONY : __/modlunit/units.cpp.i
+
+__/modlunit/units.s: __/modlunit/units.cpp.s
+.PHONY : __/modlunit/units.s
+
+# target to generate assembly for a file
+__/modlunit/units.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units.cpp.s
+.PHONY : __/modlunit/units.cpp.s
+
+__/modlunit/units1.o: __/modlunit/units1.cpp.o
+.PHONY : __/modlunit/units1.o
+
+# target to build an object file
+__/modlunit/units1.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.o
+.PHONY : __/modlunit/units1.cpp.o
+
+__/modlunit/units1.i: __/modlunit/units1.cpp.i
+.PHONY : __/modlunit/units1.i
+
+# target to preprocess a source file
+__/modlunit/units1.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.i
+.PHONY : __/modlunit/units1.cpp.i
+
+__/modlunit/units1.s: __/modlunit/units1.cpp.s
+.PHONY : __/modlunit/units1.s
+
+# target to generate assembly for a file
+__/modlunit/units1.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/units1.cpp.s
+.PHONY : __/modlunit/units1.cpp.s
+
+__/modlunit/version.o: __/modlunit/version.cpp.o
+.PHONY : __/modlunit/version.o
+
+# target to build an object file
+__/modlunit/version.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.o
+.PHONY : __/modlunit/version.cpp.o
+
+__/modlunit/version.i: __/modlunit/version.cpp.i
+.PHONY : __/modlunit/version.i
+
+# target to preprocess a source file
+__/modlunit/version.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.i
+.PHONY : __/modlunit/version.cpp.i
+
+__/modlunit/version.s: __/modlunit/version.cpp.s
+.PHONY : __/modlunit/version.s
+
+# target to generate assembly for a file
+__/modlunit/version.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/__/modlunit/version.cpp.s
+.PHONY : __/modlunit/version.cpp.s
+
+__/nmodl/consist.o: __/nmodl/consist.cpp.o
+.PHONY : __/nmodl/consist.o
+
+# target to build an object file
+__/nmodl/consist.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.o
+.PHONY : __/nmodl/consist.cpp.o
+
+__/nmodl/consist.i: __/nmodl/consist.cpp.i
+.PHONY : __/nmodl/consist.i
+
+# target to preprocess a source file
+__/nmodl/consist.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.i
+.PHONY : __/nmodl/consist.cpp.i
+
+__/nmodl/consist.s: __/nmodl/consist.cpp.s
+.PHONY : __/nmodl/consist.s
+
+# target to generate assembly for a file
+__/nmodl/consist.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/consist.cpp.s
+.PHONY : __/nmodl/consist.cpp.s
+
+__/nmodl/deriv.o: __/nmodl/deriv.cpp.o
+.PHONY : __/nmodl/deriv.o
+
+# target to build an object file
+__/nmodl/deriv.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.o
+.PHONY : __/nmodl/deriv.cpp.o
+
+__/nmodl/deriv.i: __/nmodl/deriv.cpp.i
+.PHONY : __/nmodl/deriv.i
+
+# target to preprocess a source file
+__/nmodl/deriv.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.i
+.PHONY : __/nmodl/deriv.cpp.i
+
+__/nmodl/deriv.s: __/nmodl/deriv.cpp.s
+.PHONY : __/nmodl/deriv.s
+
+# target to generate assembly for a file
+__/nmodl/deriv.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/deriv.cpp.s
+.PHONY : __/nmodl/deriv.cpp.s
+
+__/nmodl/discrete.o: __/nmodl/discrete.cpp.o
+.PHONY : __/nmodl/discrete.o
+
+# target to build an object file
+__/nmodl/discrete.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.o
+.PHONY : __/nmodl/discrete.cpp.o
+
+__/nmodl/discrete.i: __/nmodl/discrete.cpp.i
+.PHONY : __/nmodl/discrete.i
+
+# target to preprocess a source file
+__/nmodl/discrete.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.i
+.PHONY : __/nmodl/discrete.cpp.i
+
+__/nmodl/discrete.s: __/nmodl/discrete.cpp.s
+.PHONY : __/nmodl/discrete.s
+
+# target to generate assembly for a file
+__/nmodl/discrete.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/discrete.cpp.s
+.PHONY : __/nmodl/discrete.cpp.s
+
+__/nmodl/init.o: __/nmodl/init.cpp.o
+.PHONY : __/nmodl/init.o
+
+# target to build an object file
+__/nmodl/init.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.o
+.PHONY : __/nmodl/init.cpp.o
+
+__/nmodl/init.i: __/nmodl/init.cpp.i
+.PHONY : __/nmodl/init.i
+
+# target to preprocess a source file
+__/nmodl/init.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.i
+.PHONY : __/nmodl/init.cpp.i
+
+__/nmodl/init.s: __/nmodl/init.cpp.s
+.PHONY : __/nmodl/init.s
+
+# target to generate assembly for a file
+__/nmodl/init.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/init.cpp.s
+.PHONY : __/nmodl/init.cpp.s
+
+__/nmodl/io.o: __/nmodl/io.cpp.o
+.PHONY : __/nmodl/io.o
+
+# target to build an object file
+__/nmodl/io.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.o
+.PHONY : __/nmodl/io.cpp.o
+
+__/nmodl/io.i: __/nmodl/io.cpp.i
+.PHONY : __/nmodl/io.i
+
+# target to preprocess a source file
+__/nmodl/io.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.i
+.PHONY : __/nmodl/io.cpp.i
+
+__/nmodl/io.s: __/nmodl/io.cpp.s
+.PHONY : __/nmodl/io.s
+
+# target to generate assembly for a file
+__/nmodl/io.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/io.cpp.s
+.PHONY : __/nmodl/io.cpp.s
+
+__/nmodl/kinetic.o: __/nmodl/kinetic.cpp.o
+.PHONY : __/nmodl/kinetic.o
+
+# target to build an object file
+__/nmodl/kinetic.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.o
+.PHONY : __/nmodl/kinetic.cpp.o
+
+__/nmodl/kinetic.i: __/nmodl/kinetic.cpp.i
+.PHONY : __/nmodl/kinetic.i
+
+# target to preprocess a source file
+__/nmodl/kinetic.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.i
+.PHONY : __/nmodl/kinetic.cpp.i
+
+__/nmodl/kinetic.s: __/nmodl/kinetic.cpp.s
+.PHONY : __/nmodl/kinetic.s
+
+# target to generate assembly for a file
+__/nmodl/kinetic.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/kinetic.cpp.s
+.PHONY : __/nmodl/kinetic.cpp.s
+
+__/nmodl/list.o: __/nmodl/list.cpp.o
+.PHONY : __/nmodl/list.o
+
+# target to build an object file
+__/nmodl/list.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.o
+.PHONY : __/nmodl/list.cpp.o
+
+__/nmodl/list.i: __/nmodl/list.cpp.i
+.PHONY : __/nmodl/list.i
+
+# target to preprocess a source file
+__/nmodl/list.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.i
+.PHONY : __/nmodl/list.cpp.i
+
+__/nmodl/list.s: __/nmodl/list.cpp.s
+.PHONY : __/nmodl/list.s
+
+# target to generate assembly for a file
+__/nmodl/list.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/list.cpp.s
+.PHONY : __/nmodl/list.cpp.s
+
+__/nmodl/modl.o: __/nmodl/modl.cpp.o
+.PHONY : __/nmodl/modl.o
+
+# target to build an object file
+__/nmodl/modl.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.o
+.PHONY : __/nmodl/modl.cpp.o
+
+__/nmodl/modl.i: __/nmodl/modl.cpp.i
+.PHONY : __/nmodl/modl.i
+
+# target to preprocess a source file
+__/nmodl/modl.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.i
+.PHONY : __/nmodl/modl.cpp.i
+
+__/nmodl/modl.s: __/nmodl/modl.cpp.s
+.PHONY : __/nmodl/modl.s
+
+# target to generate assembly for a file
+__/nmodl/modl.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/modl.cpp.s
+.PHONY : __/nmodl/modl.cpp.s
+
+__/nmodl/netrec_discon.o: __/nmodl/netrec_discon.cpp.o
+.PHONY : __/nmodl/netrec_discon.o
+
+# target to build an object file
+__/nmodl/netrec_discon.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.o
+.PHONY : __/nmodl/netrec_discon.cpp.o
+
+__/nmodl/netrec_discon.i: __/nmodl/netrec_discon.cpp.i
+.PHONY : __/nmodl/netrec_discon.i
+
+# target to preprocess a source file
+__/nmodl/netrec_discon.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.i
+.PHONY : __/nmodl/netrec_discon.cpp.i
+
+__/nmodl/netrec_discon.s: __/nmodl/netrec_discon.cpp.s
+.PHONY : __/nmodl/netrec_discon.s
+
+# target to generate assembly for a file
+__/nmodl/netrec_discon.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/netrec_discon.cpp.s
+.PHONY : __/nmodl/netrec_discon.cpp.s
+
+__/nmodl/noccout.o: __/nmodl/noccout.cpp.o
+.PHONY : __/nmodl/noccout.o
+
+# target to build an object file
+__/nmodl/noccout.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.o
+.PHONY : __/nmodl/noccout.cpp.o
+
+__/nmodl/noccout.i: __/nmodl/noccout.cpp.i
+.PHONY : __/nmodl/noccout.i
+
+# target to preprocess a source file
+__/nmodl/noccout.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.i
+.PHONY : __/nmodl/noccout.cpp.i
+
+__/nmodl/noccout.s: __/nmodl/noccout.cpp.s
+.PHONY : __/nmodl/noccout.s
+
+# target to generate assembly for a file
+__/nmodl/noccout.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/noccout.cpp.s
+.PHONY : __/nmodl/noccout.cpp.s
+
+__/nmodl/nocpout.o: __/nmodl/nocpout.cpp.o
+.PHONY : __/nmodl/nocpout.o
+
+# target to build an object file
+__/nmodl/nocpout.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.o
+.PHONY : __/nmodl/nocpout.cpp.o
+
+__/nmodl/nocpout.i: __/nmodl/nocpout.cpp.i
+.PHONY : __/nmodl/nocpout.i
+
+# target to preprocess a source file
+__/nmodl/nocpout.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.i
+.PHONY : __/nmodl/nocpout.cpp.i
+
+__/nmodl/nocpout.s: __/nmodl/nocpout.cpp.s
+.PHONY : __/nmodl/nocpout.s
+
+# target to generate assembly for a file
+__/nmodl/nocpout.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/nocpout.cpp.s
+.PHONY : __/nmodl/nocpout.cpp.s
+
+__/nmodl/parsact.o: __/nmodl/parsact.cpp.o
+.PHONY : __/nmodl/parsact.o
+
+# target to build an object file
+__/nmodl/parsact.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.o
+.PHONY : __/nmodl/parsact.cpp.o
+
+__/nmodl/parsact.i: __/nmodl/parsact.cpp.i
+.PHONY : __/nmodl/parsact.i
+
+# target to preprocess a source file
+__/nmodl/parsact.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.i
+.PHONY : __/nmodl/parsact.cpp.i
+
+__/nmodl/parsact.s: __/nmodl/parsact.cpp.s
+.PHONY : __/nmodl/parsact.s
+
+# target to generate assembly for a file
+__/nmodl/parsact.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/parsact.cpp.s
+.PHONY : __/nmodl/parsact.cpp.s
+
+__/nmodl/partial.o: __/nmodl/partial.cpp.o
+.PHONY : __/nmodl/partial.o
+
+# target to build an object file
+__/nmodl/partial.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.o
+.PHONY : __/nmodl/partial.cpp.o
+
+__/nmodl/partial.i: __/nmodl/partial.cpp.i
+.PHONY : __/nmodl/partial.i
+
+# target to preprocess a source file
+__/nmodl/partial.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.i
+.PHONY : __/nmodl/partial.cpp.i
+
+__/nmodl/partial.s: __/nmodl/partial.cpp.s
+.PHONY : __/nmodl/partial.s
+
+# target to generate assembly for a file
+__/nmodl/partial.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/partial.cpp.s
+.PHONY : __/nmodl/partial.cpp.s
+
+__/nmodl/sens.o: __/nmodl/sens.cpp.o
+.PHONY : __/nmodl/sens.o
+
+# target to build an object file
+__/nmodl/sens.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.o
+.PHONY : __/nmodl/sens.cpp.o
+
+__/nmodl/sens.i: __/nmodl/sens.cpp.i
+.PHONY : __/nmodl/sens.i
+
+# target to preprocess a source file
+__/nmodl/sens.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.i
+.PHONY : __/nmodl/sens.cpp.i
+
+__/nmodl/sens.s: __/nmodl/sens.cpp.s
+.PHONY : __/nmodl/sens.s
+
+# target to generate assembly for a file
+__/nmodl/sens.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/sens.cpp.s
+.PHONY : __/nmodl/sens.cpp.s
+
+__/nmodl/simultan.o: __/nmodl/simultan.cpp.o
+.PHONY : __/nmodl/simultan.o
+
+# target to build an object file
+__/nmodl/simultan.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.o
+.PHONY : __/nmodl/simultan.cpp.o
+
+__/nmodl/simultan.i: __/nmodl/simultan.cpp.i
+.PHONY : __/nmodl/simultan.i
+
+# target to preprocess a source file
+__/nmodl/simultan.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.i
+.PHONY : __/nmodl/simultan.cpp.i
+
+__/nmodl/simultan.s: __/nmodl/simultan.cpp.s
+.PHONY : __/nmodl/simultan.s
+
+# target to generate assembly for a file
+__/nmodl/simultan.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/simultan.cpp.s
+.PHONY : __/nmodl/simultan.cpp.s
+
+__/nmodl/solve.o: __/nmodl/solve.cpp.o
+.PHONY : __/nmodl/solve.o
+
+# target to build an object file
+__/nmodl/solve.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.o
+.PHONY : __/nmodl/solve.cpp.o
+
+__/nmodl/solve.i: __/nmodl/solve.cpp.i
+.PHONY : __/nmodl/solve.i
+
+# target to preprocess a source file
+__/nmodl/solve.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.i
+.PHONY : __/nmodl/solve.cpp.i
+
+__/nmodl/solve.s: __/nmodl/solve.cpp.s
+.PHONY : __/nmodl/solve.s
+
+# target to generate assembly for a file
+__/nmodl/solve.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/solve.cpp.s
+.PHONY : __/nmodl/solve.cpp.s
+
+__/nmodl/symbol.o: __/nmodl/symbol.cpp.o
+.PHONY : __/nmodl/symbol.o
+
+# target to build an object file
+__/nmodl/symbol.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.o
+.PHONY : __/nmodl/symbol.cpp.o
+
+__/nmodl/symbol.i: __/nmodl/symbol.cpp.i
+.PHONY : __/nmodl/symbol.i
+
+# target to preprocess a source file
+__/nmodl/symbol.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.i
+.PHONY : __/nmodl/symbol.cpp.i
+
+__/nmodl/symbol.s: __/nmodl/symbol.cpp.s
+.PHONY : __/nmodl/symbol.s
+
+# target to generate assembly for a file
+__/nmodl/symbol.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/symbol.cpp.s
+.PHONY : __/nmodl/symbol.cpp.s
+
+__/nmodl/units.o: __/nmodl/units.cpp.o
+.PHONY : __/nmodl/units.o
+
+# target to build an object file
+__/nmodl/units.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.o
+.PHONY : __/nmodl/units.cpp.o
+
+__/nmodl/units.i: __/nmodl/units.cpp.i
+.PHONY : __/nmodl/units.i
+
+# target to preprocess a source file
+__/nmodl/units.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.i
+.PHONY : __/nmodl/units.cpp.i
+
+__/nmodl/units.s: __/nmodl/units.cpp.s
+.PHONY : __/nmodl/units.s
+
+# target to generate assembly for a file
+__/nmodl/units.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/units.cpp.s
+.PHONY : __/nmodl/units.cpp.s
+
+__/nmodl/version.o: __/nmodl/version.cpp.o
+.PHONY : __/nmodl/version.o
+
+# target to build an object file
+__/nmodl/version.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.o
+.PHONY : __/nmodl/version.cpp.o
+
+__/nmodl/version.i: __/nmodl/version.cpp.i
+.PHONY : __/nmodl/version.i
+
+# target to preprocess a source file
+__/nmodl/version.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.i
+.PHONY : __/nmodl/version.cpp.i
+
+__/nmodl/version.s: __/nmodl/version.cpp.s
+.PHONY : __/nmodl/version.s
+
+# target to generate assembly for a file
+__/nmodl/version.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/__/nmodl/version.cpp.s
+.PHONY : __/nmodl/version.cpp.s
+
+__/nrncvode/cvodeobj.o: __/nrncvode/cvodeobj.cpp.o
+.PHONY : __/nrncvode/cvodeobj.o
+
+# target to build an object file
+__/nrncvode/cvodeobj.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.o
+.PHONY : __/nrncvode/cvodeobj.cpp.o
+
+__/nrncvode/cvodeobj.i: __/nrncvode/cvodeobj.cpp.i
+.PHONY : __/nrncvode/cvodeobj.i
+
+# target to preprocess a source file
+__/nrncvode/cvodeobj.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.i
+.PHONY : __/nrncvode/cvodeobj.cpp.i
+
+__/nrncvode/cvodeobj.s: __/nrncvode/cvodeobj.cpp.s
+.PHONY : __/nrncvode/cvodeobj.s
+
+# target to generate assembly for a file
+__/nrncvode/cvodeobj.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodeobj.cpp.s
+.PHONY : __/nrncvode/cvodeobj.cpp.s
+
+__/nrncvode/cvodestb.o: __/nrncvode/cvodestb.cpp.o
+.PHONY : __/nrncvode/cvodestb.o
+
+# target to build an object file
+__/nrncvode/cvodestb.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.o
+.PHONY : __/nrncvode/cvodestb.cpp.o
+
+__/nrncvode/cvodestb.i: __/nrncvode/cvodestb.cpp.i
+.PHONY : __/nrncvode/cvodestb.i
+
+# target to preprocess a source file
+__/nrncvode/cvodestb.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.i
+.PHONY : __/nrncvode/cvodestb.cpp.i
+
+__/nrncvode/cvodestb.s: __/nrncvode/cvodestb.cpp.s
+.PHONY : __/nrncvode/cvodestb.s
+
+# target to generate assembly for a file
+__/nrncvode/cvodestb.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvodestb.cpp.s
+.PHONY : __/nrncvode/cvodestb.cpp.s
+
+__/nrncvode/cvtrset.o: __/nrncvode/cvtrset.cpp.o
+.PHONY : __/nrncvode/cvtrset.o
+
+# target to build an object file
+__/nrncvode/cvtrset.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.o
+.PHONY : __/nrncvode/cvtrset.cpp.o
+
+__/nrncvode/cvtrset.i: __/nrncvode/cvtrset.cpp.i
+.PHONY : __/nrncvode/cvtrset.i
+
+# target to preprocess a source file
+__/nrncvode/cvtrset.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.i
+.PHONY : __/nrncvode/cvtrset.cpp.i
+
+__/nrncvode/cvtrset.s: __/nrncvode/cvtrset.cpp.s
+.PHONY : __/nrncvode/cvtrset.s
+
+# target to generate assembly for a file
+__/nrncvode/cvtrset.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/cvtrset.cpp.s
+.PHONY : __/nrncvode/cvtrset.cpp.s
+
+__/nrncvode/netcvode.o: __/nrncvode/netcvode.cpp.o
+.PHONY : __/nrncvode/netcvode.o
+
+# target to build an object file
+__/nrncvode/netcvode.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.o
+.PHONY : __/nrncvode/netcvode.cpp.o
+
+__/nrncvode/netcvode.i: __/nrncvode/netcvode.cpp.i
+.PHONY : __/nrncvode/netcvode.i
+
+# target to preprocess a source file
+__/nrncvode/netcvode.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.i
+.PHONY : __/nrncvode/netcvode.cpp.i
+
+__/nrncvode/netcvode.s: __/nrncvode/netcvode.cpp.s
+.PHONY : __/nrncvode/netcvode.s
+
+# target to generate assembly for a file
+__/nrncvode/netcvode.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/netcvode.cpp.s
+.PHONY : __/nrncvode/netcvode.cpp.s
+
+__/nrncvode/nrndaspk.o: __/nrncvode/nrndaspk.cpp.o
+.PHONY : __/nrncvode/nrndaspk.o
+
+# target to build an object file
+__/nrncvode/nrndaspk.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.o
+.PHONY : __/nrncvode/nrndaspk.cpp.o
+
+__/nrncvode/nrndaspk.i: __/nrncvode/nrndaspk.cpp.i
+.PHONY : __/nrncvode/nrndaspk.i
+
+# target to preprocess a source file
+__/nrncvode/nrndaspk.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.i
+.PHONY : __/nrncvode/nrndaspk.cpp.i
+
+__/nrncvode/nrndaspk.s: __/nrncvode/nrndaspk.cpp.s
+.PHONY : __/nrncvode/nrndaspk.s
+
+# target to generate assembly for a file
+__/nrncvode/nrndaspk.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/nrndaspk.cpp.s
+.PHONY : __/nrncvode/nrndaspk.cpp.s
+
+__/nrncvode/occvode.o: __/nrncvode/occvode.cpp.o
+.PHONY : __/nrncvode/occvode.o
+
+# target to build an object file
+__/nrncvode/occvode.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.o
+.PHONY : __/nrncvode/occvode.cpp.o
+
+__/nrncvode/occvode.i: __/nrncvode/occvode.cpp.i
+.PHONY : __/nrncvode/occvode.i
+
+# target to preprocess a source file
+__/nrncvode/occvode.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.i
+.PHONY : __/nrncvode/occvode.cpp.i
+
+__/nrncvode/occvode.s: __/nrncvode/occvode.cpp.s
+.PHONY : __/nrncvode/occvode.s
+
+# target to generate assembly for a file
+__/nrncvode/occvode.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/occvode.cpp.s
+.PHONY : __/nrncvode/occvode.cpp.s
+
+__/nrncvode/tqueue.o: __/nrncvode/tqueue.cpp.o
+.PHONY : __/nrncvode/tqueue.o
+
+# target to build an object file
+__/nrncvode/tqueue.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.o
+.PHONY : __/nrncvode/tqueue.cpp.o
+
+__/nrncvode/tqueue.i: __/nrncvode/tqueue.cpp.i
+.PHONY : __/nrncvode/tqueue.i
+
+# target to preprocess a source file
+__/nrncvode/tqueue.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.i
+.PHONY : __/nrncvode/tqueue.cpp.i
+
+__/nrncvode/tqueue.s: __/nrncvode/tqueue.cpp.s
+.PHONY : __/nrncvode/tqueue.s
+
+# target to generate assembly for a file
+__/nrncvode/tqueue.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrncvode/tqueue.cpp.s
+.PHONY : __/nrncvode/tqueue.cpp.s
+
+__/nrnmpi/bbsmpipack.o: __/nrnmpi/bbsmpipack.cpp.o
+.PHONY : __/nrnmpi/bbsmpipack.o
+
+# target to build an object file
+__/nrnmpi/bbsmpipack.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.o
+.PHONY : __/nrnmpi/bbsmpipack.cpp.o
+
+__/nrnmpi/bbsmpipack.i: __/nrnmpi/bbsmpipack.cpp.i
+.PHONY : __/nrnmpi/bbsmpipack.i
+
+# target to preprocess a source file
+__/nrnmpi/bbsmpipack.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.i
+.PHONY : __/nrnmpi/bbsmpipack.cpp.i
+
+__/nrnmpi/bbsmpipack.s: __/nrnmpi/bbsmpipack.cpp.s
+.PHONY : __/nrnmpi/bbsmpipack.s
+
+# target to generate assembly for a file
+__/nrnmpi/bbsmpipack.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/bbsmpipack.cpp.s
+.PHONY : __/nrnmpi/bbsmpipack.cpp.s
+
+__/nrnmpi/mpispike.o: __/nrnmpi/mpispike.cpp.o
+.PHONY : __/nrnmpi/mpispike.o
+
+# target to build an object file
+__/nrnmpi/mpispike.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.o
+.PHONY : __/nrnmpi/mpispike.cpp.o
+
+__/nrnmpi/mpispike.i: __/nrnmpi/mpispike.cpp.i
+.PHONY : __/nrnmpi/mpispike.i
+
+# target to preprocess a source file
+__/nrnmpi/mpispike.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.i
+.PHONY : __/nrnmpi/mpispike.cpp.i
+
+__/nrnmpi/mpispike.s: __/nrnmpi/mpispike.cpp.s
+.PHONY : __/nrnmpi/mpispike.s
+
+# target to generate assembly for a file
+__/nrnmpi/mpispike.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/mpispike.cpp.s
+.PHONY : __/nrnmpi/mpispike.cpp.s
+
+__/nrnmpi/nrnmpi.o: __/nrnmpi/nrnmpi.cpp.o
+.PHONY : __/nrnmpi/nrnmpi.o
+
+# target to build an object file
+__/nrnmpi/nrnmpi.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.o
+.PHONY : __/nrnmpi/nrnmpi.cpp.o
+
+__/nrnmpi/nrnmpi.i: __/nrnmpi/nrnmpi.cpp.i
+.PHONY : __/nrnmpi/nrnmpi.i
+
+# target to preprocess a source file
+__/nrnmpi/nrnmpi.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.i
+.PHONY : __/nrnmpi/nrnmpi.cpp.i
+
+__/nrnmpi/nrnmpi.s: __/nrnmpi/nrnmpi.cpp.s
+.PHONY : __/nrnmpi/nrnmpi.s
+
+# target to generate assembly for a file
+__/nrnmpi/nrnmpi.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnmpi/nrnmpi.cpp.s
+.PHONY : __/nrnmpi/nrnmpi.cpp.s
+
+__/nrnoc/apcount.o: __/nrnoc/apcount.c.o
+.PHONY : __/nrnoc/apcount.o
+
+# target to build an object file
+__/nrnoc/apcount.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.o
+.PHONY : __/nrnoc/apcount.c.o
+
+__/nrnoc/apcount.i: __/nrnoc/apcount.c.i
+.PHONY : __/nrnoc/apcount.i
+
+# target to preprocess a source file
+__/nrnoc/apcount.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.i
+.PHONY : __/nrnoc/apcount.c.i
+
+__/nrnoc/apcount.s: __/nrnoc/apcount.c.s
+.PHONY : __/nrnoc/apcount.s
+
+# target to generate assembly for a file
+__/nrnoc/apcount.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/apcount.c.s
+.PHONY : __/nrnoc/apcount.c.s
+
+__/nrnoc/cabcode.o: __/nrnoc/cabcode.cpp.o
+.PHONY : __/nrnoc/cabcode.o
+
+# target to build an object file
+__/nrnoc/cabcode.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.o
+.PHONY : __/nrnoc/cabcode.cpp.o
+
+__/nrnoc/cabcode.i: __/nrnoc/cabcode.cpp.i
+.PHONY : __/nrnoc/cabcode.i
+
+# target to preprocess a source file
+__/nrnoc/cabcode.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.i
+.PHONY : __/nrnoc/cabcode.cpp.i
+
+__/nrnoc/cabcode.s: __/nrnoc/cabcode.cpp.s
+.PHONY : __/nrnoc/cabcode.s
+
+# target to generate assembly for a file
+__/nrnoc/cabcode.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/cabcode.cpp.s
+.PHONY : __/nrnoc/cabcode.cpp.s
+
+__/nrnoc/capac.o: __/nrnoc/capac.cpp.o
+.PHONY : __/nrnoc/capac.o
+
+# target to build an object file
+__/nrnoc/capac.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.o
+.PHONY : __/nrnoc/capac.cpp.o
+
+__/nrnoc/capac.i: __/nrnoc/capac.cpp.i
+.PHONY : __/nrnoc/capac.i
+
+# target to preprocess a source file
+__/nrnoc/capac.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.i
+.PHONY : __/nrnoc/capac.cpp.i
+
+__/nrnoc/capac.s: __/nrnoc/capac.cpp.s
+.PHONY : __/nrnoc/capac.s
+
+# target to generate assembly for a file
+__/nrnoc/capac.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/capac.cpp.s
+.PHONY : __/nrnoc/capac.cpp.s
+
+__/nrnoc/clamp.o: __/nrnoc/clamp.cpp.o
+.PHONY : __/nrnoc/clamp.o
+
+# target to build an object file
+__/nrnoc/clamp.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.o
+.PHONY : __/nrnoc/clamp.cpp.o
+
+__/nrnoc/clamp.i: __/nrnoc/clamp.cpp.i
+.PHONY : __/nrnoc/clamp.i
+
+# target to preprocess a source file
+__/nrnoc/clamp.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.i
+.PHONY : __/nrnoc/clamp.cpp.i
+
+__/nrnoc/clamp.s: __/nrnoc/clamp.cpp.s
+.PHONY : __/nrnoc/clamp.s
+
+# target to generate assembly for a file
+__/nrnoc/clamp.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/clamp.cpp.s
+.PHONY : __/nrnoc/clamp.cpp.s
+
+__/nrnoc/eion.o: __/nrnoc/eion.cpp.o
+.PHONY : __/nrnoc/eion.o
+
+# target to build an object file
+__/nrnoc/eion.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.o
+.PHONY : __/nrnoc/eion.cpp.o
+
+__/nrnoc/eion.i: __/nrnoc/eion.cpp.i
+.PHONY : __/nrnoc/eion.i
+
+# target to preprocess a source file
+__/nrnoc/eion.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.i
+.PHONY : __/nrnoc/eion.cpp.i
+
+__/nrnoc/eion.s: __/nrnoc/eion.cpp.s
+.PHONY : __/nrnoc/eion.s
+
+# target to generate assembly for a file
+__/nrnoc/eion.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/eion.cpp.s
+.PHONY : __/nrnoc/eion.cpp.s
+
+__/nrnoc/exp2syn.o: __/nrnoc/exp2syn.c.o
+.PHONY : __/nrnoc/exp2syn.o
+
+# target to build an object file
+__/nrnoc/exp2syn.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.o
+.PHONY : __/nrnoc/exp2syn.c.o
+
+__/nrnoc/exp2syn.i: __/nrnoc/exp2syn.c.i
+.PHONY : __/nrnoc/exp2syn.i
+
+# target to preprocess a source file
+__/nrnoc/exp2syn.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.i
+.PHONY : __/nrnoc/exp2syn.c.i
+
+__/nrnoc/exp2syn.s: __/nrnoc/exp2syn.c.s
+.PHONY : __/nrnoc/exp2syn.s
+
+# target to generate assembly for a file
+__/nrnoc/exp2syn.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/exp2syn.c.s
+.PHONY : __/nrnoc/exp2syn.c.s
+
+__/nrnoc/expsyn.o: __/nrnoc/expsyn.c.o
+.PHONY : __/nrnoc/expsyn.o
+
+# target to build an object file
+__/nrnoc/expsyn.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.o
+.PHONY : __/nrnoc/expsyn.c.o
+
+__/nrnoc/expsyn.i: __/nrnoc/expsyn.c.i
+.PHONY : __/nrnoc/expsyn.i
+
+# target to preprocess a source file
+__/nrnoc/expsyn.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.i
+.PHONY : __/nrnoc/expsyn.c.i
+
+__/nrnoc/expsyn.s: __/nrnoc/expsyn.c.s
+.PHONY : __/nrnoc/expsyn.s
+
+# target to generate assembly for a file
+__/nrnoc/expsyn.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/expsyn.c.s
+.PHONY : __/nrnoc/expsyn.c.s
+
+__/nrnoc/extcelln.o: __/nrnoc/extcelln.cpp.o
+.PHONY : __/nrnoc/extcelln.o
+
+# target to build an object file
+__/nrnoc/extcelln.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.o
+.PHONY : __/nrnoc/extcelln.cpp.o
+
+__/nrnoc/extcelln.i: __/nrnoc/extcelln.cpp.i
+.PHONY : __/nrnoc/extcelln.i
+
+# target to preprocess a source file
+__/nrnoc/extcelln.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.i
+.PHONY : __/nrnoc/extcelln.cpp.i
+
+__/nrnoc/extcelln.s: __/nrnoc/extcelln.cpp.s
+.PHONY : __/nrnoc/extcelln.s
+
+# target to generate assembly for a file
+__/nrnoc/extcelln.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/extcelln.cpp.s
+.PHONY : __/nrnoc/extcelln.cpp.s
+
+__/nrnoc/fadvance.o: __/nrnoc/fadvance.cpp.o
+.PHONY : __/nrnoc/fadvance.o
+
+# target to build an object file
+__/nrnoc/fadvance.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.o
+.PHONY : __/nrnoc/fadvance.cpp.o
+
+__/nrnoc/fadvance.i: __/nrnoc/fadvance.cpp.i
+.PHONY : __/nrnoc/fadvance.i
+
+# target to preprocess a source file
+__/nrnoc/fadvance.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.i
+.PHONY : __/nrnoc/fadvance.cpp.i
+
+__/nrnoc/fadvance.s: __/nrnoc/fadvance.cpp.s
+.PHONY : __/nrnoc/fadvance.s
+
+# target to generate assembly for a file
+__/nrnoc/fadvance.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fadvance.cpp.s
+.PHONY : __/nrnoc/fadvance.cpp.s
+
+__/nrnoc/feature.o: __/nrnoc/feature.c.o
+.PHONY : __/nrnoc/feature.o
+
+# target to build an object file
+__/nrnoc/feature.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.o
+.PHONY : __/nrnoc/feature.c.o
+
+__/nrnoc/feature.i: __/nrnoc/feature.c.i
+.PHONY : __/nrnoc/feature.i
+
+# target to preprocess a source file
+__/nrnoc/feature.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.i
+.PHONY : __/nrnoc/feature.c.i
+
+__/nrnoc/feature.s: __/nrnoc/feature.c.s
+.PHONY : __/nrnoc/feature.s
+
+# target to generate assembly for a file
+__/nrnoc/feature.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/feature.c.s
+.PHONY : __/nrnoc/feature.c.s
+
+__/nrnoc/fstim.o: __/nrnoc/fstim.cpp.o
+.PHONY : __/nrnoc/fstim.o
+
+# target to build an object file
+__/nrnoc/fstim.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.o
+.PHONY : __/nrnoc/fstim.cpp.o
+
+__/nrnoc/fstim.i: __/nrnoc/fstim.cpp.i
+.PHONY : __/nrnoc/fstim.i
+
+# target to preprocess a source file
+__/nrnoc/fstim.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.i
+.PHONY : __/nrnoc/fstim.cpp.i
+
+__/nrnoc/fstim.s: __/nrnoc/fstim.cpp.s
+.PHONY : __/nrnoc/fstim.s
+
+# target to generate assembly for a file
+__/nrnoc/fstim.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/fstim.cpp.s
+.PHONY : __/nrnoc/fstim.cpp.s
+
+__/nrnoc/hh.o: __/nrnoc/hh.c.o
+.PHONY : __/nrnoc/hh.o
+
+# target to build an object file
+__/nrnoc/hh.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.o
+.PHONY : __/nrnoc/hh.c.o
+
+__/nrnoc/hh.i: __/nrnoc/hh.c.i
+.PHONY : __/nrnoc/hh.i
+
+# target to preprocess a source file
+__/nrnoc/hh.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.i
+.PHONY : __/nrnoc/hh.c.i
+
+__/nrnoc/hh.s: __/nrnoc/hh.c.s
+.PHONY : __/nrnoc/hh.s
+
+# target to generate assembly for a file
+__/nrnoc/hh.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hh.c.s
+.PHONY : __/nrnoc/hh.c.s
+
+__/nrnoc/hocprax.o: __/nrnoc/hocprax.cpp.o
+.PHONY : __/nrnoc/hocprax.o
+
+# target to build an object file
+__/nrnoc/hocprax.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.o
+.PHONY : __/nrnoc/hocprax.cpp.o
+
+__/nrnoc/hocprax.i: __/nrnoc/hocprax.cpp.i
+.PHONY : __/nrnoc/hocprax.i
+
+# target to preprocess a source file
+__/nrnoc/hocprax.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.i
+.PHONY : __/nrnoc/hocprax.cpp.i
+
+__/nrnoc/hocprax.s: __/nrnoc/hocprax.cpp.s
+.PHONY : __/nrnoc/hocprax.s
+
+# target to generate assembly for a file
+__/nrnoc/hocprax.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/hocprax.cpp.s
+.PHONY : __/nrnoc/hocprax.cpp.s
+
+__/nrnoc/init.o: __/nrnoc/init.cpp.o
+.PHONY : __/nrnoc/init.o
+
+# target to build an object file
+__/nrnoc/init.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.o
+.PHONY : __/nrnoc/init.cpp.o
+
+__/nrnoc/init.i: __/nrnoc/init.cpp.i
+.PHONY : __/nrnoc/init.i
+
+# target to preprocess a source file
+__/nrnoc/init.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.i
+.PHONY : __/nrnoc/init.cpp.i
+
+__/nrnoc/init.s: __/nrnoc/init.cpp.s
+.PHONY : __/nrnoc/init.s
+
+# target to generate assembly for a file
+__/nrnoc/init.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/init.cpp.s
+.PHONY : __/nrnoc/init.cpp.s
+
+__/nrnoc/intfire1.o: __/nrnoc/intfire1.c.o
+.PHONY : __/nrnoc/intfire1.o
+
+# target to build an object file
+__/nrnoc/intfire1.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.o
+.PHONY : __/nrnoc/intfire1.c.o
+
+__/nrnoc/intfire1.i: __/nrnoc/intfire1.c.i
+.PHONY : __/nrnoc/intfire1.i
+
+# target to preprocess a source file
+__/nrnoc/intfire1.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.i
+.PHONY : __/nrnoc/intfire1.c.i
+
+__/nrnoc/intfire1.s: __/nrnoc/intfire1.c.s
+.PHONY : __/nrnoc/intfire1.s
+
+# target to generate assembly for a file
+__/nrnoc/intfire1.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire1.c.s
+.PHONY : __/nrnoc/intfire1.c.s
+
+__/nrnoc/intfire2.o: __/nrnoc/intfire2.c.o
+.PHONY : __/nrnoc/intfire2.o
+
+# target to build an object file
+__/nrnoc/intfire2.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.o
+.PHONY : __/nrnoc/intfire2.c.o
+
+__/nrnoc/intfire2.i: __/nrnoc/intfire2.c.i
+.PHONY : __/nrnoc/intfire2.i
+
+# target to preprocess a source file
+__/nrnoc/intfire2.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.i
+.PHONY : __/nrnoc/intfire2.c.i
+
+__/nrnoc/intfire2.s: __/nrnoc/intfire2.c.s
+.PHONY : __/nrnoc/intfire2.s
+
+# target to generate assembly for a file
+__/nrnoc/intfire2.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire2.c.s
+.PHONY : __/nrnoc/intfire2.c.s
+
+__/nrnoc/intfire4.o: __/nrnoc/intfire4.c.o
+.PHONY : __/nrnoc/intfire4.o
+
+# target to build an object file
+__/nrnoc/intfire4.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.o
+.PHONY : __/nrnoc/intfire4.c.o
+
+__/nrnoc/intfire4.i: __/nrnoc/intfire4.c.i
+.PHONY : __/nrnoc/intfire4.i
+
+# target to preprocess a source file
+__/nrnoc/intfire4.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.i
+.PHONY : __/nrnoc/intfire4.c.i
+
+__/nrnoc/intfire4.s: __/nrnoc/intfire4.c.s
+.PHONY : __/nrnoc/intfire4.s
+
+# target to generate assembly for a file
+__/nrnoc/intfire4.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/intfire4.c.s
+.PHONY : __/nrnoc/intfire4.c.s
+
+__/nrnoc/ldifus.o: __/nrnoc/ldifus.cpp.o
+.PHONY : __/nrnoc/ldifus.o
+
+# target to build an object file
+__/nrnoc/ldifus.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.o
+.PHONY : __/nrnoc/ldifus.cpp.o
+
+__/nrnoc/ldifus.i: __/nrnoc/ldifus.cpp.i
+.PHONY : __/nrnoc/ldifus.i
+
+# target to preprocess a source file
+__/nrnoc/ldifus.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.i
+.PHONY : __/nrnoc/ldifus.cpp.i
+
+__/nrnoc/ldifus.s: __/nrnoc/ldifus.cpp.s
+.PHONY : __/nrnoc/ldifus.s
+
+# target to generate assembly for a file
+__/nrnoc/ldifus.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ldifus.cpp.s
+.PHONY : __/nrnoc/ldifus.cpp.s
+
+__/nrnoc/method3.o: __/nrnoc/method3.cpp.o
+.PHONY : __/nrnoc/method3.o
+
+# target to build an object file
+__/nrnoc/method3.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.o
+.PHONY : __/nrnoc/method3.cpp.o
+
+__/nrnoc/method3.i: __/nrnoc/method3.cpp.i
+.PHONY : __/nrnoc/method3.i
+
+# target to preprocess a source file
+__/nrnoc/method3.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.i
+.PHONY : __/nrnoc/method3.cpp.i
+
+__/nrnoc/method3.s: __/nrnoc/method3.cpp.s
+.PHONY : __/nrnoc/method3.s
+
+# target to generate assembly for a file
+__/nrnoc/method3.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/method3.cpp.s
+.PHONY : __/nrnoc/method3.cpp.s
+
+__/nrnoc/netstim.o: __/nrnoc/netstim.c.o
+.PHONY : __/nrnoc/netstim.o
+
+# target to build an object file
+__/nrnoc/netstim.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.o
+.PHONY : __/nrnoc/netstim.c.o
+
+__/nrnoc/netstim.i: __/nrnoc/netstim.c.i
+.PHONY : __/nrnoc/netstim.i
+
+# target to preprocess a source file
+__/nrnoc/netstim.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.i
+.PHONY : __/nrnoc/netstim.c.i
+
+__/nrnoc/netstim.s: __/nrnoc/netstim.c.s
+.PHONY : __/nrnoc/netstim.s
+
+# target to generate assembly for a file
+__/nrnoc/netstim.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/netstim.c.s
+.PHONY : __/nrnoc/netstim.c.s
+
+__/nrnoc/nrnnemo.o: __/nrnoc/nrnnemo.cpp.o
+.PHONY : __/nrnoc/nrnnemo.o
+
+# target to build an object file
+__/nrnoc/nrnnemo.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.o
+.PHONY : __/nrnoc/nrnnemo.cpp.o
+
+__/nrnoc/nrnnemo.i: __/nrnoc/nrnnemo.cpp.i
+.PHONY : __/nrnoc/nrnnemo.i
+
+# target to preprocess a source file
+__/nrnoc/nrnnemo.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.i
+.PHONY : __/nrnoc/nrnnemo.cpp.i
+
+__/nrnoc/nrnnemo.s: __/nrnoc/nrnnemo.cpp.s
+.PHONY : __/nrnoc/nrnnemo.s
+
+# target to generate assembly for a file
+__/nrnoc/nrnnemo.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnnemo.cpp.s
+.PHONY : __/nrnoc/nrnnemo.cpp.s
+
+__/nrnoc/nrntimeout.o: __/nrnoc/nrntimeout.cpp.o
+.PHONY : __/nrnoc/nrntimeout.o
+
+# target to build an object file
+__/nrnoc/nrntimeout.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.o
+.PHONY : __/nrnoc/nrntimeout.cpp.o
+
+__/nrnoc/nrntimeout.i: __/nrnoc/nrntimeout.cpp.i
+.PHONY : __/nrnoc/nrntimeout.i
+
+# target to preprocess a source file
+__/nrnoc/nrntimeout.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.i
+.PHONY : __/nrnoc/nrntimeout.cpp.i
+
+__/nrnoc/nrntimeout.s: __/nrnoc/nrntimeout.cpp.s
+.PHONY : __/nrnoc/nrntimeout.s
+
+# target to generate assembly for a file
+__/nrnoc/nrntimeout.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrntimeout.cpp.s
+.PHONY : __/nrnoc/nrntimeout.cpp.s
+
+__/nrnoc/nrnversion.o: __/nrnoc/nrnversion.cpp.o
+.PHONY : __/nrnoc/nrnversion.o
+
+# target to build an object file
+__/nrnoc/nrnversion.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.o
+.PHONY : __/nrnoc/nrnversion.cpp.o
+
+__/nrnoc/nrnversion.i: __/nrnoc/nrnversion.cpp.i
+.PHONY : __/nrnoc/nrnversion.i
+
+# target to preprocess a source file
+__/nrnoc/nrnversion.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.i
+.PHONY : __/nrnoc/nrnversion.cpp.i
+
+__/nrnoc/nrnversion.s: __/nrnoc/nrnversion.cpp.s
+.PHONY : __/nrnoc/nrnversion.s
+
+# target to generate assembly for a file
+__/nrnoc/nrnversion.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/nrnversion.cpp.s
+.PHONY : __/nrnoc/nrnversion.cpp.s
+
+__/nrnoc/oclmp.o: __/nrnoc/oclmp.c.o
+.PHONY : __/nrnoc/oclmp.o
+
+# target to build an object file
+__/nrnoc/oclmp.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.o
+.PHONY : __/nrnoc/oclmp.c.o
+
+__/nrnoc/oclmp.i: __/nrnoc/oclmp.c.i
+.PHONY : __/nrnoc/oclmp.i
+
+# target to preprocess a source file
+__/nrnoc/oclmp.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.i
+.PHONY : __/nrnoc/oclmp.c.i
+
+__/nrnoc/oclmp.s: __/nrnoc/oclmp.c.s
+.PHONY : __/nrnoc/oclmp.s
+
+# target to generate assembly for a file
+__/nrnoc/oclmp.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/oclmp.c.s
+.PHONY : __/nrnoc/oclmp.c.s
+
+__/nrnoc/passive.o: __/nrnoc/passive.c.o
+.PHONY : __/nrnoc/passive.o
+
+# target to build an object file
+__/nrnoc/passive.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.o
+.PHONY : __/nrnoc/passive.c.o
+
+__/nrnoc/passive.i: __/nrnoc/passive.c.i
+.PHONY : __/nrnoc/passive.i
+
+# target to preprocess a source file
+__/nrnoc/passive.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.i
+.PHONY : __/nrnoc/passive.c.i
+
+__/nrnoc/passive.s: __/nrnoc/passive.c.s
+.PHONY : __/nrnoc/passive.s
+
+# target to generate assembly for a file
+__/nrnoc/passive.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive.c.s
+.PHONY : __/nrnoc/passive.c.s
+
+__/nrnoc/passive0.o: __/nrnoc/passive0.cpp.o
+.PHONY : __/nrnoc/passive0.o
+
+# target to build an object file
+__/nrnoc/passive0.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.o
+.PHONY : __/nrnoc/passive0.cpp.o
+
+__/nrnoc/passive0.i: __/nrnoc/passive0.cpp.i
+.PHONY : __/nrnoc/passive0.i
+
+# target to preprocess a source file
+__/nrnoc/passive0.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.i
+.PHONY : __/nrnoc/passive0.cpp.i
+
+__/nrnoc/passive0.s: __/nrnoc/passive0.cpp.s
+.PHONY : __/nrnoc/passive0.s
+
+# target to generate assembly for a file
+__/nrnoc/passive0.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/passive0.cpp.s
+.PHONY : __/nrnoc/passive0.cpp.s
+
+__/nrnoc/pattern.o: __/nrnoc/pattern.c.o
+.PHONY : __/nrnoc/pattern.o
+
+# target to build an object file
+__/nrnoc/pattern.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.o
+.PHONY : __/nrnoc/pattern.c.o
+
+__/nrnoc/pattern.i: __/nrnoc/pattern.c.i
+.PHONY : __/nrnoc/pattern.i
+
+# target to preprocess a source file
+__/nrnoc/pattern.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.i
+.PHONY : __/nrnoc/pattern.c.i
+
+__/nrnoc/pattern.s: __/nrnoc/pattern.c.s
+.PHONY : __/nrnoc/pattern.s
+
+# target to generate assembly for a file
+__/nrnoc/pattern.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/pattern.c.s
+.PHONY : __/nrnoc/pattern.c.s
+
+__/nrnoc/point.o: __/nrnoc/point.cpp.o
+.PHONY : __/nrnoc/point.o
+
+# target to build an object file
+__/nrnoc/point.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.o
+.PHONY : __/nrnoc/point.cpp.o
+
+__/nrnoc/point.i: __/nrnoc/point.cpp.i
+.PHONY : __/nrnoc/point.i
+
+# target to preprocess a source file
+__/nrnoc/point.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.i
+.PHONY : __/nrnoc/point.cpp.i
+
+__/nrnoc/point.s: __/nrnoc/point.cpp.s
+.PHONY : __/nrnoc/point.s
+
+# target to generate assembly for a file
+__/nrnoc/point.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/point.cpp.s
+.PHONY : __/nrnoc/point.cpp.s
+
+__/nrnoc/ppmark.o: __/nrnoc/ppmark.c.o
+.PHONY : __/nrnoc/ppmark.o
+
+# target to build an object file
+__/nrnoc/ppmark.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.o
+.PHONY : __/nrnoc/ppmark.c.o
+
+__/nrnoc/ppmark.i: __/nrnoc/ppmark.c.i
+.PHONY : __/nrnoc/ppmark.i
+
+# target to preprocess a source file
+__/nrnoc/ppmark.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.i
+.PHONY : __/nrnoc/ppmark.c.i
+
+__/nrnoc/ppmark.s: __/nrnoc/ppmark.c.s
+.PHONY : __/nrnoc/ppmark.s
+
+# target to generate assembly for a file
+__/nrnoc/ppmark.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/ppmark.c.s
+.PHONY : __/nrnoc/ppmark.c.s
+
+__/nrnoc/psection.o: __/nrnoc/psection.cpp.o
+.PHONY : __/nrnoc/psection.o
+
+# target to build an object file
+__/nrnoc/psection.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.o
+.PHONY : __/nrnoc/psection.cpp.o
+
+__/nrnoc/psection.i: __/nrnoc/psection.cpp.i
+.PHONY : __/nrnoc/psection.i
+
+# target to preprocess a source file
+__/nrnoc/psection.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.i
+.PHONY : __/nrnoc/psection.cpp.i
+
+__/nrnoc/psection.s: __/nrnoc/psection.cpp.s
+.PHONY : __/nrnoc/psection.s
+
+# target to generate assembly for a file
+__/nrnoc/psection.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/psection.cpp.s
+.PHONY : __/nrnoc/psection.cpp.s
+
+__/nrnoc/seclist.o: __/nrnoc/seclist.cpp.o
+.PHONY : __/nrnoc/seclist.o
+
+# target to build an object file
+__/nrnoc/seclist.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.o
+.PHONY : __/nrnoc/seclist.cpp.o
+
+__/nrnoc/seclist.i: __/nrnoc/seclist.cpp.i
+.PHONY : __/nrnoc/seclist.i
+
+# target to preprocess a source file
+__/nrnoc/seclist.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.i
+.PHONY : __/nrnoc/seclist.cpp.i
+
+__/nrnoc/seclist.s: __/nrnoc/seclist.cpp.s
+.PHONY : __/nrnoc/seclist.s
+
+# target to generate assembly for a file
+__/nrnoc/seclist.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/seclist.cpp.s
+.PHONY : __/nrnoc/seclist.cpp.s
+
+__/nrnoc/secref.o: __/nrnoc/secref.cpp.o
+.PHONY : __/nrnoc/secref.o
+
+# target to build an object file
+__/nrnoc/secref.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.o
+.PHONY : __/nrnoc/secref.cpp.o
+
+__/nrnoc/secref.i: __/nrnoc/secref.cpp.i
+.PHONY : __/nrnoc/secref.i
+
+# target to preprocess a source file
+__/nrnoc/secref.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.i
+.PHONY : __/nrnoc/secref.cpp.i
+
+__/nrnoc/secref.s: __/nrnoc/secref.cpp.s
+.PHONY : __/nrnoc/secref.s
+
+# target to generate assembly for a file
+__/nrnoc/secref.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/secref.cpp.s
+.PHONY : __/nrnoc/secref.cpp.s
+
+__/nrnoc/solve.o: __/nrnoc/solve.cpp.o
+.PHONY : __/nrnoc/solve.o
+
+# target to build an object file
+__/nrnoc/solve.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.o
+.PHONY : __/nrnoc/solve.cpp.o
+
+__/nrnoc/solve.i: __/nrnoc/solve.cpp.i
+.PHONY : __/nrnoc/solve.i
+
+# target to preprocess a source file
+__/nrnoc/solve.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.i
+.PHONY : __/nrnoc/solve.cpp.i
+
+__/nrnoc/solve.s: __/nrnoc/solve.cpp.s
+.PHONY : __/nrnoc/solve.s
+
+# target to generate assembly for a file
+__/nrnoc/solve.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/solve.cpp.s
+.PHONY : __/nrnoc/solve.cpp.s
+
+__/nrnoc/stim.o: __/nrnoc/stim.c.o
+.PHONY : __/nrnoc/stim.o
+
+# target to build an object file
+__/nrnoc/stim.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.o
+.PHONY : __/nrnoc/stim.c.o
+
+__/nrnoc/stim.i: __/nrnoc/stim.c.i
+.PHONY : __/nrnoc/stim.i
+
+# target to preprocess a source file
+__/nrnoc/stim.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.i
+.PHONY : __/nrnoc/stim.c.i
+
+__/nrnoc/stim.s: __/nrnoc/stim.c.s
+.PHONY : __/nrnoc/stim.s
+
+# target to generate assembly for a file
+__/nrnoc/stim.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/stim.c.s
+.PHONY : __/nrnoc/stim.c.s
+
+__/nrnoc/svclmp.o: __/nrnoc/svclmp.c.o
+.PHONY : __/nrnoc/svclmp.o
+
+# target to build an object file
+__/nrnoc/svclmp.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.o
+.PHONY : __/nrnoc/svclmp.c.o
+
+__/nrnoc/svclmp.i: __/nrnoc/svclmp.c.i
+.PHONY : __/nrnoc/svclmp.i
+
+# target to preprocess a source file
+__/nrnoc/svclmp.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.i
+.PHONY : __/nrnoc/svclmp.c.i
+
+__/nrnoc/svclmp.s: __/nrnoc/svclmp.c.s
+.PHONY : __/nrnoc/svclmp.s
+
+# target to generate assembly for a file
+__/nrnoc/svclmp.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/svclmp.c.s
+.PHONY : __/nrnoc/svclmp.c.s
+
+__/nrnoc/syn.o: __/nrnoc/syn.c.o
+.PHONY : __/nrnoc/syn.o
+
+# target to build an object file
+__/nrnoc/syn.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.o
+.PHONY : __/nrnoc/syn.c.o
+
+__/nrnoc/syn.i: __/nrnoc/syn.c.i
+.PHONY : __/nrnoc/syn.i
+
+# target to preprocess a source file
+__/nrnoc/syn.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.i
+.PHONY : __/nrnoc/syn.c.i
+
+__/nrnoc/syn.s: __/nrnoc/syn.c.s
+.PHONY : __/nrnoc/syn.s
+
+# target to generate assembly for a file
+__/nrnoc/syn.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/syn.c.s
+.PHONY : __/nrnoc/syn.c.s
+
+__/nrnoc/synapse.o: __/nrnoc/synapse.cpp.o
+.PHONY : __/nrnoc/synapse.o
+
+# target to build an object file
+__/nrnoc/synapse.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.o
+.PHONY : __/nrnoc/synapse.cpp.o
+
+__/nrnoc/synapse.i: __/nrnoc/synapse.cpp.i
+.PHONY : __/nrnoc/synapse.i
+
+# target to preprocess a source file
+__/nrnoc/synapse.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.i
+.PHONY : __/nrnoc/synapse.cpp.i
+
+__/nrnoc/synapse.s: __/nrnoc/synapse.cpp.s
+.PHONY : __/nrnoc/synapse.s
+
+# target to generate assembly for a file
+__/nrnoc/synapse.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/synapse.cpp.s
+.PHONY : __/nrnoc/synapse.cpp.s
+
+__/nrnoc/treeset.o: __/nrnoc/treeset.cpp.o
+.PHONY : __/nrnoc/treeset.o
+
+# target to build an object file
+__/nrnoc/treeset.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.o
+.PHONY : __/nrnoc/treeset.cpp.o
+
+__/nrnoc/treeset.i: __/nrnoc/treeset.cpp.i
+.PHONY : __/nrnoc/treeset.i
+
+# target to preprocess a source file
+__/nrnoc/treeset.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.i
+.PHONY : __/nrnoc/treeset.cpp.i
+
+__/nrnoc/treeset.s: __/nrnoc/treeset.cpp.s
+.PHONY : __/nrnoc/treeset.s
+
+# target to generate assembly for a file
+__/nrnoc/treeset.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/treeset.cpp.s
+.PHONY : __/nrnoc/treeset.cpp.s
+
+__/nrnoc/vclmp.o: __/nrnoc/vclmp.c.o
+.PHONY : __/nrnoc/vclmp.o
+
+# target to build an object file
+__/nrnoc/vclmp.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.o
+.PHONY : __/nrnoc/vclmp.c.o
+
+__/nrnoc/vclmp.i: __/nrnoc/vclmp.c.i
+.PHONY : __/nrnoc/vclmp.i
+
+# target to preprocess a source file
+__/nrnoc/vclmp.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.i
+.PHONY : __/nrnoc/vclmp.c.i
+
+__/nrnoc/vclmp.s: __/nrnoc/vclmp.c.s
+.PHONY : __/nrnoc/vclmp.s
+
+# target to generate assembly for a file
+__/nrnoc/vclmp.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/nrnoc/vclmp.c.s
+.PHONY : __/nrnoc/vclmp.c.s
+
+__/oc/audit.o: __/oc/audit.cpp.o
+.PHONY : __/oc/audit.o
+
+# target to build an object file
+__/oc/audit.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.o
+.PHONY : __/oc/audit.cpp.o
+
+__/oc/audit.i: __/oc/audit.cpp.i
+.PHONY : __/oc/audit.i
+
+# target to preprocess a source file
+__/oc/audit.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.i
+.PHONY : __/oc/audit.cpp.i
+
+__/oc/audit.s: __/oc/audit.cpp.s
+.PHONY : __/oc/audit.s
+
+# target to generate assembly for a file
+__/oc/audit.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/audit.cpp.s
+.PHONY : __/oc/audit.cpp.s
+
+__/oc/axis.o: __/oc/axis.cpp.o
+.PHONY : __/oc/axis.o
+
+# target to build an object file
+__/oc/axis.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.o
+.PHONY : __/oc/axis.cpp.o
+
+__/oc/axis.i: __/oc/axis.cpp.i
+.PHONY : __/oc/axis.i
+
+# target to preprocess a source file
+__/oc/axis.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.i
+.PHONY : __/oc/axis.cpp.i
+
+__/oc/axis.s: __/oc/axis.cpp.s
+.PHONY : __/oc/axis.s
+
+# target to generate assembly for a file
+__/oc/axis.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/axis.cpp.s
+.PHONY : __/oc/axis.cpp.s
+
+__/oc/code.o: __/oc/code.cpp.o
+.PHONY : __/oc/code.o
+
+# target to build an object file
+__/oc/code.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.o
+.PHONY : __/oc/code.cpp.o
+
+__/oc/code.i: __/oc/code.cpp.i
+.PHONY : __/oc/code.i
+
+# target to preprocess a source file
+__/oc/code.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.i
+.PHONY : __/oc/code.cpp.i
+
+__/oc/code.s: __/oc/code.cpp.s
+.PHONY : __/oc/code.s
+
+# target to generate assembly for a file
+__/oc/code.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code.cpp.s
+.PHONY : __/oc/code.cpp.s
+
+__/oc/code2.o: __/oc/code2.cpp.o
+.PHONY : __/oc/code2.o
+
+# target to build an object file
+__/oc/code2.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.o
+.PHONY : __/oc/code2.cpp.o
+
+__/oc/code2.i: __/oc/code2.cpp.i
+.PHONY : __/oc/code2.i
+
+# target to preprocess a source file
+__/oc/code2.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.i
+.PHONY : __/oc/code2.cpp.i
+
+__/oc/code2.s: __/oc/code2.cpp.s
+.PHONY : __/oc/code2.s
+
+# target to generate assembly for a file
+__/oc/code2.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/code2.cpp.s
+.PHONY : __/oc/code2.cpp.s
+
+__/oc/debug.o: __/oc/debug.cpp.o
+.PHONY : __/oc/debug.o
+
+# target to build an object file
+__/oc/debug.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.o
+.PHONY : __/oc/debug.cpp.o
+
+__/oc/debug.i: __/oc/debug.cpp.i
+.PHONY : __/oc/debug.i
+
+# target to preprocess a source file
+__/oc/debug.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.i
+.PHONY : __/oc/debug.cpp.i
+
+__/oc/debug.s: __/oc/debug.cpp.s
+.PHONY : __/oc/debug.s
+
+# target to generate assembly for a file
+__/oc/debug.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/debug.cpp.s
+.PHONY : __/oc/debug.cpp.s
+
+__/oc/fileio.o: __/oc/fileio.cpp.o
+.PHONY : __/oc/fileio.o
+
+# target to build an object file
+__/oc/fileio.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.o
+.PHONY : __/oc/fileio.cpp.o
+
+__/oc/fileio.i: __/oc/fileio.cpp.i
+.PHONY : __/oc/fileio.i
+
+# target to preprocess a source file
+__/oc/fileio.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.i
+.PHONY : __/oc/fileio.cpp.i
+
+__/oc/fileio.s: __/oc/fileio.cpp.s
+.PHONY : __/oc/fileio.s
+
+# target to generate assembly for a file
+__/oc/fileio.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fileio.cpp.s
+.PHONY : __/oc/fileio.cpp.s
+
+__/oc/fmenu.o: __/oc/fmenu.cpp.o
+.PHONY : __/oc/fmenu.o
+
+# target to build an object file
+__/oc/fmenu.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.o
+.PHONY : __/oc/fmenu.cpp.o
+
+__/oc/fmenu.i: __/oc/fmenu.cpp.i
+.PHONY : __/oc/fmenu.i
+
+# target to preprocess a source file
+__/oc/fmenu.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.i
+.PHONY : __/oc/fmenu.cpp.i
+
+__/oc/fmenu.s: __/oc/fmenu.cpp.s
+.PHONY : __/oc/fmenu.s
+
+# target to generate assembly for a file
+__/oc/fmenu.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/fmenu.cpp.s
+.PHONY : __/oc/fmenu.cpp.s
+
+__/oc/ftime.o: __/oc/ftime.cpp.o
+.PHONY : __/oc/ftime.o
+
+# target to build an object file
+__/oc/ftime.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.o
+.PHONY : __/oc/ftime.cpp.o
+
+__/oc/ftime.i: __/oc/ftime.cpp.i
+.PHONY : __/oc/ftime.i
+
+# target to preprocess a source file
+__/oc/ftime.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.i
+.PHONY : __/oc/ftime.cpp.i
+
+__/oc/ftime.s: __/oc/ftime.cpp.s
+.PHONY : __/oc/ftime.s
+
+# target to generate assembly for a file
+__/oc/ftime.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ftime.cpp.s
+.PHONY : __/oc/ftime.cpp.s
+
+__/oc/functabl.o: __/oc/functabl.cpp.o
+.PHONY : __/oc/functabl.o
+
+# target to build an object file
+__/oc/functabl.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.o
+.PHONY : __/oc/functabl.cpp.o
+
+__/oc/functabl.i: __/oc/functabl.cpp.i
+.PHONY : __/oc/functabl.i
+
+# target to preprocess a source file
+__/oc/functabl.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.i
+.PHONY : __/oc/functabl.cpp.i
+
+__/oc/functabl.s: __/oc/functabl.cpp.s
+.PHONY : __/oc/functabl.s
+
+# target to generate assembly for a file
+__/oc/functabl.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/functabl.cpp.s
+.PHONY : __/oc/functabl.cpp.s
+
+__/oc/getsym.o: __/oc/getsym.cpp.o
+.PHONY : __/oc/getsym.o
+
+# target to build an object file
+__/oc/getsym.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.o
+.PHONY : __/oc/getsym.cpp.o
+
+__/oc/getsym.i: __/oc/getsym.cpp.i
+.PHONY : __/oc/getsym.i
+
+# target to preprocess a source file
+__/oc/getsym.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.i
+.PHONY : __/oc/getsym.cpp.i
+
+__/oc/getsym.s: __/oc/getsym.cpp.s
+.PHONY : __/oc/getsym.s
+
+# target to generate assembly for a file
+__/oc/getsym.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/getsym.cpp.s
+.PHONY : __/oc/getsym.cpp.s
+
+__/oc/hoc.o: __/oc/hoc.cpp.o
+.PHONY : __/oc/hoc.o
+
+# target to build an object file
+__/oc/hoc.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.o
+.PHONY : __/oc/hoc.cpp.o
+
+__/oc/hoc.i: __/oc/hoc.cpp.i
+.PHONY : __/oc/hoc.i
+
+# target to preprocess a source file
+__/oc/hoc.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.i
+.PHONY : __/oc/hoc.cpp.i
+
+__/oc/hoc.s: __/oc/hoc.cpp.s
+.PHONY : __/oc/hoc.s
+
+# target to generate assembly for a file
+__/oc/hoc.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.s
+.PHONY : __/oc/hoc.cpp.s
+
+__/oc/hoc_init.o: __/oc/hoc_init.cpp.o
+.PHONY : __/oc/hoc_init.o
+
+# target to build an object file
+__/oc/hoc_init.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.o
+.PHONY : __/oc/hoc_init.cpp.o
+
+__/oc/hoc_init.i: __/oc/hoc_init.cpp.i
+.PHONY : __/oc/hoc_init.i
+
+# target to preprocess a source file
+__/oc/hoc_init.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.i
+.PHONY : __/oc/hoc_init.cpp.i
+
+__/oc/hoc_init.s: __/oc/hoc_init.cpp.s
+.PHONY : __/oc/hoc_init.s
+
+# target to generate assembly for a file
+__/oc/hoc_init.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_init.cpp.s
+.PHONY : __/oc/hoc_init.cpp.s
+
+__/oc/hoc_oop.o: __/oc/hoc_oop.cpp.o
+.PHONY : __/oc/hoc_oop.o
+
+# target to build an object file
+__/oc/hoc_oop.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.o
+.PHONY : __/oc/hoc_oop.cpp.o
+
+__/oc/hoc_oop.i: __/oc/hoc_oop.cpp.i
+.PHONY : __/oc/hoc_oop.i
+
+# target to preprocess a source file
+__/oc/hoc_oop.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.i
+.PHONY : __/oc/hoc_oop.cpp.i
+
+__/oc/hoc_oop.s: __/oc/hoc_oop.cpp.s
+.PHONY : __/oc/hoc_oop.s
+
+# target to generate assembly for a file
+__/oc/hoc_oop.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc_oop.cpp.s
+.PHONY : __/oc/hoc_oop.cpp.s
+
+__/oc/hocusr.o: __/oc/hocusr.cpp.o
+.PHONY : __/oc/hocusr.o
+
+# target to build an object file
+__/oc/hocusr.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.o
+.PHONY : __/oc/hocusr.cpp.o
+
+__/oc/hocusr.i: __/oc/hocusr.cpp.i
+.PHONY : __/oc/hocusr.i
+
+# target to preprocess a source file
+__/oc/hocusr.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.i
+.PHONY : __/oc/hocusr.cpp.i
+
+__/oc/hocusr.s: __/oc/hocusr.cpp.s
+.PHONY : __/oc/hocusr.s
+
+# target to generate assembly for a file
+__/oc/hocusr.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hocusr.cpp.s
+.PHONY : __/oc/hocusr.cpp.s
+
+__/oc/isaac64.o: __/oc/isaac64.cpp.o
+.PHONY : __/oc/isaac64.o
+
+# target to build an object file
+__/oc/isaac64.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.o
+.PHONY : __/oc/isaac64.cpp.o
+
+__/oc/isaac64.i: __/oc/isaac64.cpp.i
+.PHONY : __/oc/isaac64.i
+
+# target to preprocess a source file
+__/oc/isaac64.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.i
+.PHONY : __/oc/isaac64.cpp.i
+
+__/oc/isaac64.s: __/oc/isaac64.cpp.s
+.PHONY : __/oc/isaac64.s
+
+# target to generate assembly for a file
+__/oc/isaac64.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isaac64.cpp.s
+.PHONY : __/oc/isaac64.cpp.s
+
+__/oc/isoc99.o: __/oc/isoc99.cpp.o
+.PHONY : __/oc/isoc99.o
+
+# target to build an object file
+__/oc/isoc99.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.o
+.PHONY : __/oc/isoc99.cpp.o
+
+__/oc/isoc99.i: __/oc/isoc99.cpp.i
+.PHONY : __/oc/isoc99.i
+
+# target to preprocess a source file
+__/oc/isoc99.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.i
+.PHONY : __/oc/isoc99.cpp.i
+
+__/oc/isoc99.s: __/oc/isoc99.cpp.s
+.PHONY : __/oc/isoc99.s
+
+# target to generate assembly for a file
+__/oc/isoc99.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/isoc99.cpp.s
+.PHONY : __/oc/isoc99.cpp.s
+
+__/oc/list.o: __/oc/list.cpp.o
+.PHONY : __/oc/list.o
+
+# target to build an object file
+__/oc/list.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.o
+.PHONY : __/oc/list.cpp.o
+
+__/oc/list.i: __/oc/list.cpp.i
+.PHONY : __/oc/list.i
+
+# target to preprocess a source file
+__/oc/list.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.i
+.PHONY : __/oc/list.cpp.i
+
+__/oc/list.s: __/oc/list.cpp.s
+.PHONY : __/oc/list.s
+
+# target to generate assembly for a file
+__/oc/list.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/list.cpp.s
+.PHONY : __/oc/list.cpp.s
+
+__/oc/math.o: __/oc/math.cpp.o
+.PHONY : __/oc/math.o
+
+# target to build an object file
+__/oc/math.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.o
+.PHONY : __/oc/math.cpp.o
+
+__/oc/math.i: __/oc/math.cpp.i
+.PHONY : __/oc/math.i
+
+# target to preprocess a source file
+__/oc/math.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.i
+.PHONY : __/oc/math.cpp.i
+
+__/oc/math.s: __/oc/math.cpp.s
+.PHONY : __/oc/math.s
+
+# target to generate assembly for a file
+__/oc/math.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/math.cpp.s
+.PHONY : __/oc/math.cpp.s
+
+__/oc/mcran4.o: __/oc/mcran4.cpp.o
+.PHONY : __/oc/mcran4.o
+
+# target to build an object file
+__/oc/mcran4.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.o
+.PHONY : __/oc/mcran4.cpp.o
+
+__/oc/mcran4.i: __/oc/mcran4.cpp.i
+.PHONY : __/oc/mcran4.i
+
+# target to preprocess a source file
+__/oc/mcran4.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.i
+.PHONY : __/oc/mcran4.cpp.i
+
+__/oc/mcran4.s: __/oc/mcran4.cpp.s
+.PHONY : __/oc/mcran4.s
+
+# target to generate assembly for a file
+__/oc/mcran4.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mcran4.cpp.s
+.PHONY : __/oc/mcran4.cpp.s
+
+__/oc/modlreg.o: __/oc/modlreg.cpp.o
+.PHONY : __/oc/modlreg.o
+
+# target to build an object file
+__/oc/modlreg.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.o
+.PHONY : __/oc/modlreg.cpp.o
+
+__/oc/modlreg.i: __/oc/modlreg.cpp.i
+.PHONY : __/oc/modlreg.i
+
+# target to preprocess a source file
+__/oc/modlreg.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.i
+.PHONY : __/oc/modlreg.cpp.i
+
+__/oc/modlreg.s: __/oc/modlreg.cpp.s
+.PHONY : __/oc/modlreg.s
+
+# target to generate assembly for a file
+__/oc/modlreg.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/modlreg.cpp.s
+.PHONY : __/oc/modlreg.cpp.s
+
+__/oc/mswinprt.o: __/oc/mswinprt.cpp.o
+.PHONY : __/oc/mswinprt.o
+
+# target to build an object file
+__/oc/mswinprt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.o
+.PHONY : __/oc/mswinprt.cpp.o
+
+__/oc/mswinprt.i: __/oc/mswinprt.cpp.i
+.PHONY : __/oc/mswinprt.i
+
+# target to preprocess a source file
+__/oc/mswinprt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.i
+.PHONY : __/oc/mswinprt.cpp.i
+
+__/oc/mswinprt.s: __/oc/mswinprt.cpp.s
+.PHONY : __/oc/mswinprt.s
+
+# target to generate assembly for a file
+__/oc/mswinprt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/mswinprt.cpp.s
+.PHONY : __/oc/mswinprt.cpp.s
+
+__/oc/nonlin.o: __/oc/nonlin.cpp.o
+.PHONY : __/oc/nonlin.o
+
+# target to build an object file
+__/oc/nonlin.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.o
+.PHONY : __/oc/nonlin.cpp.o
+
+__/oc/nonlin.i: __/oc/nonlin.cpp.i
+.PHONY : __/oc/nonlin.i
+
+# target to preprocess a source file
+__/oc/nonlin.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.i
+.PHONY : __/oc/nonlin.cpp.i
+
+__/oc/nonlin.s: __/oc/nonlin.cpp.s
+.PHONY : __/oc/nonlin.s
+
+# target to generate assembly for a file
+__/oc/nonlin.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nonlin.cpp.s
+.PHONY : __/oc/nonlin.cpp.s
+
+__/oc/nrnfilewrap.o: __/oc/nrnfilewrap.cpp.o
+.PHONY : __/oc/nrnfilewrap.o
+
+# target to build an object file
+__/oc/nrnfilewrap.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.o
+.PHONY : __/oc/nrnfilewrap.cpp.o
+
+__/oc/nrnfilewrap.i: __/oc/nrnfilewrap.cpp.i
+.PHONY : __/oc/nrnfilewrap.i
+
+# target to preprocess a source file
+__/oc/nrnfilewrap.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.i
+.PHONY : __/oc/nrnfilewrap.cpp.i
+
+__/oc/nrnfilewrap.s: __/oc/nrnfilewrap.cpp.s
+.PHONY : __/oc/nrnfilewrap.s
+
+# target to generate assembly for a file
+__/oc/nrnfilewrap.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnfilewrap.cpp.s
+.PHONY : __/oc/nrnfilewrap.cpp.s
+
+__/oc/nrnisaac.o: __/oc/nrnisaac.cpp.o
+.PHONY : __/oc/nrnisaac.o
+
+# target to build an object file
+__/oc/nrnisaac.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.o
+.PHONY : __/oc/nrnisaac.cpp.o
+
+__/oc/nrnisaac.i: __/oc/nrnisaac.cpp.i
+.PHONY : __/oc/nrnisaac.i
+
+# target to preprocess a source file
+__/oc/nrnisaac.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.i
+.PHONY : __/oc/nrnisaac.cpp.i
+
+__/oc/nrnisaac.s: __/oc/nrnisaac.cpp.s
+.PHONY : __/oc/nrnisaac.s
+
+# target to generate assembly for a file
+__/oc/nrnisaac.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnisaac.cpp.s
+.PHONY : __/oc/nrnisaac.cpp.s
+
+__/oc/nrnran123.o: __/oc/nrnran123.cpp.o
+.PHONY : __/oc/nrnran123.o
+
+# target to build an object file
+__/oc/nrnran123.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.o
+.PHONY : __/oc/nrnran123.cpp.o
+
+__/oc/nrnran123.i: __/oc/nrnran123.cpp.i
+.PHONY : __/oc/nrnran123.i
+
+# target to preprocess a source file
+__/oc/nrnran123.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.i
+.PHONY : __/oc/nrnran123.cpp.i
+
+__/oc/nrnran123.s: __/oc/nrnran123.cpp.s
+.PHONY : __/oc/nrnran123.s
+
+# target to generate assembly for a file
+__/oc/nrnran123.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/nrnran123.cpp.s
+.PHONY : __/oc/nrnran123.cpp.s
+
+__/oc/ocerf.o: __/oc/ocerf.cpp.o
+.PHONY : __/oc/ocerf.o
+
+# target to build an object file
+__/oc/ocerf.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.o
+.PHONY : __/oc/ocerf.cpp.o
+
+__/oc/ocerf.i: __/oc/ocerf.cpp.i
+.PHONY : __/oc/ocerf.i
+
+# target to preprocess a source file
+__/oc/ocerf.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.i
+.PHONY : __/oc/ocerf.cpp.i
+
+__/oc/ocerf.s: __/oc/ocerf.cpp.s
+.PHONY : __/oc/ocerf.s
+
+# target to generate assembly for a file
+__/oc/ocerf.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/ocerf.cpp.s
+.PHONY : __/oc/ocerf.cpp.s
+
+__/oc/ockludge.o: __/oc/ockludge.cpp.o
+.PHONY : __/oc/ockludge.o
+
+# target to build an object file
+__/oc/ockludge.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.o
+.PHONY : __/oc/ockludge.cpp.o
+
+__/oc/ockludge.i: __/oc/ockludge.cpp.i
+.PHONY : __/oc/ockludge.i
+
+# target to preprocess a source file
+__/oc/ockludge.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.i
+.PHONY : __/oc/ockludge.cpp.i
+
+__/oc/ockludge.s: __/oc/ockludge.cpp.s
+.PHONY : __/oc/ockludge.s
+
+# target to generate assembly for a file
+__/oc/ockludge.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv.dir/build.make src/nrniv/CMakeFiles/nrniv.dir/__/oc/ockludge.cpp.s
+.PHONY : __/oc/ockludge.cpp.s
+
+__/oc/parallel.o: __/oc/parallel.cpp.o
+.PHONY : __/oc/parallel.o
+
+# target to build an object file
+__/oc/parallel.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.o
+.PHONY : __/oc/parallel.cpp.o
+
+__/oc/parallel.i: __/oc/parallel.cpp.i
+.PHONY : __/oc/parallel.i
+
+# target to preprocess a source file
+__/oc/parallel.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.i
+.PHONY : __/oc/parallel.cpp.i
+
+__/oc/parallel.s: __/oc/parallel.cpp.s
+.PHONY : __/oc/parallel.s
+
+# target to generate assembly for a file
+__/oc/parallel.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/parallel.cpp.s
+.PHONY : __/oc/parallel.cpp.s
+
+__/oc/plot.o: __/oc/plot.cpp.o
+.PHONY : __/oc/plot.o
+
+# target to build an object file
+__/oc/plot.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.o
+.PHONY : __/oc/plot.cpp.o
+
+__/oc/plot.i: __/oc/plot.cpp.i
+.PHONY : __/oc/plot.i
+
+# target to preprocess a source file
+__/oc/plot.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.i
+.PHONY : __/oc/plot.cpp.i
+
+__/oc/plot.s: __/oc/plot.cpp.s
+.PHONY : __/oc/plot.s
+
+# target to generate assembly for a file
+__/oc/plot.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plot.cpp.s
+.PHONY : __/oc/plot.cpp.s
+
+__/oc/plt.o: __/oc/plt.cpp.o
+.PHONY : __/oc/plt.o
+
+# target to build an object file
+__/oc/plt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.o
+.PHONY : __/oc/plt.cpp.o
+
+__/oc/plt.i: __/oc/plt.cpp.i
+.PHONY : __/oc/plt.i
+
+# target to preprocess a source file
+__/oc/plt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.i
+.PHONY : __/oc/plt.cpp.i
+
+__/oc/plt.s: __/oc/plt.cpp.s
+.PHONY : __/oc/plt.s
+
+# target to generate assembly for a file
+__/oc/plt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/plt.cpp.s
+.PHONY : __/oc/plt.cpp.s
+
+__/oc/regexp.o: __/oc/regexp.cpp.o
+.PHONY : __/oc/regexp.o
+
+# target to build an object file
+__/oc/regexp.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.o
+.PHONY : __/oc/regexp.cpp.o
+
+__/oc/regexp.i: __/oc/regexp.cpp.i
+.PHONY : __/oc/regexp.i
+
+# target to preprocess a source file
+__/oc/regexp.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.i
+.PHONY : __/oc/regexp.cpp.i
+
+__/oc/regexp.s: __/oc/regexp.cpp.s
+.PHONY : __/oc/regexp.s
+
+# target to generate assembly for a file
+__/oc/regexp.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/regexp.cpp.s
+.PHONY : __/oc/regexp.cpp.s
+
+__/oc/scoprand.o: __/oc/scoprand.cpp.o
+.PHONY : __/oc/scoprand.o
+
+# target to build an object file
+__/oc/scoprand.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.o
+.PHONY : __/oc/scoprand.cpp.o
+
+__/oc/scoprand.i: __/oc/scoprand.cpp.i
+.PHONY : __/oc/scoprand.i
+
+# target to preprocess a source file
+__/oc/scoprand.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.i
+.PHONY : __/oc/scoprand.cpp.i
+
+__/oc/scoprand.s: __/oc/scoprand.cpp.s
+.PHONY : __/oc/scoprand.s
+
+# target to generate assembly for a file
+__/oc/scoprand.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/scoprand.cpp.s
+.PHONY : __/oc/scoprand.cpp.s
+
+__/oc/settext.o: __/oc/settext.cpp.o
+.PHONY : __/oc/settext.o
+
+# target to build an object file
+__/oc/settext.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.o
+.PHONY : __/oc/settext.cpp.o
+
+__/oc/settext.i: __/oc/settext.cpp.i
+.PHONY : __/oc/settext.i
+
+# target to preprocess a source file
+__/oc/settext.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.i
+.PHONY : __/oc/settext.cpp.i
+
+__/oc/settext.s: __/oc/settext.cpp.s
+.PHONY : __/oc/settext.s
+
+# target to generate assembly for a file
+__/oc/settext.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/settext.cpp.s
+.PHONY : __/oc/settext.cpp.s
+
+__/oc/symbol.o: __/oc/symbol.cpp.o
+.PHONY : __/oc/symbol.o
+
+# target to build an object file
+__/oc/symbol.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.o
+.PHONY : __/oc/symbol.cpp.o
+
+__/oc/symbol.i: __/oc/symbol.cpp.i
+.PHONY : __/oc/symbol.i
+
+# target to preprocess a source file
+__/oc/symbol.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.i
+.PHONY : __/oc/symbol.cpp.i
+
+__/oc/symbol.s: __/oc/symbol.cpp.s
+.PHONY : __/oc/symbol.s
+
+# target to generate assembly for a file
+__/oc/symbol.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/symbol.cpp.s
+.PHONY : __/oc/symbol.cpp.s
+
+__/oc/version.o: __/oc/version.cpp.o
+.PHONY : __/oc/version.o
+
+# target to build an object file
+__/oc/version.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.o
+.PHONY : __/oc/version.cpp.o
+
+__/oc/version.i: __/oc/version.cpp.i
+.PHONY : __/oc/version.i
+
+# target to preprocess a source file
+__/oc/version.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.i
+.PHONY : __/oc/version.cpp.i
+
+__/oc/version.s: __/oc/version.cpp.s
+.PHONY : __/oc/version.s
+
+# target to generate assembly for a file
+__/oc/version.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/version.cpp.s
+.PHONY : __/oc/version.cpp.s
+
+__/oc/x.o: __/oc/x.cpp.o
+.PHONY : __/oc/x.o
+
+# target to build an object file
+__/oc/x.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.o
+.PHONY : __/oc/x.cpp.o
+
+__/oc/x.i: __/oc/x.cpp.i
+.PHONY : __/oc/x.i
+
+# target to preprocess a source file
+__/oc/x.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.i
+.PHONY : __/oc/x.cpp.i
+
+__/oc/x.s: __/oc/x.cpp.s
+.PHONY : __/oc/x.s
+
+# target to generate assembly for a file
+__/oc/x.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/x.cpp.s
+.PHONY : __/oc/x.cpp.s
+
+__/oc/xred.o: __/oc/xred.cpp.o
+.PHONY : __/oc/xred.o
+
+# target to build an object file
+__/oc/xred.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.o
+.PHONY : __/oc/xred.cpp.o
+
+__/oc/xred.i: __/oc/xred.cpp.i
+.PHONY : __/oc/xred.i
+
+# target to preprocess a source file
+__/oc/xred.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.i
+.PHONY : __/oc/xred.cpp.i
+
+__/oc/xred.s: __/oc/xred.cpp.s
+.PHONY : __/oc/xred.s
+
+# target to generate assembly for a file
+__/oc/xred.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/xred.cpp.s
+.PHONY : __/oc/xred.cpp.s
+
+__/scopmath/abort.o: __/scopmath/abort.c.o
+.PHONY : __/scopmath/abort.o
+
+# target to build an object file
+__/scopmath/abort.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.o
+.PHONY : __/scopmath/abort.c.o
+
+__/scopmath/abort.i: __/scopmath/abort.c.i
+.PHONY : __/scopmath/abort.i
+
+# target to preprocess a source file
+__/scopmath/abort.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.i
+.PHONY : __/scopmath/abort.c.i
+
+__/scopmath/abort.s: __/scopmath/abort.c.s
+.PHONY : __/scopmath/abort.s
+
+# target to generate assembly for a file
+__/scopmath/abort.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/abort.c.s
+.PHONY : __/scopmath/abort.c.s
+
+__/scopmath/adams.o: __/scopmath/adams.c.o
+.PHONY : __/scopmath/adams.o
+
+# target to build an object file
+__/scopmath/adams.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.o
+.PHONY : __/scopmath/adams.c.o
+
+__/scopmath/adams.i: __/scopmath/adams.c.i
+.PHONY : __/scopmath/adams.i
+
+# target to preprocess a source file
+__/scopmath/adams.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.i
+.PHONY : __/scopmath/adams.c.i
+
+__/scopmath/adams.s: __/scopmath/adams.c.s
+.PHONY : __/scopmath/adams.s
+
+# target to generate assembly for a file
+__/scopmath/adams.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adams.c.s
+.PHONY : __/scopmath/adams.c.s
+
+__/scopmath/adeuler.o: __/scopmath/adeuler.c.o
+.PHONY : __/scopmath/adeuler.o
+
+# target to build an object file
+__/scopmath/adeuler.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.o
+.PHONY : __/scopmath/adeuler.c.o
+
+__/scopmath/adeuler.i: __/scopmath/adeuler.c.i
+.PHONY : __/scopmath/adeuler.i
+
+# target to preprocess a source file
+__/scopmath/adeuler.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.i
+.PHONY : __/scopmath/adeuler.c.i
+
+__/scopmath/adeuler.s: __/scopmath/adeuler.c.s
+.PHONY : __/scopmath/adeuler.s
+
+# target to generate assembly for a file
+__/scopmath/adeuler.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adeuler.c.s
+.PHONY : __/scopmath/adeuler.c.s
+
+__/scopmath/adrunge.o: __/scopmath/adrunge.c.o
+.PHONY : __/scopmath/adrunge.o
+
+# target to build an object file
+__/scopmath/adrunge.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.o
+.PHONY : __/scopmath/adrunge.c.o
+
+__/scopmath/adrunge.i: __/scopmath/adrunge.c.i
+.PHONY : __/scopmath/adrunge.i
+
+# target to preprocess a source file
+__/scopmath/adrunge.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.i
+.PHONY : __/scopmath/adrunge.c.i
+
+__/scopmath/adrunge.s: __/scopmath/adrunge.c.s
+.PHONY : __/scopmath/adrunge.s
+
+# target to generate assembly for a file
+__/scopmath/adrunge.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/adrunge.c.s
+.PHONY : __/scopmath/adrunge.c.s
+
+__/scopmath/advance.o: __/scopmath/advance.c.o
+.PHONY : __/scopmath/advance.o
+
+# target to build an object file
+__/scopmath/advance.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.o
+.PHONY : __/scopmath/advance.c.o
+
+__/scopmath/advance.i: __/scopmath/advance.c.i
+.PHONY : __/scopmath/advance.i
+
+# target to preprocess a source file
+__/scopmath/advance.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.i
+.PHONY : __/scopmath/advance.c.i
+
+__/scopmath/advance.s: __/scopmath/advance.c.s
+.PHONY : __/scopmath/advance.s
+
+# target to generate assembly for a file
+__/scopmath/advance.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/advance.c.s
+.PHONY : __/scopmath/advance.c.s
+
+__/scopmath/boundary.o: __/scopmath/boundary.c.o
+.PHONY : __/scopmath/boundary.o
+
+# target to build an object file
+__/scopmath/boundary.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.o
+.PHONY : __/scopmath/boundary.c.o
+
+__/scopmath/boundary.i: __/scopmath/boundary.c.i
+.PHONY : __/scopmath/boundary.i
+
+# target to preprocess a source file
+__/scopmath/boundary.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.i
+.PHONY : __/scopmath/boundary.c.i
+
+__/scopmath/boundary.s: __/scopmath/boundary.c.s
+.PHONY : __/scopmath/boundary.s
+
+# target to generate assembly for a file
+__/scopmath/boundary.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/boundary.c.s
+.PHONY : __/scopmath/boundary.c.s
+
+__/scopmath/crank.o: __/scopmath/crank.c.o
+.PHONY : __/scopmath/crank.o
+
+# target to build an object file
+__/scopmath/crank.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.o
+.PHONY : __/scopmath/crank.c.o
+
+__/scopmath/crank.i: __/scopmath/crank.c.i
+.PHONY : __/scopmath/crank.i
+
+# target to preprocess a source file
+__/scopmath/crank.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.i
+.PHONY : __/scopmath/crank.c.i
+
+__/scopmath/crank.s: __/scopmath/crank.c.s
+.PHONY : __/scopmath/crank.s
+
+# target to generate assembly for a file
+__/scopmath/crank.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crank.c.s
+.PHONY : __/scopmath/crank.c.s
+
+__/scopmath/crout.o: __/scopmath/crout.c.o
+.PHONY : __/scopmath/crout.o
+
+# target to build an object file
+__/scopmath/crout.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.o
+.PHONY : __/scopmath/crout.c.o
+
+__/scopmath/crout.i: __/scopmath/crout.c.i
+.PHONY : __/scopmath/crout.i
+
+# target to preprocess a source file
+__/scopmath/crout.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.i
+.PHONY : __/scopmath/crout.c.i
+
+__/scopmath/crout.s: __/scopmath/crout.c.s
+.PHONY : __/scopmath/crout.s
+
+# target to generate assembly for a file
+__/scopmath/crout.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout.c.s
+.PHONY : __/scopmath/crout.c.s
+
+__/scopmath/crout_thread.o: __/scopmath/crout_thread.c.o
+.PHONY : __/scopmath/crout_thread.o
+
+# target to build an object file
+__/scopmath/crout_thread.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.o
+.PHONY : __/scopmath/crout_thread.c.o
+
+__/scopmath/crout_thread.i: __/scopmath/crout_thread.c.i
+.PHONY : __/scopmath/crout_thread.i
+
+# target to preprocess a source file
+__/scopmath/crout_thread.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.i
+.PHONY : __/scopmath/crout_thread.c.i
+
+__/scopmath/crout_thread.s: __/scopmath/crout_thread.c.s
+.PHONY : __/scopmath/crout_thread.s
+
+# target to generate assembly for a file
+__/scopmath/crout_thread.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/crout_thread.c.s
+.PHONY : __/scopmath/crout_thread.c.s
+
+__/scopmath/csoda.o: __/scopmath/csoda.c.o
+.PHONY : __/scopmath/csoda.o
+
+# target to build an object file
+__/scopmath/csoda.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.o
+.PHONY : __/scopmath/csoda.c.o
+
+__/scopmath/csoda.i: __/scopmath/csoda.c.i
+.PHONY : __/scopmath/csoda.i
+
+# target to preprocess a source file
+__/scopmath/csoda.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.i
+.PHONY : __/scopmath/csoda.c.i
+
+__/scopmath/csoda.s: __/scopmath/csoda.c.s
+.PHONY : __/scopmath/csoda.s
+
+# target to generate assembly for a file
+__/scopmath/csoda.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csoda.c.s
+.PHONY : __/scopmath/csoda.c.s
+
+__/scopmath/csodabnc.o: __/scopmath/csodabnc.c.o
+.PHONY : __/scopmath/csodabnc.o
+
+# target to build an object file
+__/scopmath/csodabnc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.o
+.PHONY : __/scopmath/csodabnc.c.o
+
+__/scopmath/csodabnc.i: __/scopmath/csodabnc.c.i
+.PHONY : __/scopmath/csodabnc.i
+
+# target to preprocess a source file
+__/scopmath/csodabnc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.i
+.PHONY : __/scopmath/csodabnc.c.i
+
+__/scopmath/csodabnc.s: __/scopmath/csodabnc.c.s
+.PHONY : __/scopmath/csodabnc.s
+
+# target to generate assembly for a file
+__/scopmath/csodabnc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/csodabnc.c.s
+.PHONY : __/scopmath/csodabnc.c.s
+
+__/scopmath/deflate.o: __/scopmath/deflate.c.o
+.PHONY : __/scopmath/deflate.o
+
+# target to build an object file
+__/scopmath/deflate.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.o
+.PHONY : __/scopmath/deflate.c.o
+
+__/scopmath/deflate.i: __/scopmath/deflate.c.i
+.PHONY : __/scopmath/deflate.i
+
+# target to preprocess a source file
+__/scopmath/deflate.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.i
+.PHONY : __/scopmath/deflate.c.i
+
+__/scopmath/deflate.s: __/scopmath/deflate.c.s
+.PHONY : __/scopmath/deflate.s
+
+# target to generate assembly for a file
+__/scopmath/deflate.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/deflate.c.s
+.PHONY : __/scopmath/deflate.c.s
+
+__/scopmath/dimplic.o: __/scopmath/dimplic.c.o
+.PHONY : __/scopmath/dimplic.o
+
+# target to build an object file
+__/scopmath/dimplic.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.o
+.PHONY : __/scopmath/dimplic.c.o
+
+__/scopmath/dimplic.i: __/scopmath/dimplic.c.i
+.PHONY : __/scopmath/dimplic.i
+
+# target to preprocess a source file
+__/scopmath/dimplic.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.i
+.PHONY : __/scopmath/dimplic.c.i
+
+__/scopmath/dimplic.s: __/scopmath/dimplic.c.s
+.PHONY : __/scopmath/dimplic.s
+
+# target to generate assembly for a file
+__/scopmath/dimplic.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/dimplic.c.s
+.PHONY : __/scopmath/dimplic.c.s
+
+__/scopmath/euler.o: __/scopmath/euler.c.o
+.PHONY : __/scopmath/euler.o
+
+# target to build an object file
+__/scopmath/euler.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.o
+.PHONY : __/scopmath/euler.c.o
+
+__/scopmath/euler.i: __/scopmath/euler.c.i
+.PHONY : __/scopmath/euler.i
+
+# target to preprocess a source file
+__/scopmath/euler.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.i
+.PHONY : __/scopmath/euler.c.i
+
+__/scopmath/euler.s: __/scopmath/euler.c.s
+.PHONY : __/scopmath/euler.s
+
+# target to generate assembly for a file
+__/scopmath/euler.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/euler.c.s
+.PHONY : __/scopmath/euler.c.s
+
+__/scopmath/expfit.o: __/scopmath/expfit.c.o
+.PHONY : __/scopmath/expfit.o
+
+# target to build an object file
+__/scopmath/expfit.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.o
+.PHONY : __/scopmath/expfit.c.o
+
+__/scopmath/expfit.i: __/scopmath/expfit.c.i
+.PHONY : __/scopmath/expfit.i
+
+# target to preprocess a source file
+__/scopmath/expfit.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.i
+.PHONY : __/scopmath/expfit.c.i
+
+__/scopmath/expfit.s: __/scopmath/expfit.c.s
+.PHONY : __/scopmath/expfit.s
+
+# target to generate assembly for a file
+__/scopmath/expfit.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/expfit.c.s
+.PHONY : __/scopmath/expfit.c.s
+
+__/scopmath/exprand.o: __/scopmath/exprand.c.o
+.PHONY : __/scopmath/exprand.o
+
+# target to build an object file
+__/scopmath/exprand.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.o
+.PHONY : __/scopmath/exprand.c.o
+
+__/scopmath/exprand.i: __/scopmath/exprand.c.i
+.PHONY : __/scopmath/exprand.i
+
+# target to preprocess a source file
+__/scopmath/exprand.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.i
+.PHONY : __/scopmath/exprand.c.i
+
+__/scopmath/exprand.s: __/scopmath/exprand.c.s
+.PHONY : __/scopmath/exprand.s
+
+# target to generate assembly for a file
+__/scopmath/exprand.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/exprand.c.s
+.PHONY : __/scopmath/exprand.c.s
+
+__/scopmath/f2cmisc.o: __/scopmath/f2cmisc.c.o
+.PHONY : __/scopmath/f2cmisc.o
+
+# target to build an object file
+__/scopmath/f2cmisc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.o
+.PHONY : __/scopmath/f2cmisc.c.o
+
+__/scopmath/f2cmisc.i: __/scopmath/f2cmisc.c.i
+.PHONY : __/scopmath/f2cmisc.i
+
+# target to preprocess a source file
+__/scopmath/f2cmisc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.i
+.PHONY : __/scopmath/f2cmisc.c.i
+
+__/scopmath/f2cmisc.s: __/scopmath/f2cmisc.c.s
+.PHONY : __/scopmath/f2cmisc.s
+
+# target to generate assembly for a file
+__/scopmath/f2cmisc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/f2cmisc.c.s
+.PHONY : __/scopmath/f2cmisc.c.s
+
+__/scopmath/factoria.o: __/scopmath/factoria.c.o
+.PHONY : __/scopmath/factoria.o
+
+# target to build an object file
+__/scopmath/factoria.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.o
+.PHONY : __/scopmath/factoria.c.o
+
+__/scopmath/factoria.i: __/scopmath/factoria.c.i
+.PHONY : __/scopmath/factoria.i
+
+# target to preprocess a source file
+__/scopmath/factoria.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.i
+.PHONY : __/scopmath/factoria.c.i
+
+__/scopmath/factoria.s: __/scopmath/factoria.c.s
+.PHONY : __/scopmath/factoria.s
+
+# target to generate assembly for a file
+__/scopmath/factoria.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/factoria.c.s
+.PHONY : __/scopmath/factoria.c.s
+
+__/scopmath/force.o: __/scopmath/force.c.o
+.PHONY : __/scopmath/force.o
+
+# target to build an object file
+__/scopmath/force.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.o
+.PHONY : __/scopmath/force.c.o
+
+__/scopmath/force.i: __/scopmath/force.c.i
+.PHONY : __/scopmath/force.i
+
+# target to preprocess a source file
+__/scopmath/force.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.i
+.PHONY : __/scopmath/force.c.i
+
+__/scopmath/force.s: __/scopmath/force.c.s
+.PHONY : __/scopmath/force.s
+
+# target to generate assembly for a file
+__/scopmath/force.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/force.c.s
+.PHONY : __/scopmath/force.c.s
+
+__/scopmath/gauss.o: __/scopmath/gauss.c.o
+.PHONY : __/scopmath/gauss.o
+
+# target to build an object file
+__/scopmath/gauss.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.o
+.PHONY : __/scopmath/gauss.c.o
+
+__/scopmath/gauss.i: __/scopmath/gauss.c.i
+.PHONY : __/scopmath/gauss.i
+
+# target to preprocess a source file
+__/scopmath/gauss.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.i
+.PHONY : __/scopmath/gauss.c.i
+
+__/scopmath/gauss.s: __/scopmath/gauss.c.s
+.PHONY : __/scopmath/gauss.s
+
+# target to generate assembly for a file
+__/scopmath/gauss.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gauss.c.s
+.PHONY : __/scopmath/gauss.c.s
+
+__/scopmath/gear.o: __/scopmath/gear.c.o
+.PHONY : __/scopmath/gear.o
+
+# target to build an object file
+__/scopmath/gear.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.o
+.PHONY : __/scopmath/gear.c.o
+
+__/scopmath/gear.i: __/scopmath/gear.c.i
+.PHONY : __/scopmath/gear.i
+
+# target to preprocess a source file
+__/scopmath/gear.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.i
+.PHONY : __/scopmath/gear.c.i
+
+__/scopmath/gear.s: __/scopmath/gear.c.s
+.PHONY : __/scopmath/gear.s
+
+# target to generate assembly for a file
+__/scopmath/gear.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/gear.c.s
+.PHONY : __/scopmath/gear.c.s
+
+__/scopmath/getmem.o: __/scopmath/getmem.c.o
+.PHONY : __/scopmath/getmem.o
+
+# target to build an object file
+__/scopmath/getmem.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.o
+.PHONY : __/scopmath/getmem.c.o
+
+__/scopmath/getmem.i: __/scopmath/getmem.c.i
+.PHONY : __/scopmath/getmem.i
+
+# target to preprocess a source file
+__/scopmath/getmem.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.i
+.PHONY : __/scopmath/getmem.c.i
+
+__/scopmath/getmem.s: __/scopmath/getmem.c.s
+.PHONY : __/scopmath/getmem.s
+
+# target to generate assembly for a file
+__/scopmath/getmem.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/getmem.c.s
+.PHONY : __/scopmath/getmem.c.s
+
+__/scopmath/harmonic.o: __/scopmath/harmonic.c.o
+.PHONY : __/scopmath/harmonic.o
+
+# target to build an object file
+__/scopmath/harmonic.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.o
+.PHONY : __/scopmath/harmonic.c.o
+
+__/scopmath/harmonic.i: __/scopmath/harmonic.c.i
+.PHONY : __/scopmath/harmonic.i
+
+# target to preprocess a source file
+__/scopmath/harmonic.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.i
+.PHONY : __/scopmath/harmonic.c.i
+
+__/scopmath/harmonic.s: __/scopmath/harmonic.c.s
+.PHONY : __/scopmath/harmonic.s
+
+# target to generate assembly for a file
+__/scopmath/harmonic.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/harmonic.c.s
+.PHONY : __/scopmath/harmonic.c.s
+
+__/scopmath/heun.o: __/scopmath/heun.c.o
+.PHONY : __/scopmath/heun.o
+
+# target to build an object file
+__/scopmath/heun.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.o
+.PHONY : __/scopmath/heun.c.o
+
+__/scopmath/heun.i: __/scopmath/heun.c.i
+.PHONY : __/scopmath/heun.i
+
+# target to preprocess a source file
+__/scopmath/heun.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.i
+.PHONY : __/scopmath/heun.c.i
+
+__/scopmath/heun.s: __/scopmath/heun.c.s
+.PHONY : __/scopmath/heun.s
+
+# target to generate assembly for a file
+__/scopmath/heun.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/heun.c.s
+.PHONY : __/scopmath/heun.c.s
+
+__/scopmath/hyperbol.o: __/scopmath/hyperbol.c.o
+.PHONY : __/scopmath/hyperbol.o
+
+# target to build an object file
+__/scopmath/hyperbol.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.o
+.PHONY : __/scopmath/hyperbol.c.o
+
+__/scopmath/hyperbol.i: __/scopmath/hyperbol.c.i
+.PHONY : __/scopmath/hyperbol.i
+
+# target to preprocess a source file
+__/scopmath/hyperbol.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.i
+.PHONY : __/scopmath/hyperbol.c.i
+
+__/scopmath/hyperbol.s: __/scopmath/hyperbol.c.s
+.PHONY : __/scopmath/hyperbol.s
+
+# target to generate assembly for a file
+__/scopmath/hyperbol.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/hyperbol.c.s
+.PHONY : __/scopmath/hyperbol.c.s
+
+__/scopmath/invert.o: __/scopmath/invert.c.o
+.PHONY : __/scopmath/invert.o
+
+# target to build an object file
+__/scopmath/invert.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.o
+.PHONY : __/scopmath/invert.c.o
+
+__/scopmath/invert.i: __/scopmath/invert.c.i
+.PHONY : __/scopmath/invert.i
+
+# target to preprocess a source file
+__/scopmath/invert.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.i
+.PHONY : __/scopmath/invert.c.i
+
+__/scopmath/invert.s: __/scopmath/invert.c.s
+.PHONY : __/scopmath/invert.s
+
+# target to generate assembly for a file
+__/scopmath/invert.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/invert.c.s
+.PHONY : __/scopmath/invert.c.s
+
+__/scopmath/lag.o: __/scopmath/lag.c.o
+.PHONY : __/scopmath/lag.o
+
+# target to build an object file
+__/scopmath/lag.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.o
+.PHONY : __/scopmath/lag.c.o
+
+__/scopmath/lag.i: __/scopmath/lag.c.i
+.PHONY : __/scopmath/lag.i
+
+# target to preprocess a source file
+__/scopmath/lag.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.i
+.PHONY : __/scopmath/lag.c.i
+
+__/scopmath/lag.s: __/scopmath/lag.c.s
+.PHONY : __/scopmath/lag.s
+
+# target to generate assembly for a file
+__/scopmath/lag.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/lag.c.s
+.PHONY : __/scopmath/lag.c.s
+
+__/scopmath/legendre.o: __/scopmath/legendre.c.o
+.PHONY : __/scopmath/legendre.o
+
+# target to build an object file
+__/scopmath/legendre.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.o
+.PHONY : __/scopmath/legendre.c.o
+
+__/scopmath/legendre.i: __/scopmath/legendre.c.i
+.PHONY : __/scopmath/legendre.i
+
+# target to preprocess a source file
+__/scopmath/legendre.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.i
+.PHONY : __/scopmath/legendre.c.i
+
+__/scopmath/legendre.s: __/scopmath/legendre.c.s
+.PHONY : __/scopmath/legendre.s
+
+# target to generate assembly for a file
+__/scopmath/legendre.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/legendre.c.s
+.PHONY : __/scopmath/legendre.c.s
+
+__/scopmath/newton.o: __/scopmath/newton.c.o
+.PHONY : __/scopmath/newton.o
+
+# target to build an object file
+__/scopmath/newton.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.o
+.PHONY : __/scopmath/newton.c.o
+
+__/scopmath/newton.i: __/scopmath/newton.c.i
+.PHONY : __/scopmath/newton.i
+
+# target to preprocess a source file
+__/scopmath/newton.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.i
+.PHONY : __/scopmath/newton.c.i
+
+__/scopmath/newton.s: __/scopmath/newton.c.s
+.PHONY : __/scopmath/newton.s
+
+# target to generate assembly for a file
+__/scopmath/newton.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton.c.s
+.PHONY : __/scopmath/newton.c.s
+
+__/scopmath/newton_thread.o: __/scopmath/newton_thread.c.o
+.PHONY : __/scopmath/newton_thread.o
+
+# target to build an object file
+__/scopmath/newton_thread.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.o
+.PHONY : __/scopmath/newton_thread.c.o
+
+__/scopmath/newton_thread.i: __/scopmath/newton_thread.c.i
+.PHONY : __/scopmath/newton_thread.i
+
+# target to preprocess a source file
+__/scopmath/newton_thread.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.i
+.PHONY : __/scopmath/newton_thread.c.i
+
+__/scopmath/newton_thread.s: __/scopmath/newton_thread.c.s
+.PHONY : __/scopmath/newton_thread.s
+
+# target to generate assembly for a file
+__/scopmath/newton_thread.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/newton_thread.c.s
+.PHONY : __/scopmath/newton_thread.c.s
+
+__/scopmath/normrand.o: __/scopmath/normrand.c.o
+.PHONY : __/scopmath/normrand.o
+
+# target to build an object file
+__/scopmath/normrand.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.o
+.PHONY : __/scopmath/normrand.c.o
+
+__/scopmath/normrand.i: __/scopmath/normrand.c.i
+.PHONY : __/scopmath/normrand.i
+
+# target to preprocess a source file
+__/scopmath/normrand.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.i
+.PHONY : __/scopmath/normrand.c.i
+
+__/scopmath/normrand.s: __/scopmath/normrand.c.s
+.PHONY : __/scopmath/normrand.s
+
+# target to generate assembly for a file
+__/scopmath/normrand.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/normrand.c.s
+.PHONY : __/scopmath/normrand.c.s
+
+__/scopmath/perpulse.o: __/scopmath/perpulse.c.o
+.PHONY : __/scopmath/perpulse.o
+
+# target to build an object file
+__/scopmath/perpulse.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.o
+.PHONY : __/scopmath/perpulse.c.o
+
+__/scopmath/perpulse.i: __/scopmath/perpulse.c.i
+.PHONY : __/scopmath/perpulse.i
+
+# target to preprocess a source file
+__/scopmath/perpulse.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.i
+.PHONY : __/scopmath/perpulse.c.i
+
+__/scopmath/perpulse.s: __/scopmath/perpulse.c.s
+.PHONY : __/scopmath/perpulse.s
+
+# target to generate assembly for a file
+__/scopmath/perpulse.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perpulse.c.s
+.PHONY : __/scopmath/perpulse.c.s
+
+__/scopmath/perstep.o: __/scopmath/perstep.c.o
+.PHONY : __/scopmath/perstep.o
+
+# target to build an object file
+__/scopmath/perstep.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.o
+.PHONY : __/scopmath/perstep.c.o
+
+__/scopmath/perstep.i: __/scopmath/perstep.c.i
+.PHONY : __/scopmath/perstep.i
+
+# target to preprocess a source file
+__/scopmath/perstep.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.i
+.PHONY : __/scopmath/perstep.c.i
+
+__/scopmath/perstep.s: __/scopmath/perstep.c.s
+.PHONY : __/scopmath/perstep.s
+
+# target to generate assembly for a file
+__/scopmath/perstep.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/perstep.c.s
+.PHONY : __/scopmath/perstep.c.s
+
+__/scopmath/poisrand.o: __/scopmath/poisrand.c.o
+.PHONY : __/scopmath/poisrand.o
+
+# target to build an object file
+__/scopmath/poisrand.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.o
+.PHONY : __/scopmath/poisrand.c.o
+
+__/scopmath/poisrand.i: __/scopmath/poisrand.c.i
+.PHONY : __/scopmath/poisrand.i
+
+# target to preprocess a source file
+__/scopmath/poisrand.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.i
+.PHONY : __/scopmath/poisrand.c.i
+
+__/scopmath/poisrand.s: __/scopmath/poisrand.c.s
+.PHONY : __/scopmath/poisrand.s
+
+# target to generate assembly for a file
+__/scopmath/poisrand.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisrand.c.s
+.PHONY : __/scopmath/poisrand.c.s
+
+__/scopmath/poisson.o: __/scopmath/poisson.c.o
+.PHONY : __/scopmath/poisson.o
+
+# target to build an object file
+__/scopmath/poisson.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.o
+.PHONY : __/scopmath/poisson.c.o
+
+__/scopmath/poisson.i: __/scopmath/poisson.c.i
+.PHONY : __/scopmath/poisson.i
+
+# target to preprocess a source file
+__/scopmath/poisson.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.i
+.PHONY : __/scopmath/poisson.c.i
+
+__/scopmath/poisson.s: __/scopmath/poisson.c.s
+.PHONY : __/scopmath/poisson.s
+
+# target to generate assembly for a file
+__/scopmath/poisson.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/poisson.c.s
+.PHONY : __/scopmath/poisson.c.s
+
+__/scopmath/praxis.o: __/scopmath/praxis.c.o
+.PHONY : __/scopmath/praxis.o
+
+# target to build an object file
+__/scopmath/praxis.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.o
+.PHONY : __/scopmath/praxis.c.o
+
+__/scopmath/praxis.i: __/scopmath/praxis.c.i
+.PHONY : __/scopmath/praxis.i
+
+# target to preprocess a source file
+__/scopmath/praxis.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.i
+.PHONY : __/scopmath/praxis.c.i
+
+__/scopmath/praxis.s: __/scopmath/praxis.c.s
+.PHONY : __/scopmath/praxis.s
+
+# target to generate assembly for a file
+__/scopmath/praxis.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/praxis.c.s
+.PHONY : __/scopmath/praxis.c.s
+
+__/scopmath/pulse.o: __/scopmath/pulse.c.o
+.PHONY : __/scopmath/pulse.o
+
+# target to build an object file
+__/scopmath/pulse.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.o
+.PHONY : __/scopmath/pulse.c.o
+
+__/scopmath/pulse.i: __/scopmath/pulse.c.i
+.PHONY : __/scopmath/pulse.i
+
+# target to preprocess a source file
+__/scopmath/pulse.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.i
+.PHONY : __/scopmath/pulse.c.i
+
+__/scopmath/pulse.s: __/scopmath/pulse.c.s
+.PHONY : __/scopmath/pulse.s
+
+# target to generate assembly for a file
+__/scopmath/pulse.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/pulse.c.s
+.PHONY : __/scopmath/pulse.c.s
+
+__/scopmath/quad.o: __/scopmath/quad.c.o
+.PHONY : __/scopmath/quad.o
+
+# target to build an object file
+__/scopmath/quad.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.o
+.PHONY : __/scopmath/quad.c.o
+
+__/scopmath/quad.i: __/scopmath/quad.c.i
+.PHONY : __/scopmath/quad.i
+
+# target to preprocess a source file
+__/scopmath/quad.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.i
+.PHONY : __/scopmath/quad.c.i
+
+__/scopmath/quad.s: __/scopmath/quad.c.s
+.PHONY : __/scopmath/quad.s
+
+# target to generate assembly for a file
+__/scopmath/quad.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/quad.c.s
+.PHONY : __/scopmath/quad.c.s
+
+__/scopmath/ramp.o: __/scopmath/ramp.c.o
+.PHONY : __/scopmath/ramp.o
+
+# target to build an object file
+__/scopmath/ramp.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.o
+.PHONY : __/scopmath/ramp.c.o
+
+__/scopmath/ramp.i: __/scopmath/ramp.c.i
+.PHONY : __/scopmath/ramp.i
+
+# target to preprocess a source file
+__/scopmath/ramp.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.i
+.PHONY : __/scopmath/ramp.c.i
+
+__/scopmath/ramp.s: __/scopmath/ramp.c.s
+.PHONY : __/scopmath/ramp.s
+
+# target to generate assembly for a file
+__/scopmath/ramp.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ramp.c.s
+.PHONY : __/scopmath/ramp.c.s
+
+__/scopmath/revhyper.o: __/scopmath/revhyper.c.o
+.PHONY : __/scopmath/revhyper.o
+
+# target to build an object file
+__/scopmath/revhyper.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.o
+.PHONY : __/scopmath/revhyper.c.o
+
+__/scopmath/revhyper.i: __/scopmath/revhyper.c.i
+.PHONY : __/scopmath/revhyper.i
+
+# target to preprocess a source file
+__/scopmath/revhyper.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.i
+.PHONY : __/scopmath/revhyper.c.i
+
+__/scopmath/revhyper.s: __/scopmath/revhyper.c.s
+.PHONY : __/scopmath/revhyper.s
+
+# target to generate assembly for a file
+__/scopmath/revhyper.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revhyper.c.s
+.PHONY : __/scopmath/revhyper.c.s
+
+__/scopmath/revsawto.o: __/scopmath/revsawto.c.o
+.PHONY : __/scopmath/revsawto.o
+
+# target to build an object file
+__/scopmath/revsawto.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.o
+.PHONY : __/scopmath/revsawto.c.o
+
+__/scopmath/revsawto.i: __/scopmath/revsawto.c.i
+.PHONY : __/scopmath/revsawto.i
+
+# target to preprocess a source file
+__/scopmath/revsawto.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.i
+.PHONY : __/scopmath/revsawto.c.i
+
+__/scopmath/revsawto.s: __/scopmath/revsawto.c.s
+.PHONY : __/scopmath/revsawto.s
+
+# target to generate assembly for a file
+__/scopmath/revsawto.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsawto.c.s
+.PHONY : __/scopmath/revsawto.c.s
+
+__/scopmath/revsigmo.o: __/scopmath/revsigmo.c.o
+.PHONY : __/scopmath/revsigmo.o
+
+# target to build an object file
+__/scopmath/revsigmo.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.o
+.PHONY : __/scopmath/revsigmo.c.o
+
+__/scopmath/revsigmo.i: __/scopmath/revsigmo.c.i
+.PHONY : __/scopmath/revsigmo.i
+
+# target to preprocess a source file
+__/scopmath/revsigmo.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.i
+.PHONY : __/scopmath/revsigmo.c.i
+
+__/scopmath/revsigmo.s: __/scopmath/revsigmo.c.s
+.PHONY : __/scopmath/revsigmo.s
+
+# target to generate assembly for a file
+__/scopmath/revsigmo.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/revsigmo.c.s
+.PHONY : __/scopmath/revsigmo.c.s
+
+__/scopmath/romberg.o: __/scopmath/romberg.c.o
+.PHONY : __/scopmath/romberg.o
+
+# target to build an object file
+__/scopmath/romberg.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.o
+.PHONY : __/scopmath/romberg.c.o
+
+__/scopmath/romberg.i: __/scopmath/romberg.c.i
+.PHONY : __/scopmath/romberg.i
+
+# target to preprocess a source file
+__/scopmath/romberg.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.i
+.PHONY : __/scopmath/romberg.c.i
+
+__/scopmath/romberg.s: __/scopmath/romberg.c.s
+.PHONY : __/scopmath/romberg.s
+
+# target to generate assembly for a file
+__/scopmath/romberg.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/romberg.c.s
+.PHONY : __/scopmath/romberg.c.s
+
+__/scopmath/runge.o: __/scopmath/runge.c.o
+.PHONY : __/scopmath/runge.o
+
+# target to build an object file
+__/scopmath/runge.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.o
+.PHONY : __/scopmath/runge.c.o
+
+__/scopmath/runge.i: __/scopmath/runge.c.i
+.PHONY : __/scopmath/runge.i
+
+# target to preprocess a source file
+__/scopmath/runge.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.i
+.PHONY : __/scopmath/runge.c.i
+
+__/scopmath/runge.s: __/scopmath/runge.c.s
+.PHONY : __/scopmath/runge.s
+
+# target to generate assembly for a file
+__/scopmath/runge.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/runge.c.s
+.PHONY : __/scopmath/runge.c.s
+
+__/scopmath/sawtooth.o: __/scopmath/sawtooth.c.o
+.PHONY : __/scopmath/sawtooth.o
+
+# target to build an object file
+__/scopmath/sawtooth.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.o
+.PHONY : __/scopmath/sawtooth.c.o
+
+__/scopmath/sawtooth.i: __/scopmath/sawtooth.c.i
+.PHONY : __/scopmath/sawtooth.i
+
+# target to preprocess a source file
+__/scopmath/sawtooth.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.i
+.PHONY : __/scopmath/sawtooth.c.i
+
+__/scopmath/sawtooth.s: __/scopmath/sawtooth.c.s
+.PHONY : __/scopmath/sawtooth.s
+
+# target to generate assembly for a file
+__/scopmath/sawtooth.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sawtooth.c.s
+.PHONY : __/scopmath/sawtooth.c.s
+
+__/scopmath/schedule.o: __/scopmath/schedule.c.o
+.PHONY : __/scopmath/schedule.o
+
+# target to build an object file
+__/scopmath/schedule.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.o
+.PHONY : __/scopmath/schedule.c.o
+
+__/scopmath/schedule.i: __/scopmath/schedule.c.i
+.PHONY : __/scopmath/schedule.i
+
+# target to preprocess a source file
+__/scopmath/schedule.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.i
+.PHONY : __/scopmath/schedule.c.i
+
+__/scopmath/schedule.s: __/scopmath/schedule.c.s
+.PHONY : __/scopmath/schedule.s
+
+# target to generate assembly for a file
+__/scopmath/schedule.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/schedule.c.s
+.PHONY : __/scopmath/schedule.c.s
+
+__/scopmath/scoperf.o: __/scopmath/scoperf.c.o
+.PHONY : __/scopmath/scoperf.o
+
+# target to build an object file
+__/scopmath/scoperf.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.o
+.PHONY : __/scopmath/scoperf.c.o
+
+__/scopmath/scoperf.i: __/scopmath/scoperf.c.i
+.PHONY : __/scopmath/scoperf.i
+
+# target to preprocess a source file
+__/scopmath/scoperf.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.i
+.PHONY : __/scopmath/scoperf.c.i
+
+__/scopmath/scoperf.s: __/scopmath/scoperf.c.s
+.PHONY : __/scopmath/scoperf.s
+
+# target to generate assembly for a file
+__/scopmath/scoperf.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/scoperf.c.s
+.PHONY : __/scopmath/scoperf.c.s
+
+__/scopmath/seidel.o: __/scopmath/seidel.c.o
+.PHONY : __/scopmath/seidel.o
+
+# target to build an object file
+__/scopmath/seidel.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.o
+.PHONY : __/scopmath/seidel.c.o
+
+__/scopmath/seidel.i: __/scopmath/seidel.c.i
+.PHONY : __/scopmath/seidel.i
+
+# target to preprocess a source file
+__/scopmath/seidel.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.i
+.PHONY : __/scopmath/seidel.c.i
+
+__/scopmath/seidel.s: __/scopmath/seidel.c.s
+.PHONY : __/scopmath/seidel.s
+
+# target to generate assembly for a file
+__/scopmath/seidel.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/seidel.c.s
+.PHONY : __/scopmath/seidel.c.s
+
+__/scopmath/sigmoid.o: __/scopmath/sigmoid.c.o
+.PHONY : __/scopmath/sigmoid.o
+
+# target to build an object file
+__/scopmath/sigmoid.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.o
+.PHONY : __/scopmath/sigmoid.c.o
+
+__/scopmath/sigmoid.i: __/scopmath/sigmoid.c.i
+.PHONY : __/scopmath/sigmoid.i
+
+# target to preprocess a source file
+__/scopmath/sigmoid.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.i
+.PHONY : __/scopmath/sigmoid.c.i
+
+__/scopmath/sigmoid.s: __/scopmath/sigmoid.c.s
+.PHONY : __/scopmath/sigmoid.s
+
+# target to generate assembly for a file
+__/scopmath/sigmoid.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sigmoid.c.s
+.PHONY : __/scopmath/sigmoid.c.s
+
+__/scopmath/simeq.o: __/scopmath/simeq.c.o
+.PHONY : __/scopmath/simeq.o
+
+# target to build an object file
+__/scopmath/simeq.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.o
+.PHONY : __/scopmath/simeq.c.o
+
+__/scopmath/simeq.i: __/scopmath/simeq.c.i
+.PHONY : __/scopmath/simeq.i
+
+# target to preprocess a source file
+__/scopmath/simeq.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.i
+.PHONY : __/scopmath/simeq.c.i
+
+__/scopmath/simeq.s: __/scopmath/simeq.c.s
+.PHONY : __/scopmath/simeq.s
+
+# target to generate assembly for a file
+__/scopmath/simeq.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simeq.c.s
+.PHONY : __/scopmath/simeq.c.s
+
+__/scopmath/simplex.o: __/scopmath/simplex.c.o
+.PHONY : __/scopmath/simplex.o
+
+# target to build an object file
+__/scopmath/simplex.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.o
+.PHONY : __/scopmath/simplex.c.o
+
+__/scopmath/simplex.i: __/scopmath/simplex.c.i
+.PHONY : __/scopmath/simplex.i
+
+# target to preprocess a source file
+__/scopmath/simplex.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.i
+.PHONY : __/scopmath/simplex.c.i
+
+__/scopmath/simplex.s: __/scopmath/simplex.c.s
+.PHONY : __/scopmath/simplex.s
+
+# target to generate assembly for a file
+__/scopmath/simplex.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/simplex.c.s
+.PHONY : __/scopmath/simplex.c.s
+
+__/scopmath/sparse.o: __/scopmath/sparse.c.o
+.PHONY : __/scopmath/sparse.o
+
+# target to build an object file
+__/scopmath/sparse.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.o
+.PHONY : __/scopmath/sparse.c.o
+
+__/scopmath/sparse.i: __/scopmath/sparse.c.i
+.PHONY : __/scopmath/sparse.i
+
+# target to preprocess a source file
+__/scopmath/sparse.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.i
+.PHONY : __/scopmath/sparse.c.i
+
+__/scopmath/sparse.s: __/scopmath/sparse.c.s
+.PHONY : __/scopmath/sparse.s
+
+# target to generate assembly for a file
+__/scopmath/sparse.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse.c.s
+.PHONY : __/scopmath/sparse.c.s
+
+__/scopmath/sparse_thread.o: __/scopmath/sparse_thread.c.o
+.PHONY : __/scopmath/sparse_thread.o
+
+# target to build an object file
+__/scopmath/sparse_thread.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.o
+.PHONY : __/scopmath/sparse_thread.c.o
+
+__/scopmath/sparse_thread.i: __/scopmath/sparse_thread.c.i
+.PHONY : __/scopmath/sparse_thread.i
+
+# target to preprocess a source file
+__/scopmath/sparse_thread.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.i
+.PHONY : __/scopmath/sparse_thread.c.i
+
+__/scopmath/sparse_thread.s: __/scopmath/sparse_thread.c.s
+.PHONY : __/scopmath/sparse_thread.s
+
+# target to generate assembly for a file
+__/scopmath/sparse_thread.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/sparse_thread.c.s
+.PHONY : __/scopmath/sparse_thread.c.s
+
+__/scopmath/spline.o: __/scopmath/spline.c.o
+.PHONY : __/scopmath/spline.o
+
+# target to build an object file
+__/scopmath/spline.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.o
+.PHONY : __/scopmath/spline.c.o
+
+__/scopmath/spline.i: __/scopmath/spline.c.i
+.PHONY : __/scopmath/spline.i
+
+# target to preprocess a source file
+__/scopmath/spline.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.i
+.PHONY : __/scopmath/spline.c.i
+
+__/scopmath/spline.s: __/scopmath/spline.c.s
+.PHONY : __/scopmath/spline.s
+
+# target to generate assembly for a file
+__/scopmath/spline.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/spline.c.s
+.PHONY : __/scopmath/spline.c.s
+
+__/scopmath/squarewa.o: __/scopmath/squarewa.c.o
+.PHONY : __/scopmath/squarewa.o
+
+# target to build an object file
+__/scopmath/squarewa.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.o
+.PHONY : __/scopmath/squarewa.c.o
+
+__/scopmath/squarewa.i: __/scopmath/squarewa.c.i
+.PHONY : __/scopmath/squarewa.i
+
+# target to preprocess a source file
+__/scopmath/squarewa.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.i
+.PHONY : __/scopmath/squarewa.c.i
+
+__/scopmath/squarewa.s: __/scopmath/squarewa.c.s
+.PHONY : __/scopmath/squarewa.s
+
+# target to generate assembly for a file
+__/scopmath/squarewa.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/squarewa.c.s
+.PHONY : __/scopmath/squarewa.c.s
+
+__/scopmath/ssimplic.o: __/scopmath/ssimplic.c.o
+.PHONY : __/scopmath/ssimplic.o
+
+# target to build an object file
+__/scopmath/ssimplic.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.o
+.PHONY : __/scopmath/ssimplic.c.o
+
+__/scopmath/ssimplic.i: __/scopmath/ssimplic.c.i
+.PHONY : __/scopmath/ssimplic.i
+
+# target to preprocess a source file
+__/scopmath/ssimplic.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.i
+.PHONY : __/scopmath/ssimplic.c.i
+
+__/scopmath/ssimplic.s: __/scopmath/ssimplic.c.s
+.PHONY : __/scopmath/ssimplic.s
+
+# target to generate assembly for a file
+__/scopmath/ssimplic.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic.c.s
+.PHONY : __/scopmath/ssimplic.c.s
+
+__/scopmath/ssimplic_thread.o: __/scopmath/ssimplic_thread.c.o
+.PHONY : __/scopmath/ssimplic_thread.o
+
+# target to build an object file
+__/scopmath/ssimplic_thread.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.o
+.PHONY : __/scopmath/ssimplic_thread.c.o
+
+__/scopmath/ssimplic_thread.i: __/scopmath/ssimplic_thread.c.i
+.PHONY : __/scopmath/ssimplic_thread.i
+
+# target to preprocess a source file
+__/scopmath/ssimplic_thread.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.i
+.PHONY : __/scopmath/ssimplic_thread.c.i
+
+__/scopmath/ssimplic_thread.s: __/scopmath/ssimplic_thread.c.s
+.PHONY : __/scopmath/ssimplic_thread.s
+
+# target to generate assembly for a file
+__/scopmath/ssimplic_thread.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/ssimplic_thread.c.s
+.PHONY : __/scopmath/ssimplic_thread.c.s
+
+__/scopmath/step.o: __/scopmath/step.c.o
+.PHONY : __/scopmath/step.o
+
+# target to build an object file
+__/scopmath/step.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.o
+.PHONY : __/scopmath/step.c.o
+
+__/scopmath/step.i: __/scopmath/step.c.i
+.PHONY : __/scopmath/step.i
+
+# target to preprocess a source file
+__/scopmath/step.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.i
+.PHONY : __/scopmath/step.c.i
+
+__/scopmath/step.s: __/scopmath/step.c.s
+.PHONY : __/scopmath/step.s
+
+# target to generate assembly for a file
+__/scopmath/step.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/step.c.s
+.PHONY : __/scopmath/step.c.s
+
+__/scopmath/threshol.o: __/scopmath/threshol.c.o
+.PHONY : __/scopmath/threshol.o
+
+# target to build an object file
+__/scopmath/threshol.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.o
+.PHONY : __/scopmath/threshol.c.o
+
+__/scopmath/threshol.i: __/scopmath/threshol.c.i
+.PHONY : __/scopmath/threshol.i
+
+# target to preprocess a source file
+__/scopmath/threshol.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.i
+.PHONY : __/scopmath/threshol.c.i
+
+__/scopmath/threshol.s: __/scopmath/threshol.c.s
+.PHONY : __/scopmath/threshol.s
+
+# target to generate assembly for a file
+__/scopmath/threshol.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/threshol.c.s
+.PHONY : __/scopmath/threshol.c.s
+
+__/scopmath/tridiag.o: __/scopmath/tridiag.c.o
+.PHONY : __/scopmath/tridiag.o
+
+# target to build an object file
+__/scopmath/tridiag.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.o
+.PHONY : __/scopmath/tridiag.c.o
+
+__/scopmath/tridiag.i: __/scopmath/tridiag.c.i
+.PHONY : __/scopmath/tridiag.i
+
+# target to preprocess a source file
+__/scopmath/tridiag.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.i
+.PHONY : __/scopmath/tridiag.c.i
+
+__/scopmath/tridiag.s: __/scopmath/tridiag.c.s
+.PHONY : __/scopmath/tridiag.s
+
+# target to generate assembly for a file
+__/scopmath/tridiag.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/tridiag.c.s
+.PHONY : __/scopmath/tridiag.c.s
+
+__/scopmath/vsparse.o: __/scopmath/vsparse.c.o
+.PHONY : __/scopmath/vsparse.o
+
+# target to build an object file
+__/scopmath/vsparse.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.o
+.PHONY : __/scopmath/vsparse.c.o
+
+__/scopmath/vsparse.i: __/scopmath/vsparse.c.i
+.PHONY : __/scopmath/vsparse.i
+
+# target to preprocess a source file
+__/scopmath/vsparse.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.i
+.PHONY : __/scopmath/vsparse.c.i
+
+__/scopmath/vsparse.s: __/scopmath/vsparse.c.s
+.PHONY : __/scopmath/vsparse.s
+
+# target to generate assembly for a file
+__/scopmath/vsparse.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/scopmath/vsparse.c.s
+.PHONY : __/scopmath/vsparse.c.s
+
+__/sparse/bksub.o: __/sparse/bksub.cpp.o
+.PHONY : __/sparse/bksub.o
+
+# target to build an object file
+__/sparse/bksub.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.o
+.PHONY : __/sparse/bksub.cpp.o
+
+__/sparse/bksub.i: __/sparse/bksub.cpp.i
+.PHONY : __/sparse/bksub.i
+
+# target to preprocess a source file
+__/sparse/bksub.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.i
+.PHONY : __/sparse/bksub.cpp.i
+
+__/sparse/bksub.s: __/sparse/bksub.cpp.s
+.PHONY : __/sparse/bksub.s
+
+# target to generate assembly for a file
+__/sparse/bksub.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/bksub.cpp.s
+.PHONY : __/sparse/bksub.cpp.s
+
+__/sparse/getelm.o: __/sparse/getelm.cpp.o
+.PHONY : __/sparse/getelm.o
+
+# target to build an object file
+__/sparse/getelm.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.o
+.PHONY : __/sparse/getelm.cpp.o
+
+__/sparse/getelm.i: __/sparse/getelm.cpp.i
+.PHONY : __/sparse/getelm.i
+
+# target to preprocess a source file
+__/sparse/getelm.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.i
+.PHONY : __/sparse/getelm.cpp.i
+
+__/sparse/getelm.s: __/sparse/getelm.cpp.s
+.PHONY : __/sparse/getelm.s
+
+# target to generate assembly for a file
+__/sparse/getelm.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/getelm.cpp.s
+.PHONY : __/sparse/getelm.cpp.s
+
+__/sparse/lineq.o: __/sparse/lineq.cpp.o
+.PHONY : __/sparse/lineq.o
+
+# target to build an object file
+__/sparse/lineq.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.o
+.PHONY : __/sparse/lineq.cpp.o
+
+__/sparse/lineq.i: __/sparse/lineq.cpp.i
+.PHONY : __/sparse/lineq.i
+
+# target to preprocess a source file
+__/sparse/lineq.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.i
+.PHONY : __/sparse/lineq.cpp.i
+
+__/sparse/lineq.s: __/sparse/lineq.cpp.s
+.PHONY : __/sparse/lineq.s
+
+# target to generate assembly for a file
+__/sparse/lineq.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/lineq.cpp.s
+.PHONY : __/sparse/lineq.cpp.s
+
+__/sparse/prmat.o: __/sparse/prmat.cpp.o
+.PHONY : __/sparse/prmat.o
+
+# target to build an object file
+__/sparse/prmat.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.o
+.PHONY : __/sparse/prmat.cpp.o
+
+__/sparse/prmat.i: __/sparse/prmat.cpp.i
+.PHONY : __/sparse/prmat.i
+
+# target to preprocess a source file
+__/sparse/prmat.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.i
+.PHONY : __/sparse/prmat.cpp.i
+
+__/sparse/prmat.s: __/sparse/prmat.cpp.s
+.PHONY : __/sparse/prmat.s
+
+# target to generate assembly for a file
+__/sparse/prmat.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/prmat.cpp.s
+.PHONY : __/sparse/prmat.cpp.s
+
+__/sparse/subrows.o: __/sparse/subrows.cpp.o
+.PHONY : __/sparse/subrows.o
+
+# target to build an object file
+__/sparse/subrows.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.o
+.PHONY : __/sparse/subrows.cpp.o
+
+__/sparse/subrows.i: __/sparse/subrows.cpp.i
+.PHONY : __/sparse/subrows.i
+
+# target to preprocess a source file
+__/sparse/subrows.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.i
+.PHONY : __/sparse/subrows.cpp.i
+
+__/sparse/subrows.s: __/sparse/subrows.cpp.s
+.PHONY : __/sparse/subrows.s
+
+# target to generate assembly for a file
+__/sparse/subrows.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse/subrows.cpp.s
+.PHONY : __/sparse/subrows.cpp.s
+
+__/sparse13/cspalloc.o: __/sparse13/cspalloc.c.o
+.PHONY : __/sparse13/cspalloc.o
+
+# target to build an object file
+__/sparse13/cspalloc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.o
+.PHONY : __/sparse13/cspalloc.c.o
+
+__/sparse13/cspalloc.i: __/sparse13/cspalloc.c.i
+.PHONY : __/sparse13/cspalloc.i
+
+# target to preprocess a source file
+__/sparse13/cspalloc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.i
+.PHONY : __/sparse13/cspalloc.c.i
+
+__/sparse13/cspalloc.s: __/sparse13/cspalloc.c.s
+.PHONY : __/sparse13/cspalloc.s
+
+# target to generate assembly for a file
+__/sparse13/cspalloc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspalloc.c.s
+.PHONY : __/sparse13/cspalloc.c.s
+
+__/sparse13/cspbuild.o: __/sparse13/cspbuild.c.o
+.PHONY : __/sparse13/cspbuild.o
+
+# target to build an object file
+__/sparse13/cspbuild.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.o
+.PHONY : __/sparse13/cspbuild.c.o
+
+__/sparse13/cspbuild.i: __/sparse13/cspbuild.c.i
+.PHONY : __/sparse13/cspbuild.i
+
+# target to preprocess a source file
+__/sparse13/cspbuild.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.i
+.PHONY : __/sparse13/cspbuild.c.i
+
+__/sparse13/cspbuild.s: __/sparse13/cspbuild.c.s
+.PHONY : __/sparse13/cspbuild.s
+
+# target to generate assembly for a file
+__/sparse13/cspbuild.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspbuild.c.s
+.PHONY : __/sparse13/cspbuild.c.s
+
+__/sparse13/cspfactor.o: __/sparse13/cspfactor.c.o
+.PHONY : __/sparse13/cspfactor.o
+
+# target to build an object file
+__/sparse13/cspfactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.o
+.PHONY : __/sparse13/cspfactor.c.o
+
+__/sparse13/cspfactor.i: __/sparse13/cspfactor.c.i
+.PHONY : __/sparse13/cspfactor.i
+
+# target to preprocess a source file
+__/sparse13/cspfactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.i
+.PHONY : __/sparse13/cspfactor.c.i
+
+__/sparse13/cspfactor.s: __/sparse13/cspfactor.c.s
+.PHONY : __/sparse13/cspfactor.s
+
+# target to generate assembly for a file
+__/sparse13/cspfactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspfactor.c.s
+.PHONY : __/sparse13/cspfactor.c.s
+
+__/sparse13/cspoutput.o: __/sparse13/cspoutput.c.o
+.PHONY : __/sparse13/cspoutput.o
+
+# target to build an object file
+__/sparse13/cspoutput.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.o
+.PHONY : __/sparse13/cspoutput.c.o
+
+__/sparse13/cspoutput.i: __/sparse13/cspoutput.c.i
+.PHONY : __/sparse13/cspoutput.i
+
+# target to preprocess a source file
+__/sparse13/cspoutput.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.i
+.PHONY : __/sparse13/cspoutput.c.i
+
+__/sparse13/cspoutput.s: __/sparse13/cspoutput.c.s
+.PHONY : __/sparse13/cspoutput.s
+
+# target to generate assembly for a file
+__/sparse13/cspoutput.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspoutput.c.s
+.PHONY : __/sparse13/cspoutput.c.s
+
+__/sparse13/cspsolve.o: __/sparse13/cspsolve.c.o
+.PHONY : __/sparse13/cspsolve.o
+
+# target to build an object file
+__/sparse13/cspsolve.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.o
+.PHONY : __/sparse13/cspsolve.c.o
+
+__/sparse13/cspsolve.i: __/sparse13/cspsolve.c.i
+.PHONY : __/sparse13/cspsolve.i
+
+# target to preprocess a source file
+__/sparse13/cspsolve.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.i
+.PHONY : __/sparse13/cspsolve.c.i
+
+__/sparse13/cspsolve.s: __/sparse13/cspsolve.c.s
+.PHONY : __/sparse13/cspsolve.s
+
+# target to generate assembly for a file
+__/sparse13/cspsolve.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/cspsolve.c.s
+.PHONY : __/sparse13/cspsolve.c.s
+
+__/sparse13/csputils.o: __/sparse13/csputils.c.o
+.PHONY : __/sparse13/csputils.o
+
+# target to build an object file
+__/sparse13/csputils.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.o
+.PHONY : __/sparse13/csputils.c.o
+
+__/sparse13/csputils.i: __/sparse13/csputils.c.i
+.PHONY : __/sparse13/csputils.i
+
+# target to preprocess a source file
+__/sparse13/csputils.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.i
+.PHONY : __/sparse13/csputils.c.i
+
+__/sparse13/csputils.s: __/sparse13/csputils.c.s
+.PHONY : __/sparse13/csputils.s
+
+# target to generate assembly for a file
+__/sparse13/csputils.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/csputils.c.s
+.PHONY : __/sparse13/csputils.c.s
+
+__/sparse13/spalloc.o: __/sparse13/spalloc.c.o
+.PHONY : __/sparse13/spalloc.o
+
+# target to build an object file
+__/sparse13/spalloc.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.o
+.PHONY : __/sparse13/spalloc.c.o
+
+__/sparse13/spalloc.i: __/sparse13/spalloc.c.i
+.PHONY : __/sparse13/spalloc.i
+
+# target to preprocess a source file
+__/sparse13/spalloc.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.i
+.PHONY : __/sparse13/spalloc.c.i
+
+__/sparse13/spalloc.s: __/sparse13/spalloc.c.s
+.PHONY : __/sparse13/spalloc.s
+
+# target to generate assembly for a file
+__/sparse13/spalloc.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spalloc.c.s
+.PHONY : __/sparse13/spalloc.c.s
+
+__/sparse13/spbuild.o: __/sparse13/spbuild.c.o
+.PHONY : __/sparse13/spbuild.o
+
+# target to build an object file
+__/sparse13/spbuild.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.o
+.PHONY : __/sparse13/spbuild.c.o
+
+__/sparse13/spbuild.i: __/sparse13/spbuild.c.i
+.PHONY : __/sparse13/spbuild.i
+
+# target to preprocess a source file
+__/sparse13/spbuild.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.i
+.PHONY : __/sparse13/spbuild.c.i
+
+__/sparse13/spbuild.s: __/sparse13/spbuild.c.s
+.PHONY : __/sparse13/spbuild.s
+
+# target to generate assembly for a file
+__/sparse13/spbuild.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spbuild.c.s
+.PHONY : __/sparse13/spbuild.c.s
+
+__/sparse13/spfactor.o: __/sparse13/spfactor.c.o
+.PHONY : __/sparse13/spfactor.o
+
+# target to build an object file
+__/sparse13/spfactor.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.o
+.PHONY : __/sparse13/spfactor.c.o
+
+__/sparse13/spfactor.i: __/sparse13/spfactor.c.i
+.PHONY : __/sparse13/spfactor.i
+
+# target to preprocess a source file
+__/sparse13/spfactor.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.i
+.PHONY : __/sparse13/spfactor.c.i
+
+__/sparse13/spfactor.s: __/sparse13/spfactor.c.s
+.PHONY : __/sparse13/spfactor.s
+
+# target to generate assembly for a file
+__/sparse13/spfactor.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spfactor.c.s
+.PHONY : __/sparse13/spfactor.c.s
+
+__/sparse13/spoutput.o: __/sparse13/spoutput.c.o
+.PHONY : __/sparse13/spoutput.o
+
+# target to build an object file
+__/sparse13/spoutput.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.o
+.PHONY : __/sparse13/spoutput.c.o
+
+__/sparse13/spoutput.i: __/sparse13/spoutput.c.i
+.PHONY : __/sparse13/spoutput.i
+
+# target to preprocess a source file
+__/sparse13/spoutput.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.i
+.PHONY : __/sparse13/spoutput.c.i
+
+__/sparse13/spoutput.s: __/sparse13/spoutput.c.s
+.PHONY : __/sparse13/spoutput.s
+
+# target to generate assembly for a file
+__/sparse13/spoutput.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spoutput.c.s
+.PHONY : __/sparse13/spoutput.c.s
+
+__/sparse13/spsolve.o: __/sparse13/spsolve.c.o
+.PHONY : __/sparse13/spsolve.o
+
+# target to build an object file
+__/sparse13/spsolve.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.o
+.PHONY : __/sparse13/spsolve.c.o
+
+__/sparse13/spsolve.i: __/sparse13/spsolve.c.i
+.PHONY : __/sparse13/spsolve.i
+
+# target to preprocess a source file
+__/sparse13/spsolve.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.i
+.PHONY : __/sparse13/spsolve.c.i
+
+__/sparse13/spsolve.s: __/sparse13/spsolve.c.s
+.PHONY : __/sparse13/spsolve.s
+
+# target to generate assembly for a file
+__/sparse13/spsolve.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/spsolve.c.s
+.PHONY : __/sparse13/spsolve.c.s
+
+__/sparse13/sputils.o: __/sparse13/sputils.c.o
+.PHONY : __/sparse13/sputils.o
+
+# target to build an object file
+__/sparse13/sputils.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.o
+.PHONY : __/sparse13/sputils.c.o
+
+__/sparse13/sputils.i: __/sparse13/sputils.c.i
+.PHONY : __/sparse13/sputils.i
+
+# target to preprocess a source file
+__/sparse13/sputils.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.i
+.PHONY : __/sparse13/sputils.c.i
+
+__/sparse13/sputils.s: __/sparse13/sputils.c.s
+.PHONY : __/sparse13/sputils.s
+
+# target to generate assembly for a file
+__/sparse13/sputils.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sparse13/sputils.c.s
+.PHONY : __/sparse13/sputils.c.s
+
+__/sundials/cvodes/cvband.o: __/sundials/cvodes/cvband.c.o
+.PHONY : __/sundials/cvodes/cvband.o
+
+# target to build an object file
+__/sundials/cvodes/cvband.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.o
+.PHONY : __/sundials/cvodes/cvband.c.o
+
+__/sundials/cvodes/cvband.i: __/sundials/cvodes/cvband.c.i
+.PHONY : __/sundials/cvodes/cvband.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvband.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.i
+.PHONY : __/sundials/cvodes/cvband.c.i
+
+__/sundials/cvodes/cvband.s: __/sundials/cvodes/cvband.c.s
+.PHONY : __/sundials/cvodes/cvband.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvband.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvband.c.s
+.PHONY : __/sundials/cvodes/cvband.c.s
+
+__/sundials/cvodes/cvbandpre.o: __/sundials/cvodes/cvbandpre.c.o
+.PHONY : __/sundials/cvodes/cvbandpre.o
+
+# target to build an object file
+__/sundials/cvodes/cvbandpre.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.o
+.PHONY : __/sundials/cvodes/cvbandpre.c.o
+
+__/sundials/cvodes/cvbandpre.i: __/sundials/cvodes/cvbandpre.c.i
+.PHONY : __/sundials/cvodes/cvbandpre.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvbandpre.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.i
+.PHONY : __/sundials/cvodes/cvbandpre.c.i
+
+__/sundials/cvodes/cvbandpre.s: __/sundials/cvodes/cvbandpre.c.s
+.PHONY : __/sundials/cvodes/cvbandpre.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvbandpre.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbandpre.c.s
+.PHONY : __/sundials/cvodes/cvbandpre.c.s
+
+__/sundials/cvodes/cvbbdpre.o: __/sundials/cvodes/cvbbdpre.c.o
+.PHONY : __/sundials/cvodes/cvbbdpre.o
+
+# target to build an object file
+__/sundials/cvodes/cvbbdpre.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.o
+.PHONY : __/sundials/cvodes/cvbbdpre.c.o
+
+__/sundials/cvodes/cvbbdpre.i: __/sundials/cvodes/cvbbdpre.c.i
+.PHONY : __/sundials/cvodes/cvbbdpre.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvbbdpre.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.i
+.PHONY : __/sundials/cvodes/cvbbdpre.c.i
+
+__/sundials/cvodes/cvbbdpre.s: __/sundials/cvodes/cvbbdpre.c.s
+.PHONY : __/sundials/cvodes/cvbbdpre.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvbbdpre.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvbbdpre.c.s
+.PHONY : __/sundials/cvodes/cvbbdpre.c.s
+
+__/sundials/cvodes/cvdense.o: __/sundials/cvodes/cvdense.c.o
+.PHONY : __/sundials/cvodes/cvdense.o
+
+# target to build an object file
+__/sundials/cvodes/cvdense.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.o
+.PHONY : __/sundials/cvodes/cvdense.c.o
+
+__/sundials/cvodes/cvdense.i: __/sundials/cvodes/cvdense.c.i
+.PHONY : __/sundials/cvodes/cvdense.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvdense.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.i
+.PHONY : __/sundials/cvodes/cvdense.c.i
+
+__/sundials/cvodes/cvdense.s: __/sundials/cvodes/cvdense.c.s
+.PHONY : __/sundials/cvodes/cvdense.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvdense.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdense.c.s
+.PHONY : __/sundials/cvodes/cvdense.c.s
+
+__/sundials/cvodes/cvdiag.o: __/sundials/cvodes/cvdiag.c.o
+.PHONY : __/sundials/cvodes/cvdiag.o
+
+# target to build an object file
+__/sundials/cvodes/cvdiag.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.o
+.PHONY : __/sundials/cvodes/cvdiag.c.o
+
+__/sundials/cvodes/cvdiag.i: __/sundials/cvodes/cvdiag.c.i
+.PHONY : __/sundials/cvodes/cvdiag.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvdiag.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.i
+.PHONY : __/sundials/cvodes/cvdiag.c.i
+
+__/sundials/cvodes/cvdiag.s: __/sundials/cvodes/cvdiag.c.s
+.PHONY : __/sundials/cvodes/cvdiag.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvdiag.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvdiag.c.s
+.PHONY : __/sundials/cvodes/cvdiag.c.s
+
+__/sundials/cvodes/cvodea.o: __/sundials/cvodes/cvodea.c.o
+.PHONY : __/sundials/cvodes/cvodea.o
+
+# target to build an object file
+__/sundials/cvodes/cvodea.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.o
+.PHONY : __/sundials/cvodes/cvodea.c.o
+
+__/sundials/cvodes/cvodea.i: __/sundials/cvodes/cvodea.c.i
+.PHONY : __/sundials/cvodes/cvodea.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvodea.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.i
+.PHONY : __/sundials/cvodes/cvodea.c.i
+
+__/sundials/cvodes/cvodea.s: __/sundials/cvodes/cvodea.c.s
+.PHONY : __/sundials/cvodes/cvodea.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvodea.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodea.c.s
+.PHONY : __/sundials/cvodes/cvodea.c.s
+
+__/sundials/cvodes/cvodes.o: __/sundials/cvodes/cvodes.c.o
+.PHONY : __/sundials/cvodes/cvodes.o
+
+# target to build an object file
+__/sundials/cvodes/cvodes.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.o
+.PHONY : __/sundials/cvodes/cvodes.c.o
+
+__/sundials/cvodes/cvodes.i: __/sundials/cvodes/cvodes.c.i
+.PHONY : __/sundials/cvodes/cvodes.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvodes.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.i
+.PHONY : __/sundials/cvodes/cvodes.c.i
+
+__/sundials/cvodes/cvodes.s: __/sundials/cvodes/cvodes.c.s
+.PHONY : __/sundials/cvodes/cvodes.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvodes.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodes.c.s
+.PHONY : __/sundials/cvodes/cvodes.c.s
+
+__/sundials/cvodes/cvodesio.o: __/sundials/cvodes/cvodesio.c.o
+.PHONY : __/sundials/cvodes/cvodesio.o
+
+# target to build an object file
+__/sundials/cvodes/cvodesio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.o
+.PHONY : __/sundials/cvodes/cvodesio.c.o
+
+__/sundials/cvodes/cvodesio.i: __/sundials/cvodes/cvodesio.c.i
+.PHONY : __/sundials/cvodes/cvodesio.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvodesio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.i
+.PHONY : __/sundials/cvodes/cvodesio.c.i
+
+__/sundials/cvodes/cvodesio.s: __/sundials/cvodes/cvodesio.c.s
+.PHONY : __/sundials/cvodes/cvodesio.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvodesio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvodesio.c.s
+.PHONY : __/sundials/cvodes/cvodesio.c.s
+
+__/sundials/cvodes/cvspgmr.o: __/sundials/cvodes/cvspgmr.c.o
+.PHONY : __/sundials/cvodes/cvspgmr.o
+
+# target to build an object file
+__/sundials/cvodes/cvspgmr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.o
+.PHONY : __/sundials/cvodes/cvspgmr.c.o
+
+__/sundials/cvodes/cvspgmr.i: __/sundials/cvodes/cvspgmr.c.i
+.PHONY : __/sundials/cvodes/cvspgmr.i
+
+# target to preprocess a source file
+__/sundials/cvodes/cvspgmr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.i
+.PHONY : __/sundials/cvodes/cvspgmr.c.i
+
+__/sundials/cvodes/cvspgmr.s: __/sundials/cvodes/cvspgmr.c.s
+.PHONY : __/sundials/cvodes/cvspgmr.s
+
+# target to generate assembly for a file
+__/sundials/cvodes/cvspgmr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/cvodes/cvspgmr.c.s
+.PHONY : __/sundials/cvodes/cvspgmr.c.s
+
+__/sundials/ida/ida.o: __/sundials/ida/ida.c.o
+.PHONY : __/sundials/ida/ida.o
+
+# target to build an object file
+__/sundials/ida/ida.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.o
+.PHONY : __/sundials/ida/ida.c.o
+
+__/sundials/ida/ida.i: __/sundials/ida/ida.c.i
+.PHONY : __/sundials/ida/ida.i
+
+# target to preprocess a source file
+__/sundials/ida/ida.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.i
+.PHONY : __/sundials/ida/ida.c.i
+
+__/sundials/ida/ida.s: __/sundials/ida/ida.c.s
+.PHONY : __/sundials/ida/ida.s
+
+# target to generate assembly for a file
+__/sundials/ida/ida.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/ida.c.s
+.PHONY : __/sundials/ida/ida.c.s
+
+__/sundials/ida/idaband.o: __/sundials/ida/idaband.c.o
+.PHONY : __/sundials/ida/idaband.o
+
+# target to build an object file
+__/sundials/ida/idaband.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.o
+.PHONY : __/sundials/ida/idaband.c.o
+
+__/sundials/ida/idaband.i: __/sundials/ida/idaband.c.i
+.PHONY : __/sundials/ida/idaband.i
+
+# target to preprocess a source file
+__/sundials/ida/idaband.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.i
+.PHONY : __/sundials/ida/idaband.c.i
+
+__/sundials/ida/idaband.s: __/sundials/ida/idaband.c.s
+.PHONY : __/sundials/ida/idaband.s
+
+# target to generate assembly for a file
+__/sundials/ida/idaband.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaband.c.s
+.PHONY : __/sundials/ida/idaband.c.s
+
+__/sundials/ida/idabbdpre.o: __/sundials/ida/idabbdpre.c.o
+.PHONY : __/sundials/ida/idabbdpre.o
+
+# target to build an object file
+__/sundials/ida/idabbdpre.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.o
+.PHONY : __/sundials/ida/idabbdpre.c.o
+
+__/sundials/ida/idabbdpre.i: __/sundials/ida/idabbdpre.c.i
+.PHONY : __/sundials/ida/idabbdpre.i
+
+# target to preprocess a source file
+__/sundials/ida/idabbdpre.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.i
+.PHONY : __/sundials/ida/idabbdpre.c.i
+
+__/sundials/ida/idabbdpre.s: __/sundials/ida/idabbdpre.c.s
+.PHONY : __/sundials/ida/idabbdpre.s
+
+# target to generate assembly for a file
+__/sundials/ida/idabbdpre.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idabbdpre.c.s
+.PHONY : __/sundials/ida/idabbdpre.c.s
+
+__/sundials/ida/idadense.o: __/sundials/ida/idadense.c.o
+.PHONY : __/sundials/ida/idadense.o
+
+# target to build an object file
+__/sundials/ida/idadense.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.o
+.PHONY : __/sundials/ida/idadense.c.o
+
+__/sundials/ida/idadense.i: __/sundials/ida/idadense.c.i
+.PHONY : __/sundials/ida/idadense.i
+
+# target to preprocess a source file
+__/sundials/ida/idadense.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.i
+.PHONY : __/sundials/ida/idadense.c.i
+
+__/sundials/ida/idadense.s: __/sundials/ida/idadense.c.s
+.PHONY : __/sundials/ida/idadense.s
+
+# target to generate assembly for a file
+__/sundials/ida/idadense.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idadense.c.s
+.PHONY : __/sundials/ida/idadense.c.s
+
+__/sundials/ida/idaic.o: __/sundials/ida/idaic.c.o
+.PHONY : __/sundials/ida/idaic.o
+
+# target to build an object file
+__/sundials/ida/idaic.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.o
+.PHONY : __/sundials/ida/idaic.c.o
+
+__/sundials/ida/idaic.i: __/sundials/ida/idaic.c.i
+.PHONY : __/sundials/ida/idaic.i
+
+# target to preprocess a source file
+__/sundials/ida/idaic.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.i
+.PHONY : __/sundials/ida/idaic.c.i
+
+__/sundials/ida/idaic.s: __/sundials/ida/idaic.c.s
+.PHONY : __/sundials/ida/idaic.s
+
+# target to generate assembly for a file
+__/sundials/ida/idaic.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaic.c.s
+.PHONY : __/sundials/ida/idaic.c.s
+
+__/sundials/ida/idaio.o: __/sundials/ida/idaio.c.o
+.PHONY : __/sundials/ida/idaio.o
+
+# target to build an object file
+__/sundials/ida/idaio.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.o
+.PHONY : __/sundials/ida/idaio.c.o
+
+__/sundials/ida/idaio.i: __/sundials/ida/idaio.c.i
+.PHONY : __/sundials/ida/idaio.i
+
+# target to preprocess a source file
+__/sundials/ida/idaio.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.i
+.PHONY : __/sundials/ida/idaio.c.i
+
+__/sundials/ida/idaio.s: __/sundials/ida/idaio.c.s
+.PHONY : __/sundials/ida/idaio.s
+
+# target to generate assembly for a file
+__/sundials/ida/idaio.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaio.c.s
+.PHONY : __/sundials/ida/idaio.c.s
+
+__/sundials/ida/idaspgmr.o: __/sundials/ida/idaspgmr.c.o
+.PHONY : __/sundials/ida/idaspgmr.o
+
+# target to build an object file
+__/sundials/ida/idaspgmr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.o
+.PHONY : __/sundials/ida/idaspgmr.c.o
+
+__/sundials/ida/idaspgmr.i: __/sundials/ida/idaspgmr.c.i
+.PHONY : __/sundials/ida/idaspgmr.i
+
+# target to preprocess a source file
+__/sundials/ida/idaspgmr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.i
+.PHONY : __/sundials/ida/idaspgmr.c.i
+
+__/sundials/ida/idaspgmr.s: __/sundials/ida/idaspgmr.c.s
+.PHONY : __/sundials/ida/idaspgmr.s
+
+# target to generate assembly for a file
+__/sundials/ida/idaspgmr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/ida/idaspgmr.c.s
+.PHONY : __/sundials/ida/idaspgmr.c.s
+
+__/sundials/shared/band.o: __/sundials/shared/band.c.o
+.PHONY : __/sundials/shared/band.o
+
+# target to build an object file
+__/sundials/shared/band.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.o
+.PHONY : __/sundials/shared/band.c.o
+
+__/sundials/shared/band.i: __/sundials/shared/band.c.i
+.PHONY : __/sundials/shared/band.i
+
+# target to preprocess a source file
+__/sundials/shared/band.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.i
+.PHONY : __/sundials/shared/band.c.i
+
+__/sundials/shared/band.s: __/sundials/shared/band.c.s
+.PHONY : __/sundials/shared/band.s
+
+# target to generate assembly for a file
+__/sundials/shared/band.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/band.c.s
+.PHONY : __/sundials/shared/band.c.s
+
+__/sundials/shared/dense.o: __/sundials/shared/dense.c.o
+.PHONY : __/sundials/shared/dense.o
+
+# target to build an object file
+__/sundials/shared/dense.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.o
+.PHONY : __/sundials/shared/dense.c.o
+
+__/sundials/shared/dense.i: __/sundials/shared/dense.c.i
+.PHONY : __/sundials/shared/dense.i
+
+# target to preprocess a source file
+__/sundials/shared/dense.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.i
+.PHONY : __/sundials/shared/dense.c.i
+
+__/sundials/shared/dense.s: __/sundials/shared/dense.c.s
+.PHONY : __/sundials/shared/dense.s
+
+# target to generate assembly for a file
+__/sundials/shared/dense.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/dense.c.s
+.PHONY : __/sundials/shared/dense.c.s
+
+__/sundials/shared/iterative.o: __/sundials/shared/iterative.c.o
+.PHONY : __/sundials/shared/iterative.o
+
+# target to build an object file
+__/sundials/shared/iterative.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.o
+.PHONY : __/sundials/shared/iterative.c.o
+
+__/sundials/shared/iterative.i: __/sundials/shared/iterative.c.i
+.PHONY : __/sundials/shared/iterative.i
+
+# target to preprocess a source file
+__/sundials/shared/iterative.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.i
+.PHONY : __/sundials/shared/iterative.c.i
+
+__/sundials/shared/iterative.s: __/sundials/shared/iterative.c.s
+.PHONY : __/sundials/shared/iterative.s
+
+# target to generate assembly for a file
+__/sundials/shared/iterative.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/iterative.c.s
+.PHONY : __/sundials/shared/iterative.c.s
+
+__/sundials/shared/nvector.o: __/sundials/shared/nvector.c.o
+.PHONY : __/sundials/shared/nvector.o
+
+# target to build an object file
+__/sundials/shared/nvector.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.o
+.PHONY : __/sundials/shared/nvector.c.o
+
+__/sundials/shared/nvector.i: __/sundials/shared/nvector.c.i
+.PHONY : __/sundials/shared/nvector.i
+
+# target to preprocess a source file
+__/sundials/shared/nvector.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.i
+.PHONY : __/sundials/shared/nvector.c.i
+
+__/sundials/shared/nvector.s: __/sundials/shared/nvector.c.s
+.PHONY : __/sundials/shared/nvector.s
+
+# target to generate assembly for a file
+__/sundials/shared/nvector.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector.c.s
+.PHONY : __/sundials/shared/nvector.c.s
+
+__/sundials/shared/nvector_parallel.o: __/sundials/shared/nvector_parallel.c.o
+.PHONY : __/sundials/shared/nvector_parallel.o
+
+# target to build an object file
+__/sundials/shared/nvector_parallel.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.o
+.PHONY : __/sundials/shared/nvector_parallel.c.o
+
+__/sundials/shared/nvector_parallel.i: __/sundials/shared/nvector_parallel.c.i
+.PHONY : __/sundials/shared/nvector_parallel.i
+
+# target to preprocess a source file
+__/sundials/shared/nvector_parallel.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.i
+.PHONY : __/sundials/shared/nvector_parallel.c.i
+
+__/sundials/shared/nvector_parallel.s: __/sundials/shared/nvector_parallel.c.s
+.PHONY : __/sundials/shared/nvector_parallel.s
+
+# target to generate assembly for a file
+__/sundials/shared/nvector_parallel.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_parallel.c.s
+.PHONY : __/sundials/shared/nvector_parallel.c.s
+
+__/sundials/shared/nvector_serial.o: __/sundials/shared/nvector_serial.c.o
+.PHONY : __/sundials/shared/nvector_serial.o
+
+# target to build an object file
+__/sundials/shared/nvector_serial.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.o
+.PHONY : __/sundials/shared/nvector_serial.c.o
+
+__/sundials/shared/nvector_serial.i: __/sundials/shared/nvector_serial.c.i
+.PHONY : __/sundials/shared/nvector_serial.i
+
+# target to preprocess a source file
+__/sundials/shared/nvector_serial.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.i
+.PHONY : __/sundials/shared/nvector_serial.c.i
+
+__/sundials/shared/nvector_serial.s: __/sundials/shared/nvector_serial.c.s
+.PHONY : __/sundials/shared/nvector_serial.s
+
+# target to generate assembly for a file
+__/sundials/shared/nvector_serial.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/nvector_serial.c.s
+.PHONY : __/sundials/shared/nvector_serial.c.s
+
+__/sundials/shared/smalldense.o: __/sundials/shared/smalldense.c.o
+.PHONY : __/sundials/shared/smalldense.o
+
+# target to build an object file
+__/sundials/shared/smalldense.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.o
+.PHONY : __/sundials/shared/smalldense.c.o
+
+__/sundials/shared/smalldense.i: __/sundials/shared/smalldense.c.i
+.PHONY : __/sundials/shared/smalldense.i
+
+# target to preprocess a source file
+__/sundials/shared/smalldense.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.i
+.PHONY : __/sundials/shared/smalldense.c.i
+
+__/sundials/shared/smalldense.s: __/sundials/shared/smalldense.c.s
+.PHONY : __/sundials/shared/smalldense.s
+
+# target to generate assembly for a file
+__/sundials/shared/smalldense.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/smalldense.c.s
+.PHONY : __/sundials/shared/smalldense.c.s
+
+__/sundials/shared/spgmr.o: __/sundials/shared/spgmr.c.o
+.PHONY : __/sundials/shared/spgmr.o
+
+# target to build an object file
+__/sundials/shared/spgmr.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.o
+.PHONY : __/sundials/shared/spgmr.c.o
+
+__/sundials/shared/spgmr.i: __/sundials/shared/spgmr.c.i
+.PHONY : __/sundials/shared/spgmr.i
+
+# target to preprocess a source file
+__/sundials/shared/spgmr.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.i
+.PHONY : __/sundials/shared/spgmr.c.i
+
+__/sundials/shared/spgmr.s: __/sundials/shared/spgmr.c.s
+.PHONY : __/sundials/shared/spgmr.s
+
+# target to generate assembly for a file
+__/sundials/shared/spgmr.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/spgmr.c.s
+.PHONY : __/sundials/shared/spgmr.c.s
+
+__/sundials/shared/sundialsmath.o: __/sundials/shared/sundialsmath.c.o
+.PHONY : __/sundials/shared/sundialsmath.o
+
+# target to build an object file
+__/sundials/shared/sundialsmath.c.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.o
+.PHONY : __/sundials/shared/sundialsmath.c.o
+
+__/sundials/shared/sundialsmath.i: __/sundials/shared/sundialsmath.c.i
+.PHONY : __/sundials/shared/sundialsmath.i
+
+# target to preprocess a source file
+__/sundials/shared/sundialsmath.c.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.i
+.PHONY : __/sundials/shared/sundialsmath.c.i
+
+__/sundials/shared/sundialsmath.s: __/sundials/shared/sundialsmath.c.s
+.PHONY : __/sundials/shared/sundialsmath.s
+
+# target to generate assembly for a file
+__/sundials/shared/sundialsmath.c.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/__/sundials/shared/sundialsmath.c.s
+.PHONY : __/sundials/shared/sundialsmath.c.s
+
+backtrace_utils.o: backtrace_utils.cpp.o
+.PHONY : backtrace_utils.o
+
+# target to build an object file
+backtrace_utils.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.o
+.PHONY : backtrace_utils.cpp.o
+
+backtrace_utils.i: backtrace_utils.cpp.i
+.PHONY : backtrace_utils.i
+
+# target to preprocess a source file
+backtrace_utils.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.i
+.PHONY : backtrace_utils.cpp.i
+
+backtrace_utils.s: backtrace_utils.cpp.s
+.PHONY : backtrace_utils.s
+
+# target to generate assembly for a file
+backtrace_utils.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/backtrace_utils.cpp.s
+.PHONY : backtrace_utils.cpp.s
+
+bbs.o: bbs.cpp.o
+.PHONY : bbs.o
+
+# target to build an object file
+bbs.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.o
+.PHONY : bbs.cpp.o
+
+bbs.i: bbs.cpp.i
+.PHONY : bbs.i
+
+# target to preprocess a source file
+bbs.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.i
+.PHONY : bbs.cpp.i
+
+bbs.s: bbs.cpp.s
+.PHONY : bbs.s
+
+# target to generate assembly for a file
+bbs.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbs.cpp.s
+.PHONY : bbs.cpp.s
+
+bbsavestate.o: bbsavestate.cpp.o
+.PHONY : bbsavestate.o
+
+# target to build an object file
+bbsavestate.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.o
+.PHONY : bbsavestate.cpp.o
+
+bbsavestate.i: bbsavestate.cpp.i
+.PHONY : bbsavestate.i
+
+# target to preprocess a source file
+bbsavestate.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.i
+.PHONY : bbsavestate.cpp.i
+
+bbsavestate.s: bbsavestate.cpp.s
+.PHONY : bbsavestate.s
+
+# target to generate assembly for a file
+bbsavestate.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsavestate.cpp.s
+.PHONY : bbsavestate.cpp.s
+
+bbsdirect.o: bbsdirect.cpp.o
+.PHONY : bbsdirect.o
+
+# target to build an object file
+bbsdirect.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.o
+.PHONY : bbsdirect.cpp.o
+
+bbsdirect.i: bbsdirect.cpp.i
+.PHONY : bbsdirect.i
+
+# target to preprocess a source file
+bbsdirect.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.i
+.PHONY : bbsdirect.cpp.i
+
+bbsdirect.s: bbsdirect.cpp.s
+.PHONY : bbsdirect.s
+
+# target to generate assembly for a file
+bbsdirect.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsdirect.cpp.s
+.PHONY : bbsdirect.cpp.s
+
+bbslocal.o: bbslocal.cpp.o
+.PHONY : bbslocal.o
+
+# target to build an object file
+bbslocal.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.o
+.PHONY : bbslocal.cpp.o
+
+bbslocal.i: bbslocal.cpp.i
+.PHONY : bbslocal.i
+
+# target to preprocess a source file
+bbslocal.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.i
+.PHONY : bbslocal.cpp.i
+
+bbslocal.s: bbslocal.cpp.s
+.PHONY : bbslocal.s
+
+# target to generate assembly for a file
+bbslocal.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslocal.cpp.s
+.PHONY : bbslocal.cpp.s
+
+bbslsrv.o: bbslsrv.cpp.o
+.PHONY : bbslsrv.o
+
+# target to build an object file
+bbslsrv.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.o
+.PHONY : bbslsrv.cpp.o
+
+bbslsrv.i: bbslsrv.cpp.i
+.PHONY : bbslsrv.i
+
+# target to preprocess a source file
+bbslsrv.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.i
+.PHONY : bbslsrv.cpp.i
+
+bbslsrv.s: bbslsrv.cpp.s
+.PHONY : bbslsrv.s
+
+# target to generate assembly for a file
+bbslsrv.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv.cpp.s
+.PHONY : bbslsrv.cpp.s
+
+bbslsrv2.o: bbslsrv2.cpp.o
+.PHONY : bbslsrv2.o
+
+# target to build an object file
+bbslsrv2.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.o
+.PHONY : bbslsrv2.cpp.o
+
+bbslsrv2.i: bbslsrv2.cpp.i
+.PHONY : bbslsrv2.i
+
+# target to preprocess a source file
+bbslsrv2.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.i
+.PHONY : bbslsrv2.cpp.i
+
+bbslsrv2.s: bbslsrv2.cpp.s
+.PHONY : bbslsrv2.s
+
+# target to generate assembly for a file
+bbslsrv2.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbslsrv2.cpp.s
+.PHONY : bbslsrv2.cpp.s
+
+bbsrcli.o: bbsrcli.cpp.o
+.PHONY : bbsrcli.o
+
+# target to build an object file
+bbsrcli.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.o
+.PHONY : bbsrcli.cpp.o
+
+bbsrcli.i: bbsrcli.cpp.i
+.PHONY : bbsrcli.i
+
+# target to preprocess a source file
+bbsrcli.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.i
+.PHONY : bbsrcli.cpp.i
+
+bbsrcli.s: bbsrcli.cpp.s
+.PHONY : bbsrcli.s
+
+# target to generate assembly for a file
+bbsrcli.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbsrcli.cpp.s
+.PHONY : bbsrcli.cpp.s
+
+bbssrv.o: bbssrv.cpp.o
+.PHONY : bbssrv.o
+
+# target to build an object file
+bbssrv.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.o
+.PHONY : bbssrv.cpp.o
+
+bbssrv.i: bbssrv.cpp.i
+.PHONY : bbssrv.i
+
+# target to preprocess a source file
+bbssrv.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.i
+.PHONY : bbssrv.cpp.i
+
+bbssrv.s: bbssrv.cpp.s
+.PHONY : bbssrv.s
+
+# target to generate assembly for a file
+bbssrv.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/bbssrv.cpp.s
+.PHONY : bbssrv.cpp.s
+
+cachevec.o: cachevec.cpp.o
+.PHONY : cachevec.o
+
+# target to build an object file
+cachevec.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.o
+.PHONY : cachevec.cpp.o
+
+cachevec.i: cachevec.cpp.i
+.PHONY : cachevec.i
+
+# target to preprocess a source file
+cachevec.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.i
+.PHONY : cachevec.cpp.i
+
+cachevec.s: cachevec.cpp.s
+.PHONY : cachevec.s
+
+# target to generate assembly for a file
+cachevec.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cachevec.cpp.s
+.PHONY : cachevec.cpp.s
+
+classreg.o: classreg.cpp.o
+.PHONY : classreg.o
+
+# target to build an object file
+classreg.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.o
+.PHONY : classreg.cpp.o
+
+classreg.i: classreg.cpp.i
+.PHONY : classreg.i
+
+# target to preprocess a source file
+classreg.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.i
+.PHONY : classreg.cpp.i
+
+classreg.s: classreg.cpp.s
+.PHONY : classreg.s
+
+# target to generate assembly for a file
+classreg.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/classreg.cpp.s
+.PHONY : classreg.cpp.s
+
+cxprop.o: cxprop.cpp.o
+.PHONY : cxprop.o
+
+# target to build an object file
+cxprop.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.o
+.PHONY : cxprop.cpp.o
+
+cxprop.i: cxprop.cpp.i
+.PHONY : cxprop.i
+
+# target to preprocess a source file
+cxprop.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.i
+.PHONY : cxprop.cpp.i
+
+cxprop.s: cxprop.cpp.s
+.PHONY : cxprop.s
+
+# target to generate assembly for a file
+cxprop.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/cxprop.cpp.s
+.PHONY : cxprop.cpp.s
+
+datapath.o: datapath.cpp.o
+.PHONY : datapath.o
+
+# target to build an object file
+datapath.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.o
+.PHONY : datapath.cpp.o
+
+datapath.i: datapath.cpp.i
+.PHONY : datapath.i
+
+# target to preprocess a source file
+datapath.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.i
+.PHONY : datapath.cpp.i
+
+datapath.s: datapath.cpp.s
+.PHONY : datapath.s
+
+# target to generate assembly for a file
+datapath.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/datapath.cpp.s
+.PHONY : datapath.cpp.s
+
+finithnd.o: finithnd.cpp.o
+.PHONY : finithnd.o
+
+# target to build an object file
+finithnd.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.o
+.PHONY : finithnd.cpp.o
+
+finithnd.i: finithnd.cpp.i
+.PHONY : finithnd.i
+
+# target to preprocess a source file
+finithnd.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.i
+.PHONY : finithnd.cpp.i
+
+finithnd.s: finithnd.cpp.s
+.PHONY : finithnd.s
+
+# target to generate assembly for a file
+finithnd.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/finithnd.cpp.s
+.PHONY : finithnd.cpp.s
+
+geometry3d.o: geometry3d.cpp.o
+.PHONY : geometry3d.o
+
+# target to build an object file
+geometry3d.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.o
+.PHONY : geometry3d.cpp.o
+
+geometry3d.i: geometry3d.cpp.i
+.PHONY : geometry3d.i
+
+# target to preprocess a source file
+geometry3d.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.i
+.PHONY : geometry3d.cpp.i
+
+geometry3d.s: geometry3d.cpp.s
+.PHONY : geometry3d.s
+
+# target to generate assembly for a file
+geometry3d.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/geometry3d.cpp.s
+.PHONY : geometry3d.cpp.s
+
+glinerec.o: glinerec.cpp.o
+.PHONY : glinerec.o
+
+# target to build an object file
+glinerec.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.o
+.PHONY : glinerec.cpp.o
+
+glinerec.i: glinerec.cpp.i
+.PHONY : glinerec.i
+
+# target to preprocess a source file
+glinerec.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.i
+.PHONY : glinerec.cpp.i
+
+glinerec.s: glinerec.cpp.s
+.PHONY : glinerec.s
+
+# target to generate assembly for a file
+glinerec.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/glinerec.cpp.s
+.PHONY : glinerec.cpp.s
+
+hocmech.o: hocmech.cpp.o
+.PHONY : hocmech.o
+
+# target to build an object file
+hocmech.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.o
+.PHONY : hocmech.cpp.o
+
+hocmech.i: hocmech.cpp.i
+.PHONY : hocmech.i
+
+# target to preprocess a source file
+hocmech.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.i
+.PHONY : hocmech.cpp.i
+
+hocmech.s: hocmech.cpp.s
+.PHONY : hocmech.s
+
+# target to generate assembly for a file
+hocmech.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/hocmech.cpp.s
+.PHONY : hocmech.cpp.s
+
+impedanc.o: impedanc.cpp.o
+.PHONY : impedanc.o
+
+# target to build an object file
+impedanc.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.o
+.PHONY : impedanc.cpp.o
+
+impedanc.i: impedanc.cpp.i
+.PHONY : impedanc.i
+
+# target to preprocess a source file
+impedanc.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.i
+.PHONY : impedanc.cpp.i
+
+impedanc.s: impedanc.cpp.s
+.PHONY : impedanc.s
+
+# target to generate assembly for a file
+impedanc.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/impedanc.cpp.s
+.PHONY : impedanc.cpp.s
+
+kschan.o: kschan.cpp.o
+.PHONY : kschan.o
+
+# target to build an object file
+kschan.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.o
+.PHONY : kschan.cpp.o
+
+kschan.i: kschan.cpp.i
+.PHONY : kschan.i
+
+# target to preprocess a source file
+kschan.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.i
+.PHONY : kschan.cpp.i
+
+kschan.s: kschan.cpp.s
+.PHONY : kschan.s
+
+# target to generate assembly for a file
+kschan.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kschan.cpp.s
+.PHONY : kschan.cpp.s
+
+kssingle.o: kssingle.cpp.o
+.PHONY : kssingle.o
+
+# target to build an object file
+kssingle.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.o
+.PHONY : kssingle.cpp.o
+
+kssingle.i: kssingle.cpp.i
+.PHONY : kssingle.i
+
+# target to preprocess a source file
+kssingle.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.i
+.PHONY : kssingle.cpp.i
+
+kssingle.s: kssingle.cpp.s
+.PHONY : kssingle.s
+
+# target to generate assembly for a file
+kssingle.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/kssingle.cpp.s
+.PHONY : kssingle.cpp.s
+
+linmod.o: linmod.cpp.o
+.PHONY : linmod.o
+
+# target to build an object file
+linmod.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.o
+.PHONY : linmod.cpp.o
+
+linmod.i: linmod.cpp.i
+.PHONY : linmod.i
+
+# target to preprocess a source file
+linmod.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.i
+.PHONY : linmod.cpp.i
+
+linmod.s: linmod.cpp.s
+.PHONY : linmod.s
+
+# target to generate assembly for a file
+linmod.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod.cpp.s
+.PHONY : linmod.cpp.s
+
+linmod1.o: linmod1.cpp.o
+.PHONY : linmod1.o
+
+# target to build an object file
+linmod1.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.o
+.PHONY : linmod1.cpp.o
+
+linmod1.i: linmod1.cpp.i
+.PHONY : linmod1.i
+
+# target to preprocess a source file
+linmod1.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.i
+.PHONY : linmod1.cpp.i
+
+linmod1.s: linmod1.cpp.s
+.PHONY : linmod1.s
+
+# target to generate assembly for a file
+linmod1.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/linmod1.cpp.s
+.PHONY : linmod1.cpp.s
+
+matrixmap.o: matrixmap.cpp.o
+.PHONY : matrixmap.o
+
+# target to build an object file
+matrixmap.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.o
+.PHONY : matrixmap.cpp.o
+
+matrixmap.i: matrixmap.cpp.i
+.PHONY : matrixmap.i
+
+# target to preprocess a source file
+matrixmap.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.i
+.PHONY : matrixmap.cpp.i
+
+matrixmap.s: matrixmap.cpp.s
+.PHONY : matrixmap.s
+
+# target to generate assembly for a file
+matrixmap.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/matrixmap.cpp.s
+.PHONY : matrixmap.cpp.s
+
+modlunit_generated/lex.o: modlunit_generated/lex.cpp.o
+.PHONY : modlunit_generated/lex.o
+
+# target to build an object file
+modlunit_generated/lex.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.o
+.PHONY : modlunit_generated/lex.cpp.o
+
+modlunit_generated/lex.i: modlunit_generated/lex.cpp.i
+.PHONY : modlunit_generated/lex.i
+
+# target to preprocess a source file
+modlunit_generated/lex.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.i
+.PHONY : modlunit_generated/lex.cpp.i
+
+modlunit_generated/lex.s: modlunit_generated/lex.cpp.s
+.PHONY : modlunit_generated/lex.s
+
+# target to generate assembly for a file
+modlunit_generated/lex.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/lex.cpp.s
+.PHONY : modlunit_generated/lex.cpp.s
+
+modlunit_generated/parse1.o: modlunit_generated/parse1.cpp.o
+.PHONY : modlunit_generated/parse1.o
+
+# target to build an object file
+modlunit_generated/parse1.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.o
+.PHONY : modlunit_generated/parse1.cpp.o
+
+modlunit_generated/parse1.i: modlunit_generated/parse1.cpp.i
+.PHONY : modlunit_generated/parse1.i
+
+# target to preprocess a source file
+modlunit_generated/parse1.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.i
+.PHONY : modlunit_generated/parse1.cpp.i
+
+modlunit_generated/parse1.s: modlunit_generated/parse1.cpp.s
+.PHONY : modlunit_generated/parse1.s
+
+# target to generate assembly for a file
+modlunit_generated/parse1.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/modlunit.dir/build.make src/nrniv/CMakeFiles/modlunit.dir/modlunit_generated/parse1.cpp.s
+.PHONY : modlunit_generated/parse1.cpp.s
+
+multisplit.o: multisplit.cpp.o
+.PHONY : multisplit.o
+
+# target to build an object file
+multisplit.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.o
+.PHONY : multisplit.cpp.o
+
+multisplit.i: multisplit.cpp.i
+.PHONY : multisplit.i
+
+# target to preprocess a source file
+multisplit.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.i
+.PHONY : multisplit.cpp.i
+
+multisplit.s: multisplit.cpp.s
+.PHONY : multisplit.s
+
+# target to generate assembly for a file
+multisplit.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/multisplit.cpp.s
+.PHONY : multisplit.cpp.s
+
+ndatclas.o: ndatclas.cpp.o
+.PHONY : ndatclas.o
+
+# target to build an object file
+ndatclas.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.o
+.PHONY : ndatclas.cpp.o
+
+ndatclas.i: ndatclas.cpp.i
+.PHONY : ndatclas.i
+
+# target to preprocess a source file
+ndatclas.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.i
+.PHONY : ndatclas.cpp.i
+
+ndatclas.s: ndatclas.cpp.s
+.PHONY : ndatclas.s
+
+# target to generate assembly for a file
+ndatclas.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ndatclas.cpp.s
+.PHONY : ndatclas.cpp.s
+
+netpar.o: netpar.cpp.o
+.PHONY : netpar.o
+
+# target to build an object file
+netpar.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.o
+.PHONY : netpar.cpp.o
+
+netpar.i: netpar.cpp.i
+.PHONY : netpar.i
+
+# target to preprocess a source file
+netpar.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.i
+.PHONY : netpar.cpp.i
+
+netpar.s: netpar.cpp.s
+.PHONY : netpar.s
+
+# target to generate assembly for a file
+netpar.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/netpar.cpp.s
+.PHONY : netpar.cpp.s
+
+nocmodl_generated/diffeq.o: nocmodl_generated/diffeq.cpp.o
+.PHONY : nocmodl_generated/diffeq.o
+
+# target to build an object file
+nocmodl_generated/diffeq.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.o
+.PHONY : nocmodl_generated/diffeq.cpp.o
+
+nocmodl_generated/diffeq.i: nocmodl_generated/diffeq.cpp.i
+.PHONY : nocmodl_generated/diffeq.i
+
+# target to preprocess a source file
+nocmodl_generated/diffeq.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.i
+.PHONY : nocmodl_generated/diffeq.cpp.i
+
+nocmodl_generated/diffeq.s: nocmodl_generated/diffeq.cpp.s
+.PHONY : nocmodl_generated/diffeq.s
+
+# target to generate assembly for a file
+nocmodl_generated/diffeq.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/diffeq.cpp.s
+.PHONY : nocmodl_generated/diffeq.cpp.s
+
+nocmodl_generated/lex.o: nocmodl_generated/lex.cpp.o
+.PHONY : nocmodl_generated/lex.o
+
+# target to build an object file
+nocmodl_generated/lex.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.o
+.PHONY : nocmodl_generated/lex.cpp.o
+
+nocmodl_generated/lex.i: nocmodl_generated/lex.cpp.i
+.PHONY : nocmodl_generated/lex.i
+
+# target to preprocess a source file
+nocmodl_generated/lex.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.i
+.PHONY : nocmodl_generated/lex.cpp.i
+
+nocmodl_generated/lex.s: nocmodl_generated/lex.cpp.s
+.PHONY : nocmodl_generated/lex.s
+
+# target to generate assembly for a file
+nocmodl_generated/lex.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/lex.cpp.s
+.PHONY : nocmodl_generated/lex.cpp.s
+
+nocmodl_generated/parse1.o: nocmodl_generated/parse1.cpp.o
+.PHONY : nocmodl_generated/parse1.o
+
+# target to build an object file
+nocmodl_generated/parse1.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.o
+.PHONY : nocmodl_generated/parse1.cpp.o
+
+nocmodl_generated/parse1.i: nocmodl_generated/parse1.cpp.i
+.PHONY : nocmodl_generated/parse1.i
+
+# target to preprocess a source file
+nocmodl_generated/parse1.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.i
+.PHONY : nocmodl_generated/parse1.cpp.i
+
+nocmodl_generated/parse1.s: nocmodl_generated/parse1.cpp.s
+.PHONY : nocmodl_generated/parse1.s
+
+# target to generate assembly for a file
+nocmodl_generated/parse1.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nocmodl.dir/build.make src/nrniv/CMakeFiles/nocmodl.dir/nocmodl_generated/parse1.cpp.s
+.PHONY : nocmodl_generated/parse1.cpp.s
+
+nonlinz.o: nonlinz.cpp.o
+.PHONY : nonlinz.o
+
+# target to build an object file
+nonlinz.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.o
+.PHONY : nonlinz.cpp.o
+
+nonlinz.i: nonlinz.cpp.i
+.PHONY : nonlinz.i
+
+# target to preprocess a source file
+nonlinz.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.i
+.PHONY : nonlinz.cpp.i
+
+nonlinz.s: nonlinz.cpp.s
+.PHONY : nonlinz.s
+
+# target to generate assembly for a file
+nonlinz.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nonlinz.cpp.s
+.PHONY : nonlinz.cpp.s
+
+nrncore_write.o: nrncore_write.cpp.o
+.PHONY : nrncore_write.o
+
+# target to build an object file
+nrncore_write.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.o
+.PHONY : nrncore_write.cpp.o
+
+nrncore_write.i: nrncore_write.cpp.i
+.PHONY : nrncore_write.i
+
+# target to preprocess a source file
+nrncore_write.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.i
+.PHONY : nrncore_write.cpp.i
+
+nrncore_write.s: nrncore_write.cpp.s
+.PHONY : nrncore_write.s
+
+# target to generate assembly for a file
+nrncore_write.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write.cpp.s
+.PHONY : nrncore_write.cpp.s
+
+nrncore_write/callbacks/nrncore_callbacks.o: nrncore_write/callbacks/nrncore_callbacks.cpp.o
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.o
+
+# target to build an object file
+nrncore_write/callbacks/nrncore_callbacks.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.o
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.cpp.o
+
+nrncore_write/callbacks/nrncore_callbacks.i: nrncore_write/callbacks/nrncore_callbacks.cpp.i
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.i
+
+# target to preprocess a source file
+nrncore_write/callbacks/nrncore_callbacks.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.i
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.cpp.i
+
+nrncore_write/callbacks/nrncore_callbacks.s: nrncore_write/callbacks/nrncore_callbacks.cpp.s
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.s
+
+# target to generate assembly for a file
+nrncore_write/callbacks/nrncore_callbacks.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/callbacks/nrncore_callbacks.cpp.s
+.PHONY : nrncore_write/callbacks/nrncore_callbacks.cpp.s
+
+nrncore_write/data/cell_group.o: nrncore_write/data/cell_group.cpp.o
+.PHONY : nrncore_write/data/cell_group.o
+
+# target to build an object file
+nrncore_write/data/cell_group.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.o
+.PHONY : nrncore_write/data/cell_group.cpp.o
+
+nrncore_write/data/cell_group.i: nrncore_write/data/cell_group.cpp.i
+.PHONY : nrncore_write/data/cell_group.i
+
+# target to preprocess a source file
+nrncore_write/data/cell_group.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.i
+.PHONY : nrncore_write/data/cell_group.cpp.i
+
+nrncore_write/data/cell_group.s: nrncore_write/data/cell_group.cpp.s
+.PHONY : nrncore_write/data/cell_group.s
+
+# target to generate assembly for a file
+nrncore_write/data/cell_group.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/cell_group.cpp.s
+.PHONY : nrncore_write/data/cell_group.cpp.s
+
+nrncore_write/data/datum_indices.o: nrncore_write/data/datum_indices.cpp.o
+.PHONY : nrncore_write/data/datum_indices.o
+
+# target to build an object file
+nrncore_write/data/datum_indices.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.o
+.PHONY : nrncore_write/data/datum_indices.cpp.o
+
+nrncore_write/data/datum_indices.i: nrncore_write/data/datum_indices.cpp.i
+.PHONY : nrncore_write/data/datum_indices.i
+
+# target to preprocess a source file
+nrncore_write/data/datum_indices.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.i
+.PHONY : nrncore_write/data/datum_indices.cpp.i
+
+nrncore_write/data/datum_indices.s: nrncore_write/data/datum_indices.cpp.s
+.PHONY : nrncore_write/data/datum_indices.s
+
+# target to generate assembly for a file
+nrncore_write/data/datum_indices.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/data/datum_indices.cpp.s
+.PHONY : nrncore_write/data/datum_indices.cpp.s
+
+nrncore_write/io/nrncore_io.o: nrncore_write/io/nrncore_io.cpp.o
+.PHONY : nrncore_write/io/nrncore_io.o
+
+# target to build an object file
+nrncore_write/io/nrncore_io.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.o
+.PHONY : nrncore_write/io/nrncore_io.cpp.o
+
+nrncore_write/io/nrncore_io.i: nrncore_write/io/nrncore_io.cpp.i
+.PHONY : nrncore_write/io/nrncore_io.i
+
+# target to preprocess a source file
+nrncore_write/io/nrncore_io.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.i
+.PHONY : nrncore_write/io/nrncore_io.cpp.i
+
+nrncore_write/io/nrncore_io.s: nrncore_write/io/nrncore_io.cpp.s
+.PHONY : nrncore_write/io/nrncore_io.s
+
+# target to generate assembly for a file
+nrncore_write/io/nrncore_io.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/io/nrncore_io.cpp.s
+.PHONY : nrncore_write/io/nrncore_io.cpp.s
+
+nrncore_write/utils/nrncore_utils.o: nrncore_write/utils/nrncore_utils.cpp.o
+.PHONY : nrncore_write/utils/nrncore_utils.o
+
+# target to build an object file
+nrncore_write/utils/nrncore_utils.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.o
+.PHONY : nrncore_write/utils/nrncore_utils.cpp.o
+
+nrncore_write/utils/nrncore_utils.i: nrncore_write/utils/nrncore_utils.cpp.i
+.PHONY : nrncore_write/utils/nrncore_utils.i
+
+# target to preprocess a source file
+nrncore_write/utils/nrncore_utils.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.i
+.PHONY : nrncore_write/utils/nrncore_utils.cpp.i
+
+nrncore_write/utils/nrncore_utils.s: nrncore_write/utils/nrncore_utils.cpp.s
+.PHONY : nrncore_write/utils/nrncore_utils.s
+
+# target to generate assembly for a file
+nrncore_write/utils/nrncore_utils.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrncore_write/utils/nrncore_utils.cpp.s
+.PHONY : nrncore_write/utils/nrncore_utils.cpp.s
+
+nrndae.o: nrndae.cpp.o
+.PHONY : nrndae.o
+
+# target to build an object file
+nrndae.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.o
+.PHONY : nrndae.cpp.o
+
+nrndae.i: nrndae.cpp.i
+.PHONY : nrndae.i
+
+# target to preprocess a source file
+nrndae.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.i
+.PHONY : nrndae.cpp.i
+
+nrndae.s: nrndae.cpp.s
+.PHONY : nrndae.s
+
+# target to generate assembly for a file
+nrndae.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrndae.cpp.s
+.PHONY : nrndae.cpp.s
+
+nrnmenu.o: nrnmenu.cpp.o
+.PHONY : nrnmenu.o
+
+# target to build an object file
+nrnmenu.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.o
+.PHONY : nrnmenu.cpp.o
+
+nrnmenu.i: nrnmenu.cpp.i
+.PHONY : nrnmenu.i
+
+# target to preprocess a source file
+nrnmenu.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.i
+.PHONY : nrnmenu.cpp.i
+
+nrnmenu.s: nrnmenu.cpp.s
+.PHONY : nrnmenu.s
+
+# target to generate assembly for a file
+nrnmenu.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnmenu.cpp.s
+.PHONY : nrnmenu.cpp.s
+
+nrnpy.o: nrnpy.cpp.o
+.PHONY : nrnpy.o
+
+# target to build an object file
+nrnpy.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.o
+.PHONY : nrnpy.cpp.o
+
+nrnpy.i: nrnpy.cpp.i
+.PHONY : nrnpy.i
+
+# target to preprocess a source file
+nrnpy.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.i
+.PHONY : nrnpy.cpp.i
+
+nrnpy.s: nrnpy.cpp.s
+.PHONY : nrnpy.s
+
+# target to generate assembly for a file
+nrnpy.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnpy.cpp.s
+.PHONY : nrnpy.cpp.s
+
+nrnste.o: nrnste.cpp.o
+.PHONY : nrnste.o
+
+# target to build an object file
+nrnste.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.o
+.PHONY : nrnste.cpp.o
+
+nrnste.i: nrnste.cpp.i
+.PHONY : nrnste.i
+
+# target to preprocess a source file
+nrnste.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.i
+.PHONY : nrnste.cpp.i
+
+nrnste.s: nrnste.cpp.s
+.PHONY : nrnste.s
+
+# target to generate assembly for a file
+nrnste.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nrnste.cpp.s
+.PHONY : nrnste.cpp.s
+
+nvector_nrnparallel_ld.o: nvector_nrnparallel_ld.cpp.o
+.PHONY : nvector_nrnparallel_ld.o
+
+# target to build an object file
+nvector_nrnparallel_ld.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.o
+.PHONY : nvector_nrnparallel_ld.cpp.o
+
+nvector_nrnparallel_ld.i: nvector_nrnparallel_ld.cpp.i
+.PHONY : nvector_nrnparallel_ld.i
+
+# target to preprocess a source file
+nvector_nrnparallel_ld.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.i
+.PHONY : nvector_nrnparallel_ld.cpp.i
+
+nvector_nrnparallel_ld.s: nvector_nrnparallel_ld.cpp.s
+.PHONY : nvector_nrnparallel_ld.s
+
+# target to generate assembly for a file
+nvector_nrnparallel_ld.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnparallel_ld.cpp.s
+.PHONY : nvector_nrnparallel_ld.cpp.s
+
+nvector_nrnserial_ld.o: nvector_nrnserial_ld.cpp.o
+.PHONY : nvector_nrnserial_ld.o
+
+# target to build an object file
+nvector_nrnserial_ld.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.o
+.PHONY : nvector_nrnserial_ld.cpp.o
+
+nvector_nrnserial_ld.i: nvector_nrnserial_ld.cpp.i
+.PHONY : nvector_nrnserial_ld.i
+
+# target to preprocess a source file
+nvector_nrnserial_ld.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.i
+.PHONY : nvector_nrnserial_ld.cpp.i
+
+nvector_nrnserial_ld.s: nvector_nrnserial_ld.cpp.s
+.PHONY : nvector_nrnserial_ld.s
+
+# target to generate assembly for a file
+nvector_nrnserial_ld.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnserial_ld.cpp.s
+.PHONY : nvector_nrnserial_ld.cpp.s
+
+nvector_nrnthread.o: nvector_nrnthread.cpp.o
+.PHONY : nvector_nrnthread.o
+
+# target to build an object file
+nvector_nrnthread.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.o
+.PHONY : nvector_nrnthread.cpp.o
+
+nvector_nrnthread.i: nvector_nrnthread.cpp.i
+.PHONY : nvector_nrnthread.i
+
+# target to preprocess a source file
+nvector_nrnthread.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.i
+.PHONY : nvector_nrnthread.cpp.i
+
+nvector_nrnthread.s: nvector_nrnthread.cpp.s
+.PHONY : nvector_nrnthread.s
+
+# target to generate assembly for a file
+nvector_nrnthread.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread.cpp.s
+.PHONY : nvector_nrnthread.cpp.s
+
+nvector_nrnthread_ld.o: nvector_nrnthread_ld.cpp.o
+.PHONY : nvector_nrnthread_ld.o
+
+# target to build an object file
+nvector_nrnthread_ld.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.o
+.PHONY : nvector_nrnthread_ld.cpp.o
+
+nvector_nrnthread_ld.i: nvector_nrnthread_ld.cpp.i
+.PHONY : nvector_nrnthread_ld.i
+
+# target to preprocess a source file
+nvector_nrnthread_ld.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.i
+.PHONY : nvector_nrnthread_ld.cpp.i
+
+nvector_nrnthread_ld.s: nvector_nrnthread_ld.cpp.s
+.PHONY : nvector_nrnthread_ld.s
+
+# target to generate assembly for a file
+nvector_nrnthread_ld.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/nvector_nrnthread_ld.cpp.s
+.PHONY : nvector_nrnthread_ld.cpp.s
+
+oc_generated/parse.o: oc_generated/parse.cpp.o
+.PHONY : oc_generated/parse.o
+
+# target to build an object file
+oc_generated/parse.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.o
+.PHONY : oc_generated/parse.cpp.o
+
+oc_generated/parse.i: oc_generated/parse.cpp.i
+.PHONY : oc_generated/parse.i
+
+# target to preprocess a source file
+oc_generated/parse.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.i
+.PHONY : oc_generated/parse.cpp.i
+
+oc_generated/parse.s: oc_generated/parse.cpp.s
+.PHONY : oc_generated/parse.s
+
+# target to generate assembly for a file
+oc_generated/parse.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/oc_generated/parse.cpp.s
+.PHONY : oc_generated/parse.cpp.s
+
+ocbbs.o: ocbbs.cpp.o
+.PHONY : ocbbs.o
+
+# target to build an object file
+ocbbs.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.o
+.PHONY : ocbbs.cpp.o
+
+ocbbs.i: ocbbs.cpp.i
+.PHONY : ocbbs.i
+
+# target to preprocess a source file
+ocbbs.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.i
+.PHONY : ocbbs.cpp.i
+
+ocbbs.s: ocbbs.cpp.s
+.PHONY : ocbbs.s
+
+# target to generate assembly for a file
+ocbbs.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocbbs.cpp.s
+.PHONY : ocbbs.cpp.s
+
+ocjump.o: ocjump.cpp.o
+.PHONY : ocjump.o
+
+# target to build an object file
+ocjump.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.o
+.PHONY : ocjump.cpp.o
+
+ocjump.i: ocjump.cpp.i
+.PHONY : ocjump.i
+
+# target to preprocess a source file
+ocjump.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.i
+.PHONY : ocjump.cpp.i
+
+ocjump.s: ocjump.cpp.s
+.PHONY : ocjump.s
+
+# target to generate assembly for a file
+ocjump.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ocjump.cpp.s
+.PHONY : ocjump.cpp.s
+
+partrans.o: partrans.cpp.o
+.PHONY : partrans.o
+
+# target to build an object file
+partrans.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.o
+.PHONY : partrans.cpp.o
+
+partrans.i: partrans.cpp.i
+.PHONY : partrans.i
+
+# target to preprocess a source file
+partrans.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.i
+.PHONY : partrans.cpp.i
+
+partrans.s: partrans.cpp.s
+.PHONY : partrans.s
+
+# target to generate assembly for a file
+partrans.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/partrans.cpp.s
+.PHONY : partrans.cpp.s
+
+ppshape.o: ppshape.cpp.o
+.PHONY : ppshape.o
+
+# target to build an object file
+ppshape.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.o
+.PHONY : ppshape.cpp.o
+
+ppshape.i: ppshape.cpp.i
+.PHONY : ppshape.i
+
+# target to preprocess a source file
+ppshape.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.i
+.PHONY : ppshape.cpp.i
+
+ppshape.s: ppshape.cpp.s
+.PHONY : ppshape.s
+
+# target to generate assembly for a file
+ppshape.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/ppshape.cpp.s
+.PHONY : ppshape.cpp.s
+
+prcellstate.o: prcellstate.cpp.o
+.PHONY : prcellstate.o
+
+# target to build an object file
+prcellstate.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.o
+.PHONY : prcellstate.cpp.o
+
+prcellstate.i: prcellstate.cpp.i
+.PHONY : prcellstate.i
+
+# target to preprocess a source file
+prcellstate.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.i
+.PHONY : prcellstate.cpp.i
+
+prcellstate.s: prcellstate.cpp.s
+.PHONY : prcellstate.s
+
+# target to generate assembly for a file
+prcellstate.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/prcellstate.cpp.s
+.PHONY : prcellstate.cpp.s
+
+pysecname2sec.o: pysecname2sec.cpp.o
+.PHONY : pysecname2sec.o
+
+# target to build an object file
+pysecname2sec.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.o
+.PHONY : pysecname2sec.cpp.o
+
+pysecname2sec.i: pysecname2sec.cpp.i
+.PHONY : pysecname2sec.i
+
+# target to preprocess a source file
+pysecname2sec.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.i
+.PHONY : pysecname2sec.cpp.i
+
+pysecname2sec.s: pysecname2sec.cpp.s
+.PHONY : pysecname2sec.s
+
+# target to generate assembly for a file
+pysecname2sec.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/pysecname2sec.cpp.s
+.PHONY : pysecname2sec.cpp.s
+
+rotate3d.o: rotate3d.cpp.o
+.PHONY : rotate3d.o
+
+# target to build an object file
+rotate3d.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.o
+.PHONY : rotate3d.cpp.o
+
+rotate3d.i: rotate3d.cpp.i
+.PHONY : rotate3d.i
+
+# target to preprocess a source file
+rotate3d.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.i
+.PHONY : rotate3d.cpp.i
+
+rotate3d.s: rotate3d.cpp.s
+.PHONY : rotate3d.s
+
+# target to generate assembly for a file
+rotate3d.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/rotate3d.cpp.s
+.PHONY : rotate3d.cpp.s
+
+savstate.o: savstate.cpp.o
+.PHONY : savstate.o
+
+# target to build an object file
+savstate.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.o
+.PHONY : savstate.cpp.o
+
+savstate.i: savstate.cpp.i
+.PHONY : savstate.i
+
+# target to preprocess a source file
+savstate.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.i
+.PHONY : savstate.cpp.i
+
+savstate.s: savstate.cpp.s
+.PHONY : savstate.s
+
+# target to generate assembly for a file
+savstate.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/savstate.cpp.s
+.PHONY : savstate.cpp.s
+
+secbrows.o: secbrows.cpp.o
+.PHONY : secbrows.o
+
+# target to build an object file
+secbrows.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.o
+.PHONY : secbrows.cpp.o
+
+secbrows.i: secbrows.cpp.i
+.PHONY : secbrows.i
+
+# target to preprocess a source file
+secbrows.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.i
+.PHONY : secbrows.cpp.i
+
+secbrows.s: secbrows.cpp.s
+.PHONY : secbrows.s
+
+# target to generate assembly for a file
+secbrows.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/secbrows.cpp.s
+.PHONY : secbrows.cpp.s
+
+shape.o: shape.cpp.o
+.PHONY : shape.o
+
+# target to build an object file
+shape.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.o
+.PHONY : shape.cpp.o
+
+shape.i: shape.cpp.i
+.PHONY : shape.i
+
+# target to preprocess a source file
+shape.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.i
+.PHONY : shape.cpp.i
+
+shape.s: shape.cpp.s
+.PHONY : shape.s
+
+# target to generate assembly for a file
+shape.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shape.cpp.s
+.PHONY : shape.cpp.s
+
+shapeplt.o: shapeplt.cpp.o
+.PHONY : shapeplt.o
+
+# target to build an object file
+shapeplt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.o
+.PHONY : shapeplt.cpp.o
+
+shapeplt.i: shapeplt.cpp.i
+.PHONY : shapeplt.i
+
+# target to preprocess a source file
+shapeplt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.i
+.PHONY : shapeplt.cpp.i
+
+shapeplt.s: shapeplt.cpp.s
+.PHONY : shapeplt.s
+
+# target to generate assembly for a file
+shapeplt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/shapeplt.cpp.s
+.PHONY : shapeplt.cpp.s
+
+singlech.o: singlech.cpp.o
+.PHONY : singlech.o
+
+# target to build an object file
+singlech.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.o
+.PHONY : singlech.cpp.o
+
+singlech.i: singlech.cpp.i
+.PHONY : singlech.i
+
+# target to preprocess a source file
+singlech.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.i
+.PHONY : singlech.cpp.i
+
+singlech.s: singlech.cpp.s
+.PHONY : singlech.s
+
+# target to generate assembly for a file
+singlech.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/singlech.cpp.s
+.PHONY : singlech.cpp.s
+
+spaceplt.o: spaceplt.cpp.o
+.PHONY : spaceplt.o
+
+# target to build an object file
+spaceplt.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.o
+.PHONY : spaceplt.cpp.o
+
+spaceplt.i: spaceplt.cpp.i
+.PHONY : spaceplt.i
+
+# target to preprocess a source file
+spaceplt.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.i
+.PHONY : spaceplt.cpp.i
+
+spaceplt.s: spaceplt.cpp.s
+.PHONY : spaceplt.s
+
+# target to generate assembly for a file
+spaceplt.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/spaceplt.cpp.s
+.PHONY : spaceplt.cpp.s
+
+splitcell.o: splitcell.cpp.o
+.PHONY : splitcell.o
+
+# target to build an object file
+splitcell.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.o
+.PHONY : splitcell.cpp.o
+
+splitcell.i: splitcell.cpp.i
+.PHONY : splitcell.i
+
+# target to preprocess a source file
+splitcell.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.i
+.PHONY : splitcell.cpp.i
+
+splitcell.s: splitcell.cpp.s
+.PHONY : splitcell.s
+
+# target to generate assembly for a file
+splitcell.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/splitcell.cpp.s
+.PHONY : splitcell.cpp.s
+
+symdir.o: symdir.cpp.o
+.PHONY : symdir.o
+
+# target to build an object file
+symdir.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.o
+.PHONY : symdir.cpp.o
+
+symdir.i: symdir.cpp.i
+.PHONY : symdir.i
+
+# target to preprocess a source file
+symdir.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.i
+.PHONY : symdir.cpp.i
+
+symdir.s: symdir.cpp.s
+.PHONY : symdir.s
+
+# target to generate assembly for a file
+symdir.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/symdir.cpp.s
+.PHONY : symdir.cpp.s
+
+vrecord.o: vrecord.cpp.o
+.PHONY : vrecord.o
+
+# target to build an object file
+vrecord.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.o
+.PHONY : vrecord.cpp.o
+
+vrecord.i: vrecord.cpp.i
+.PHONY : vrecord.i
+
+# target to preprocess a source file
+vrecord.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.i
+.PHONY : vrecord.cpp.i
+
+vrecord.s: vrecord.cpp.s
+.PHONY : vrecord.s
+
+# target to generate assembly for a file
+vrecord.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrniv/CMakeFiles/nrniv_lib.dir/build.make src/nrniv/CMakeFiles/nrniv_lib.dir/vrecord.cpp.s
+.PHONY : vrecord.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... install"
+	@echo "... install/local"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... generate_hocusr_header"
+	@echo "... generated_source_files"
+	@echo "... modlunit_generated_files"
+	@echo "... nocmodl_generated_files"
+	@echo "... nrnversion_h"
+	@echo "... oc_generated_files"
+	@echo "... modlunit"
+	@echo "... nocmodl"
+	@echo "... nrniv"
+	@echo "... nrniv_lib"
+	@echo "... __/gnu/ACG.o"
+	@echo "... __/gnu/ACG.i"
+	@echo "... __/gnu/ACG.s"
+	@echo "... __/gnu/Binomial.o"
+	@echo "... __/gnu/Binomial.i"
+	@echo "... __/gnu/Binomial.s"
+	@echo "... __/gnu/DiscUnif.o"
+	@echo "... __/gnu/DiscUnif.i"
+	@echo "... __/gnu/DiscUnif.s"
+	@echo "... __/gnu/Erlang.o"
+	@echo "... __/gnu/Erlang.i"
+	@echo "... __/gnu/Erlang.s"
+	@echo "... __/gnu/Geom.o"
+	@echo "... __/gnu/Geom.i"
+	@echo "... __/gnu/Geom.s"
+	@echo "... __/gnu/HypGeom.o"
+	@echo "... __/gnu/HypGeom.i"
+	@echo "... __/gnu/HypGeom.s"
+	@echo "... __/gnu/LogNorm.o"
+	@echo "... __/gnu/LogNorm.i"
+	@echo "... __/gnu/LogNorm.s"
+	@echo "... __/gnu/MLCG.o"
+	@echo "... __/gnu/MLCG.i"
+	@echo "... __/gnu/MLCG.s"
+	@echo "... __/gnu/NegExp.o"
+	@echo "... __/gnu/NegExp.i"
+	@echo "... __/gnu/NegExp.s"
+	@echo "... __/gnu/Normal.o"
+	@echo "... __/gnu/Normal.i"
+	@echo "... __/gnu/Normal.s"
+	@echo "... __/gnu/Poisson.o"
+	@echo "... __/gnu/Poisson.i"
+	@echo "... __/gnu/Poisson.s"
+	@echo "... __/gnu/RNG.o"
+	@echo "... __/gnu/RNG.i"
+	@echo "... __/gnu/RNG.s"
+	@echo "... __/gnu/Random.o"
+	@echo "... __/gnu/Random.i"
+	@echo "... __/gnu/Random.s"
+	@echo "... __/gnu/RndInt.o"
+	@echo "... __/gnu/RndInt.i"
+	@echo "... __/gnu/RndInt.s"
+	@echo "... __/gnu/Uniform.o"
+	@echo "... __/gnu/Uniform.i"
+	@echo "... __/gnu/Uniform.s"
+	@echo "... __/gnu/Weibull.o"
+	@echo "... __/gnu/Weibull.i"
+	@echo "... __/gnu/Weibull.s"
+	@echo "... __/ivoc/apwindow.o"
+	@echo "... __/ivoc/apwindow.i"
+	@echo "... __/ivoc/apwindow.s"
+	@echo "... __/ivoc/axis.o"
+	@echo "... __/ivoc/axis.i"
+	@echo "... __/ivoc/axis.s"
+	@echo "... __/ivoc/bndedval.o"
+	@echo "... __/ivoc/bndedval.i"
+	@echo "... __/ivoc/bndedval.s"
+	@echo "... __/ivoc/cbwidget.o"
+	@echo "... __/ivoc/cbwidget.i"
+	@echo "... __/ivoc/cbwidget.s"
+	@echo "... __/ivoc/checkpnt.o"
+	@echo "... __/ivoc/checkpnt.i"
+	@echo "... __/ivoc/checkpnt.s"
+	@echo "... __/ivoc/epsprint.o"
+	@echo "... __/ivoc/epsprint.i"
+	@echo "... __/ivoc/epsprint.s"
+	@echo "... __/ivoc/field.o"
+	@echo "... __/ivoc/field.i"
+	@echo "... __/ivoc/field.s"
+	@echo "... __/ivoc/fourier.o"
+	@echo "... __/ivoc/fourier.i"
+	@echo "... __/ivoc/fourier.s"
+	@echo "... __/ivoc/gifimage.o"
+	@echo "... __/ivoc/gifimage.i"
+	@echo "... __/ivoc/gifimage.s"
+	@echo "... __/ivoc/graph.o"
+	@echo "... __/ivoc/graph.i"
+	@echo "... __/ivoc/graph.s"
+	@echo "... __/ivoc/graphvec.o"
+	@echo "... __/ivoc/graphvec.i"
+	@echo "... __/ivoc/graphvec.s"
+	@echo "... __/ivoc/grglyph.o"
+	@echo "... __/ivoc/grglyph.i"
+	@echo "... __/ivoc/grglyph.s"
+	@echo "... __/ivoc/grmanip.o"
+	@echo "... __/ivoc/grmanip.i"
+	@echo "... __/ivoc/grmanip.s"
+	@echo "... __/ivoc/hocmark.o"
+	@echo "... __/ivoc/hocmark.i"
+	@echo "... __/ivoc/hocmark.s"
+	@echo "... __/ivoc/htlist.o"
+	@echo "... __/ivoc/htlist.i"
+	@echo "... __/ivoc/htlist.s"
+	@echo "... __/ivoc/idraw.o"
+	@echo "... __/ivoc/idraw.i"
+	@echo "... __/ivoc/idraw.s"
+	@echo "... __/ivoc/ivoc.o"
+	@echo "... __/ivoc/ivoc.i"
+	@echo "... __/ivoc/ivoc.s"
+	@echo "... __/ivoc/ivocmain.o"
+	@echo "... __/ivoc/ivocmain.i"
+	@echo "... __/ivoc/ivocmain.s"
+	@echo "... __/ivoc/ivocrand.o"
+	@echo "... __/ivoc/ivocrand.i"
+	@echo "... __/ivoc/ivocrand.s"
+	@echo "... __/ivoc/ivocvect.o"
+	@echo "... __/ivoc/ivocvect.i"
+	@echo "... __/ivoc/ivocvect.s"
+	@echo "... __/ivoc/matrix.o"
+	@echo "... __/ivoc/matrix.i"
+	@echo "... __/ivoc/matrix.s"
+	@echo "... __/ivoc/mlinedit.o"
+	@echo "... __/ivoc/mlinedit.i"
+	@echo "... __/ivoc/mlinedit.s"
+	@echo "... __/ivoc/mymath.o"
+	@echo "... __/ivoc/mymath.i"
+	@echo "... __/ivoc/mymath.s"
+	@echo "... __/ivoc/nrnmain.o"
+	@echo "... __/ivoc/nrnmain.i"
+	@echo "... __/ivoc/nrnmain.s"
+	@echo "... __/ivoc/objcmd.o"
+	@echo "... __/ivoc/objcmd.i"
+	@echo "... __/ivoc/objcmd.s"
+	@echo "... __/ivoc/oc2iv.o"
+	@echo "... __/ivoc/oc2iv.i"
+	@echo "... __/ivoc/oc2iv.s"
+	@echo "... __/ivoc/ocbox.o"
+	@echo "... __/ivoc/ocbox.i"
+	@echo "... __/ivoc/ocbox.s"
+	@echo "... __/ivoc/ocbrowsr.o"
+	@echo "... __/ivoc/ocbrowsr.i"
+	@echo "... __/ivoc/ocbrowsr.s"
+	@echo "... __/ivoc/ocdeck.o"
+	@echo "... __/ivoc/ocdeck.i"
+	@echo "... __/ivoc/ocdeck.s"
+	@echo "... __/ivoc/ocfile.o"
+	@echo "... __/ivoc/ocfile.i"
+	@echo "... __/ivoc/ocfile.s"
+	@echo "... __/ivoc/ochelp.o"
+	@echo "... __/ivoc/ochelp.i"
+	@echo "... __/ivoc/ochelp.s"
+	@echo "... __/ivoc/oclist.o"
+	@echo "... __/ivoc/oclist.i"
+	@echo "... __/ivoc/oclist.s"
+	@echo "... __/ivoc/ocmatrix.o"
+	@echo "... __/ivoc/ocmatrix.i"
+	@echo "... __/ivoc/ocmatrix.s"
+	@echo "... __/ivoc/ocnoiv1.o"
+	@echo "... __/ivoc/ocnoiv1.i"
+	@echo "... __/ivoc/ocnoiv1.s"
+	@echo "... __/ivoc/ocobserv.o"
+	@echo "... __/ivoc/ocobserv.i"
+	@echo "... __/ivoc/ocobserv.s"
+	@echo "... __/ivoc/ocpicker.o"
+	@echo "... __/ivoc/ocpicker.i"
+	@echo "... __/ivoc/ocpicker.s"
+	@echo "... __/ivoc/ocpointer.o"
+	@echo "... __/ivoc/ocpointer.i"
+	@echo "... __/ivoc/ocpointer.s"
+	@echo "... __/ivoc/ocptrvector.o"
+	@echo "... __/ivoc/ocptrvector.i"
+	@echo "... __/ivoc/ocptrvector.s"
+	@echo "... __/ivoc/octimer.o"
+	@echo "... __/ivoc/octimer.i"
+	@echo "... __/ivoc/octimer.s"
+	@echo "... __/ivoc/pwman.o"
+	@echo "... __/ivoc/pwman.i"
+	@echo "... __/ivoc/pwman.s"
+	@echo "... __/ivoc/rect.o"
+	@echo "... __/ivoc/rect.i"
+	@echo "... __/ivoc/rect.s"
+	@echo "... __/ivoc/rubband.o"
+	@echo "... __/ivoc/rubband.i"
+	@echo "... __/ivoc/rubband.s"
+	@echo "... __/ivoc/scene.o"
+	@echo "... __/ivoc/scene.i"
+	@echo "... __/ivoc/scene.s"
+	@echo "... __/ivoc/scenepic.o"
+	@echo "... __/ivoc/scenepic.i"
+	@echo "... __/ivoc/scenepic.s"
+	@echo "... __/ivoc/strfun.o"
+	@echo "... __/ivoc/strfun.i"
+	@echo "... __/ivoc/strfun.s"
+	@echo "... __/ivoc/symchoos.o"
+	@echo "... __/ivoc/symchoos.i"
+	@echo "... __/ivoc/symchoos.s"
+	@echo "... __/ivoc/utility.o"
+	@echo "... __/ivoc/utility.i"
+	@echo "... __/ivoc/utility.s"
+	@echo "... __/ivoc/xdep.o"
+	@echo "... __/ivoc/xdep.i"
+	@echo "... __/ivoc/xdep.s"
+	@echo "... __/ivoc/xmenu.o"
+	@echo "... __/ivoc/xmenu.i"
+	@echo "... __/ivoc/xmenu.s"
+	@echo "... __/ivoc/xyview.o"
+	@echo "... __/ivoc/xyview.i"
+	@echo "... __/ivoc/xyview.s"
+	@echo "... __/mesch/arnoldi.o"
+	@echo "... __/mesch/arnoldi.i"
+	@echo "... __/mesch/arnoldi.s"
+	@echo "... __/mesch/bdfactor.o"
+	@echo "... __/mesch/bdfactor.i"
+	@echo "... __/mesch/bdfactor.s"
+	@echo "... __/mesch/bkpfacto.o"
+	@echo "... __/mesch/bkpfacto.i"
+	@echo "... __/mesch/bkpfacto.s"
+	@echo "... __/mesch/chfactor.o"
+	@echo "... __/mesch/chfactor.i"
+	@echo "... __/mesch/chfactor.s"
+	@echo "... __/mesch/conjgrad.o"
+	@echo "... __/mesch/conjgrad.i"
+	@echo "... __/mesch/conjgrad.s"
+	@echo "... __/mesch/copy.o"
+	@echo "... __/mesch/copy.i"
+	@echo "... __/mesch/copy.s"
+	@echo "... __/mesch/dmacheps.o"
+	@echo "... __/mesch/dmacheps.i"
+	@echo "... __/mesch/dmacheps.s"
+	@echo "... __/mesch/err.o"
+	@echo "... __/mesch/err.i"
+	@echo "... __/mesch/err.s"
+	@echo "... __/mesch/extras.o"
+	@echo "... __/mesch/extras.i"
+	@echo "... __/mesch/extras.s"
+	@echo "... __/mesch/fft.o"
+	@echo "... __/mesch/fft.i"
+	@echo "... __/mesch/fft.s"
+	@echo "... __/mesch/givens.o"
+	@echo "... __/mesch/givens.i"
+	@echo "... __/mesch/givens.s"
+	@echo "... __/mesch/hessen.o"
+	@echo "... __/mesch/hessen.i"
+	@echo "... __/mesch/hessen.s"
+	@echo "... __/mesch/hsehldr.o"
+	@echo "... __/mesch/hsehldr.i"
+	@echo "... __/mesch/hsehldr.s"
+	@echo "... __/mesch/init.o"
+	@echo "... __/mesch/init.i"
+	@echo "... __/mesch/init.s"
+	@echo "... __/mesch/iter0.o"
+	@echo "... __/mesch/iter0.i"
+	@echo "... __/mesch/iter0.s"
+	@echo "... __/mesch/iternsym.o"
+	@echo "... __/mesch/iternsym.i"
+	@echo "... __/mesch/iternsym.s"
+	@echo "... __/mesch/itersym.o"
+	@echo "... __/mesch/itersym.i"
+	@echo "... __/mesch/itersym.s"
+	@echo "... __/mesch/ivecop.o"
+	@echo "... __/mesch/ivecop.i"
+	@echo "... __/mesch/ivecop.s"
+	@echo "... __/mesch/lanczos.o"
+	@echo "... __/mesch/lanczos.i"
+	@echo "... __/mesch/lanczos.s"
+	@echo "... __/mesch/lufactor.o"
+	@echo "... __/mesch/lufactor.i"
+	@echo "... __/mesch/lufactor.s"
+	@echo "... __/mesch/machine.o"
+	@echo "... __/mesch/machine.i"
+	@echo "... __/mesch/machine.s"
+	@echo "... __/mesch/matlab.o"
+	@echo "... __/mesch/matlab.i"
+	@echo "... __/mesch/matlab.s"
+	@echo "... __/mesch/matop.o"
+	@echo "... __/mesch/matop.i"
+	@echo "... __/mesch/matop.s"
+	@echo "... __/mesch/matrixio.o"
+	@echo "... __/mesch/matrixio.i"
+	@echo "... __/mesch/matrixio.s"
+	@echo "... __/mesch/meminfo.o"
+	@echo "... __/mesch/meminfo.i"
+	@echo "... __/mesch/meminfo.s"
+	@echo "... __/mesch/memory.o"
+	@echo "... __/mesch/memory.i"
+	@echo "... __/mesch/memory.s"
+	@echo "... __/mesch/memstat.o"
+	@echo "... __/mesch/memstat.i"
+	@echo "... __/mesch/memstat.s"
+	@echo "... __/mesch/mfunc.o"
+	@echo "... __/mesch/mfunc.i"
+	@echo "... __/mesch/mfunc.s"
+	@echo "... __/mesch/norm.o"
+	@echo "... __/mesch/norm.i"
+	@echo "... __/mesch/norm.s"
+	@echo "... __/mesch/otherio.o"
+	@echo "... __/mesch/otherio.i"
+	@echo "... __/mesch/otherio.s"
+	@echo "... __/mesch/pxop.o"
+	@echo "... __/mesch/pxop.i"
+	@echo "... __/mesch/pxop.s"
+	@echo "... __/mesch/qrfactor.o"
+	@echo "... __/mesch/qrfactor.i"
+	@echo "... __/mesch/qrfactor.s"
+	@echo "... __/mesch/schur.o"
+	@echo "... __/mesch/schur.i"
+	@echo "... __/mesch/schur.s"
+	@echo "... __/mesch/solve.o"
+	@echo "... __/mesch/solve.i"
+	@echo "... __/mesch/solve.s"
+	@echo "... __/mesch/sparse.o"
+	@echo "... __/mesch/sparse.i"
+	@echo "... __/mesch/sparse.s"
+	@echo "... __/mesch/sparseio.o"
+	@echo "... __/mesch/sparseio.i"
+	@echo "... __/mesch/sparseio.s"
+	@echo "... __/mesch/spbkp.o"
+	@echo "... __/mesch/spbkp.i"
+	@echo "... __/mesch/spbkp.s"
+	@echo "... __/mesch/spchfctr.o"
+	@echo "... __/mesch/spchfctr.i"
+	@echo "... __/mesch/spchfctr.s"
+	@echo "... __/mesch/splufctr.o"
+	@echo "... __/mesch/splufctr.i"
+	@echo "... __/mesch/splufctr.s"
+	@echo "... __/mesch/sprow.o"
+	@echo "... __/mesch/sprow.i"
+	@echo "... __/mesch/sprow.s"
+	@echo "... __/mesch/spswap.o"
+	@echo "... __/mesch/spswap.i"
+	@echo "... __/mesch/spswap.s"
+	@echo "... __/mesch/submat.o"
+	@echo "... __/mesch/submat.i"
+	@echo "... __/mesch/submat.s"
+	@echo "... __/mesch/svd.o"
+	@echo "... __/mesch/svd.i"
+	@echo "... __/mesch/svd.s"
+	@echo "... __/mesch/symmeig.o"
+	@echo "... __/mesch/symmeig.i"
+	@echo "... __/mesch/symmeig.s"
+	@echo "... __/mesch/update.o"
+	@echo "... __/mesch/update.i"
+	@echo "... __/mesch/update.s"
+	@echo "... __/mesch/vecop.o"
+	@echo "... __/mesch/vecop.i"
+	@echo "... __/mesch/vecop.s"
+	@echo "... __/mesch/version.o"
+	@echo "... __/mesch/version.i"
+	@echo "... __/mesch/version.s"
+	@echo "... __/mesch/zcopy.o"
+	@echo "... __/mesch/zcopy.i"
+	@echo "... __/mesch/zcopy.s"
+	@echo "... __/mesch/zfunc.o"
+	@echo "... __/mesch/zfunc.i"
+	@echo "... __/mesch/zfunc.s"
+	@echo "... __/mesch/zgivens.o"
+	@echo "... __/mesch/zgivens.i"
+	@echo "... __/mesch/zgivens.s"
+	@echo "... __/mesch/zhessen.o"
+	@echo "... __/mesch/zhessen.i"
+	@echo "... __/mesch/zhessen.s"
+	@echo "... __/mesch/zhsehldr.o"
+	@echo "... __/mesch/zhsehldr.i"
+	@echo "... __/mesch/zhsehldr.s"
+	@echo "... __/mesch/zlufctr.o"
+	@echo "... __/mesch/zlufctr.i"
+	@echo "... __/mesch/zlufctr.s"
+	@echo "... __/mesch/zmachine.o"
+	@echo "... __/mesch/zmachine.i"
+	@echo "... __/mesch/zmachine.s"
+	@echo "... __/mesch/zmatio.o"
+	@echo "... __/mesch/zmatio.i"
+	@echo "... __/mesch/zmatio.s"
+	@echo "... __/mesch/zmatlab.o"
+	@echo "... __/mesch/zmatlab.i"
+	@echo "... __/mesch/zmatlab.s"
+	@echo "... __/mesch/zmatop.o"
+	@echo "... __/mesch/zmatop.i"
+	@echo "... __/mesch/zmatop.s"
+	@echo "... __/mesch/zmemory.o"
+	@echo "... __/mesch/zmemory.i"
+	@echo "... __/mesch/zmemory.s"
+	@echo "... __/mesch/znorm.o"
+	@echo "... __/mesch/znorm.i"
+	@echo "... __/mesch/znorm.s"
+	@echo "... __/mesch/zqrfctr.o"
+	@echo "... __/mesch/zqrfctr.i"
+	@echo "... __/mesch/zqrfctr.s"
+	@echo "... __/mesch/zschur.o"
+	@echo "... __/mesch/zschur.i"
+	@echo "... __/mesch/zschur.s"
+	@echo "... __/mesch/zsolve.o"
+	@echo "... __/mesch/zsolve.i"
+	@echo "... __/mesch/zsolve.s"
+	@echo "... __/mesch/zvecop.o"
+	@echo "... __/mesch/zvecop.i"
+	@echo "... __/mesch/zvecop.s"
+	@echo "... __/modlunit/consist.o"
+	@echo "... __/modlunit/consist.i"
+	@echo "... __/modlunit/consist.s"
+	@echo "... __/modlunit/declare.o"
+	@echo "... __/modlunit/declare.i"
+	@echo "... __/modlunit/declare.s"
+	@echo "... __/modlunit/init.o"
+	@echo "... __/modlunit/init.i"
+	@echo "... __/modlunit/init.s"
+	@echo "... __/modlunit/io.o"
+	@echo "... __/modlunit/io.i"
+	@echo "... __/modlunit/io.s"
+	@echo "... __/modlunit/kinunit.o"
+	@echo "... __/modlunit/kinunit.i"
+	@echo "... __/modlunit/kinunit.s"
+	@echo "... __/modlunit/list.o"
+	@echo "... __/modlunit/list.i"
+	@echo "... __/modlunit/list.s"
+	@echo "... __/modlunit/model.o"
+	@echo "... __/modlunit/model.i"
+	@echo "... __/modlunit/model.s"
+	@echo "... __/modlunit/nrnunit.o"
+	@echo "... __/modlunit/nrnunit.i"
+	@echo "... __/modlunit/nrnunit.s"
+	@echo "... __/modlunit/passn.o"
+	@echo "... __/modlunit/passn.i"
+	@echo "... __/modlunit/passn.s"
+	@echo "... __/modlunit/symbol.o"
+	@echo "... __/modlunit/symbol.i"
+	@echo "... __/modlunit/symbol.s"
+	@echo "... __/modlunit/units.o"
+	@echo "... __/modlunit/units.i"
+	@echo "... __/modlunit/units.s"
+	@echo "... __/modlunit/units1.o"
+	@echo "... __/modlunit/units1.i"
+	@echo "... __/modlunit/units1.s"
+	@echo "... __/modlunit/version.o"
+	@echo "... __/modlunit/version.i"
+	@echo "... __/modlunit/version.s"
+	@echo "... __/nmodl/consist.o"
+	@echo "... __/nmodl/consist.i"
+	@echo "... __/nmodl/consist.s"
+	@echo "... __/nmodl/deriv.o"
+	@echo "... __/nmodl/deriv.i"
+	@echo "... __/nmodl/deriv.s"
+	@echo "... __/nmodl/discrete.o"
+	@echo "... __/nmodl/discrete.i"
+	@echo "... __/nmodl/discrete.s"
+	@echo "... __/nmodl/init.o"
+	@echo "... __/nmodl/init.i"
+	@echo "... __/nmodl/init.s"
+	@echo "... __/nmodl/io.o"
+	@echo "... __/nmodl/io.i"
+	@echo "... __/nmodl/io.s"
+	@echo "... __/nmodl/kinetic.o"
+	@echo "... __/nmodl/kinetic.i"
+	@echo "... __/nmodl/kinetic.s"
+	@echo "... __/nmodl/list.o"
+	@echo "... __/nmodl/list.i"
+	@echo "... __/nmodl/list.s"
+	@echo "... __/nmodl/modl.o"
+	@echo "... __/nmodl/modl.i"
+	@echo "... __/nmodl/modl.s"
+	@echo "... __/nmodl/netrec_discon.o"
+	@echo "... __/nmodl/netrec_discon.i"
+	@echo "... __/nmodl/netrec_discon.s"
+	@echo "... __/nmodl/noccout.o"
+	@echo "... __/nmodl/noccout.i"
+	@echo "... __/nmodl/noccout.s"
+	@echo "... __/nmodl/nocpout.o"
+	@echo "... __/nmodl/nocpout.i"
+	@echo "... __/nmodl/nocpout.s"
+	@echo "... __/nmodl/parsact.o"
+	@echo "... __/nmodl/parsact.i"
+	@echo "... __/nmodl/parsact.s"
+	@echo "... __/nmodl/partial.o"
+	@echo "... __/nmodl/partial.i"
+	@echo "... __/nmodl/partial.s"
+	@echo "... __/nmodl/sens.o"
+	@echo "... __/nmodl/sens.i"
+	@echo "... __/nmodl/sens.s"
+	@echo "... __/nmodl/simultan.o"
+	@echo "... __/nmodl/simultan.i"
+	@echo "... __/nmodl/simultan.s"
+	@echo "... __/nmodl/solve.o"
+	@echo "... __/nmodl/solve.i"
+	@echo "... __/nmodl/solve.s"
+	@echo "... __/nmodl/symbol.o"
+	@echo "... __/nmodl/symbol.i"
+	@echo "... __/nmodl/symbol.s"
+	@echo "... __/nmodl/units.o"
+	@echo "... __/nmodl/units.i"
+	@echo "... __/nmodl/units.s"
+	@echo "... __/nmodl/version.o"
+	@echo "... __/nmodl/version.i"
+	@echo "... __/nmodl/version.s"
+	@echo "... __/nrncvode/cvodeobj.o"
+	@echo "... __/nrncvode/cvodeobj.i"
+	@echo "... __/nrncvode/cvodeobj.s"
+	@echo "... __/nrncvode/cvodestb.o"
+	@echo "... __/nrncvode/cvodestb.i"
+	@echo "... __/nrncvode/cvodestb.s"
+	@echo "... __/nrncvode/cvtrset.o"
+	@echo "... __/nrncvode/cvtrset.i"
+	@echo "... __/nrncvode/cvtrset.s"
+	@echo "... __/nrncvode/netcvode.o"
+	@echo "... __/nrncvode/netcvode.i"
+	@echo "... __/nrncvode/netcvode.s"
+	@echo "... __/nrncvode/nrndaspk.o"
+	@echo "... __/nrncvode/nrndaspk.i"
+	@echo "... __/nrncvode/nrndaspk.s"
+	@echo "... __/nrncvode/occvode.o"
+	@echo "... __/nrncvode/occvode.i"
+	@echo "... __/nrncvode/occvode.s"
+	@echo "... __/nrncvode/tqueue.o"
+	@echo "... __/nrncvode/tqueue.i"
+	@echo "... __/nrncvode/tqueue.s"
+	@echo "... __/nrnmpi/bbsmpipack.o"
+	@echo "... __/nrnmpi/bbsmpipack.i"
+	@echo "... __/nrnmpi/bbsmpipack.s"
+	@echo "... __/nrnmpi/mpispike.o"
+	@echo "... __/nrnmpi/mpispike.i"
+	@echo "... __/nrnmpi/mpispike.s"
+	@echo "... __/nrnmpi/nrnmpi.o"
+	@echo "... __/nrnmpi/nrnmpi.i"
+	@echo "... __/nrnmpi/nrnmpi.s"
+	@echo "... __/nrnoc/apcount.o"
+	@echo "... __/nrnoc/apcount.i"
+	@echo "... __/nrnoc/apcount.s"
+	@echo "... __/nrnoc/cabcode.o"
+	@echo "... __/nrnoc/cabcode.i"
+	@echo "... __/nrnoc/cabcode.s"
+	@echo "... __/nrnoc/capac.o"
+	@echo "... __/nrnoc/capac.i"
+	@echo "... __/nrnoc/capac.s"
+	@echo "... __/nrnoc/clamp.o"
+	@echo "... __/nrnoc/clamp.i"
+	@echo "... __/nrnoc/clamp.s"
+	@echo "... __/nrnoc/eion.o"
+	@echo "... __/nrnoc/eion.i"
+	@echo "... __/nrnoc/eion.s"
+	@echo "... __/nrnoc/exp2syn.o"
+	@echo "... __/nrnoc/exp2syn.i"
+	@echo "... __/nrnoc/exp2syn.s"
+	@echo "... __/nrnoc/expsyn.o"
+	@echo "... __/nrnoc/expsyn.i"
+	@echo "... __/nrnoc/expsyn.s"
+	@echo "... __/nrnoc/extcelln.o"
+	@echo "... __/nrnoc/extcelln.i"
+	@echo "... __/nrnoc/extcelln.s"
+	@echo "... __/nrnoc/fadvance.o"
+	@echo "... __/nrnoc/fadvance.i"
+	@echo "... __/nrnoc/fadvance.s"
+	@echo "... __/nrnoc/feature.o"
+	@echo "... __/nrnoc/feature.i"
+	@echo "... __/nrnoc/feature.s"
+	@echo "... __/nrnoc/fstim.o"
+	@echo "... __/nrnoc/fstim.i"
+	@echo "... __/nrnoc/fstim.s"
+	@echo "... __/nrnoc/hh.o"
+	@echo "... __/nrnoc/hh.i"
+	@echo "... __/nrnoc/hh.s"
+	@echo "... __/nrnoc/hocprax.o"
+	@echo "... __/nrnoc/hocprax.i"
+	@echo "... __/nrnoc/hocprax.s"
+	@echo "... __/nrnoc/init.o"
+	@echo "... __/nrnoc/init.i"
+	@echo "... __/nrnoc/init.s"
+	@echo "... __/nrnoc/intfire1.o"
+	@echo "... __/nrnoc/intfire1.i"
+	@echo "... __/nrnoc/intfire1.s"
+	@echo "... __/nrnoc/intfire2.o"
+	@echo "... __/nrnoc/intfire2.i"
+	@echo "... __/nrnoc/intfire2.s"
+	@echo "... __/nrnoc/intfire4.o"
+	@echo "... __/nrnoc/intfire4.i"
+	@echo "... __/nrnoc/intfire4.s"
+	@echo "... __/nrnoc/ldifus.o"
+	@echo "... __/nrnoc/ldifus.i"
+	@echo "... __/nrnoc/ldifus.s"
+	@echo "... __/nrnoc/method3.o"
+	@echo "... __/nrnoc/method3.i"
+	@echo "... __/nrnoc/method3.s"
+	@echo "... __/nrnoc/netstim.o"
+	@echo "... __/nrnoc/netstim.i"
+	@echo "... __/nrnoc/netstim.s"
+	@echo "... __/nrnoc/nrnnemo.o"
+	@echo "... __/nrnoc/nrnnemo.i"
+	@echo "... __/nrnoc/nrnnemo.s"
+	@echo "... __/nrnoc/nrntimeout.o"
+	@echo "... __/nrnoc/nrntimeout.i"
+	@echo "... __/nrnoc/nrntimeout.s"
+	@echo "... __/nrnoc/nrnversion.o"
+	@echo "... __/nrnoc/nrnversion.i"
+	@echo "... __/nrnoc/nrnversion.s"
+	@echo "... __/nrnoc/oclmp.o"
+	@echo "... __/nrnoc/oclmp.i"
+	@echo "... __/nrnoc/oclmp.s"
+	@echo "... __/nrnoc/passive.o"
+	@echo "... __/nrnoc/passive.i"
+	@echo "... __/nrnoc/passive.s"
+	@echo "... __/nrnoc/passive0.o"
+	@echo "... __/nrnoc/passive0.i"
+	@echo "... __/nrnoc/passive0.s"
+	@echo "... __/nrnoc/pattern.o"
+	@echo "... __/nrnoc/pattern.i"
+	@echo "... __/nrnoc/pattern.s"
+	@echo "... __/nrnoc/point.o"
+	@echo "... __/nrnoc/point.i"
+	@echo "... __/nrnoc/point.s"
+	@echo "... __/nrnoc/ppmark.o"
+	@echo "... __/nrnoc/ppmark.i"
+	@echo "... __/nrnoc/ppmark.s"
+	@echo "... __/nrnoc/psection.o"
+	@echo "... __/nrnoc/psection.i"
+	@echo "... __/nrnoc/psection.s"
+	@echo "... __/nrnoc/seclist.o"
+	@echo "... __/nrnoc/seclist.i"
+	@echo "... __/nrnoc/seclist.s"
+	@echo "... __/nrnoc/secref.o"
+	@echo "... __/nrnoc/secref.i"
+	@echo "... __/nrnoc/secref.s"
+	@echo "... __/nrnoc/solve.o"
+	@echo "... __/nrnoc/solve.i"
+	@echo "... __/nrnoc/solve.s"
+	@echo "... __/nrnoc/stim.o"
+	@echo "... __/nrnoc/stim.i"
+	@echo "... __/nrnoc/stim.s"
+	@echo "... __/nrnoc/svclmp.o"
+	@echo "... __/nrnoc/svclmp.i"
+	@echo "... __/nrnoc/svclmp.s"
+	@echo "... __/nrnoc/syn.o"
+	@echo "... __/nrnoc/syn.i"
+	@echo "... __/nrnoc/syn.s"
+	@echo "... __/nrnoc/synapse.o"
+	@echo "... __/nrnoc/synapse.i"
+	@echo "... __/nrnoc/synapse.s"
+	@echo "... __/nrnoc/treeset.o"
+	@echo "... __/nrnoc/treeset.i"
+	@echo "... __/nrnoc/treeset.s"
+	@echo "... __/nrnoc/vclmp.o"
+	@echo "... __/nrnoc/vclmp.i"
+	@echo "... __/nrnoc/vclmp.s"
+	@echo "... __/oc/audit.o"
+	@echo "... __/oc/audit.i"
+	@echo "... __/oc/audit.s"
+	@echo "... __/oc/axis.o"
+	@echo "... __/oc/axis.i"
+	@echo "... __/oc/axis.s"
+	@echo "... __/oc/code.o"
+	@echo "... __/oc/code.i"
+	@echo "... __/oc/code.s"
+	@echo "... __/oc/code2.o"
+	@echo "... __/oc/code2.i"
+	@echo "... __/oc/code2.s"
+	@echo "... __/oc/debug.o"
+	@echo "... __/oc/debug.i"
+	@echo "... __/oc/debug.s"
+	@echo "... __/oc/fileio.o"
+	@echo "... __/oc/fileio.i"
+	@echo "... __/oc/fileio.s"
+	@echo "... __/oc/fmenu.o"
+	@echo "... __/oc/fmenu.i"
+	@echo "... __/oc/fmenu.s"
+	@echo "... __/oc/ftime.o"
+	@echo "... __/oc/ftime.i"
+	@echo "... __/oc/ftime.s"
+	@echo "... __/oc/functabl.o"
+	@echo "... __/oc/functabl.i"
+	@echo "... __/oc/functabl.s"
+	@echo "... __/oc/getsym.o"
+	@echo "... __/oc/getsym.i"
+	@echo "... __/oc/getsym.s"
+	@echo "... __/oc/hoc.o"
+	@echo "... __/oc/hoc.i"
+	@echo "... __/oc/hoc.s"
+	@echo "... __/oc/hoc_init.o"
+	@echo "... __/oc/hoc_init.i"
+	@echo "... __/oc/hoc_init.s"
+	@echo "... __/oc/hoc_oop.o"
+	@echo "... __/oc/hoc_oop.i"
+	@echo "... __/oc/hoc_oop.s"
+	@echo "... __/oc/hocusr.o"
+	@echo "... __/oc/hocusr.i"
+	@echo "... __/oc/hocusr.s"
+	@echo "... __/oc/isaac64.o"
+	@echo "... __/oc/isaac64.i"
+	@echo "... __/oc/isaac64.s"
+	@echo "... __/oc/isoc99.o"
+	@echo "... __/oc/isoc99.i"
+	@echo "... __/oc/isoc99.s"
+	@echo "... __/oc/list.o"
+	@echo "... __/oc/list.i"
+	@echo "... __/oc/list.s"
+	@echo "... __/oc/math.o"
+	@echo "... __/oc/math.i"
+	@echo "... __/oc/math.s"
+	@echo "... __/oc/mcran4.o"
+	@echo "... __/oc/mcran4.i"
+	@echo "... __/oc/mcran4.s"
+	@echo "... __/oc/modlreg.o"
+	@echo "... __/oc/modlreg.i"
+	@echo "... __/oc/modlreg.s"
+	@echo "... __/oc/mswinprt.o"
+	@echo "... __/oc/mswinprt.i"
+	@echo "... __/oc/mswinprt.s"
+	@echo "... __/oc/nonlin.o"
+	@echo "... __/oc/nonlin.i"
+	@echo "... __/oc/nonlin.s"
+	@echo "... __/oc/nrnfilewrap.o"
+	@echo "... __/oc/nrnfilewrap.i"
+	@echo "... __/oc/nrnfilewrap.s"
+	@echo "... __/oc/nrnisaac.o"
+	@echo "... __/oc/nrnisaac.i"
+	@echo "... __/oc/nrnisaac.s"
+	@echo "... __/oc/nrnran123.o"
+	@echo "... __/oc/nrnran123.i"
+	@echo "... __/oc/nrnran123.s"
+	@echo "... __/oc/ocerf.o"
+	@echo "... __/oc/ocerf.i"
+	@echo "... __/oc/ocerf.s"
+	@echo "... __/oc/ockludge.o"
+	@echo "... __/oc/ockludge.i"
+	@echo "... __/oc/ockludge.s"
+	@echo "... __/oc/parallel.o"
+	@echo "... __/oc/parallel.i"
+	@echo "... __/oc/parallel.s"
+	@echo "... __/oc/plot.o"
+	@echo "... __/oc/plot.i"
+	@echo "... __/oc/plot.s"
+	@echo "... __/oc/plt.o"
+	@echo "... __/oc/plt.i"
+	@echo "... __/oc/plt.s"
+	@echo "... __/oc/regexp.o"
+	@echo "... __/oc/regexp.i"
+	@echo "... __/oc/regexp.s"
+	@echo "... __/oc/scoprand.o"
+	@echo "... __/oc/scoprand.i"
+	@echo "... __/oc/scoprand.s"
+	@echo "... __/oc/settext.o"
+	@echo "... __/oc/settext.i"
+	@echo "... __/oc/settext.s"
+	@echo "... __/oc/symbol.o"
+	@echo "... __/oc/symbol.i"
+	@echo "... __/oc/symbol.s"
+	@echo "... __/oc/version.o"
+	@echo "... __/oc/version.i"
+	@echo "... __/oc/version.s"
+	@echo "... __/oc/x.o"
+	@echo "... __/oc/x.i"
+	@echo "... __/oc/x.s"
+	@echo "... __/oc/xred.o"
+	@echo "... __/oc/xred.i"
+	@echo "... __/oc/xred.s"
+	@echo "... __/scopmath/abort.o"
+	@echo "... __/scopmath/abort.i"
+	@echo "... __/scopmath/abort.s"
+	@echo "... __/scopmath/adams.o"
+	@echo "... __/scopmath/adams.i"
+	@echo "... __/scopmath/adams.s"
+	@echo "... __/scopmath/adeuler.o"
+	@echo "... __/scopmath/adeuler.i"
+	@echo "... __/scopmath/adeuler.s"
+	@echo "... __/scopmath/adrunge.o"
+	@echo "... __/scopmath/adrunge.i"
+	@echo "... __/scopmath/adrunge.s"
+	@echo "... __/scopmath/advance.o"
+	@echo "... __/scopmath/advance.i"
+	@echo "... __/scopmath/advance.s"
+	@echo "... __/scopmath/boundary.o"
+	@echo "... __/scopmath/boundary.i"
+	@echo "... __/scopmath/boundary.s"
+	@echo "... __/scopmath/crank.o"
+	@echo "... __/scopmath/crank.i"
+	@echo "... __/scopmath/crank.s"
+	@echo "... __/scopmath/crout.o"
+	@echo "... __/scopmath/crout.i"
+	@echo "... __/scopmath/crout.s"
+	@echo "... __/scopmath/crout_thread.o"
+	@echo "... __/scopmath/crout_thread.i"
+	@echo "... __/scopmath/crout_thread.s"
+	@echo "... __/scopmath/csoda.o"
+	@echo "... __/scopmath/csoda.i"
+	@echo "... __/scopmath/csoda.s"
+	@echo "... __/scopmath/csodabnc.o"
+	@echo "... __/scopmath/csodabnc.i"
+	@echo "... __/scopmath/csodabnc.s"
+	@echo "... __/scopmath/deflate.o"
+	@echo "... __/scopmath/deflate.i"
+	@echo "... __/scopmath/deflate.s"
+	@echo "... __/scopmath/dimplic.o"
+	@echo "... __/scopmath/dimplic.i"
+	@echo "... __/scopmath/dimplic.s"
+	@echo "... __/scopmath/euler.o"
+	@echo "... __/scopmath/euler.i"
+	@echo "... __/scopmath/euler.s"
+	@echo "... __/scopmath/expfit.o"
+	@echo "... __/scopmath/expfit.i"
+	@echo "... __/scopmath/expfit.s"
+	@echo "... __/scopmath/exprand.o"
+	@echo "... __/scopmath/exprand.i"
+	@echo "... __/scopmath/exprand.s"
+	@echo "... __/scopmath/f2cmisc.o"
+	@echo "... __/scopmath/f2cmisc.i"
+	@echo "... __/scopmath/f2cmisc.s"
+	@echo "... __/scopmath/factoria.o"
+	@echo "... __/scopmath/factoria.i"
+	@echo "... __/scopmath/factoria.s"
+	@echo "... __/scopmath/force.o"
+	@echo "... __/scopmath/force.i"
+	@echo "... __/scopmath/force.s"
+	@echo "... __/scopmath/gauss.o"
+	@echo "... __/scopmath/gauss.i"
+	@echo "... __/scopmath/gauss.s"
+	@echo "... __/scopmath/gear.o"
+	@echo "... __/scopmath/gear.i"
+	@echo "... __/scopmath/gear.s"
+	@echo "... __/scopmath/getmem.o"
+	@echo "... __/scopmath/getmem.i"
+	@echo "... __/scopmath/getmem.s"
+	@echo "... __/scopmath/harmonic.o"
+	@echo "... __/scopmath/harmonic.i"
+	@echo "... __/scopmath/harmonic.s"
+	@echo "... __/scopmath/heun.o"
+	@echo "... __/scopmath/heun.i"
+	@echo "... __/scopmath/heun.s"
+	@echo "... __/scopmath/hyperbol.o"
+	@echo "... __/scopmath/hyperbol.i"
+	@echo "... __/scopmath/hyperbol.s"
+	@echo "... __/scopmath/invert.o"
+	@echo "... __/scopmath/invert.i"
+	@echo "... __/scopmath/invert.s"
+	@echo "... __/scopmath/lag.o"
+	@echo "... __/scopmath/lag.i"
+	@echo "... __/scopmath/lag.s"
+	@echo "... __/scopmath/legendre.o"
+	@echo "... __/scopmath/legendre.i"
+	@echo "... __/scopmath/legendre.s"
+	@echo "... __/scopmath/newton.o"
+	@echo "... __/scopmath/newton.i"
+	@echo "... __/scopmath/newton.s"
+	@echo "... __/scopmath/newton_thread.o"
+	@echo "... __/scopmath/newton_thread.i"
+	@echo "... __/scopmath/newton_thread.s"
+	@echo "... __/scopmath/normrand.o"
+	@echo "... __/scopmath/normrand.i"
+	@echo "... __/scopmath/normrand.s"
+	@echo "... __/scopmath/perpulse.o"
+	@echo "... __/scopmath/perpulse.i"
+	@echo "... __/scopmath/perpulse.s"
+	@echo "... __/scopmath/perstep.o"
+	@echo "... __/scopmath/perstep.i"
+	@echo "... __/scopmath/perstep.s"
+	@echo "... __/scopmath/poisrand.o"
+	@echo "... __/scopmath/poisrand.i"
+	@echo "... __/scopmath/poisrand.s"
+	@echo "... __/scopmath/poisson.o"
+	@echo "... __/scopmath/poisson.i"
+	@echo "... __/scopmath/poisson.s"
+	@echo "... __/scopmath/praxis.o"
+	@echo "... __/scopmath/praxis.i"
+	@echo "... __/scopmath/praxis.s"
+	@echo "... __/scopmath/pulse.o"
+	@echo "... __/scopmath/pulse.i"
+	@echo "... __/scopmath/pulse.s"
+	@echo "... __/scopmath/quad.o"
+	@echo "... __/scopmath/quad.i"
+	@echo "... __/scopmath/quad.s"
+	@echo "... __/scopmath/ramp.o"
+	@echo "... __/scopmath/ramp.i"
+	@echo "... __/scopmath/ramp.s"
+	@echo "... __/scopmath/revhyper.o"
+	@echo "... __/scopmath/revhyper.i"
+	@echo "... __/scopmath/revhyper.s"
+	@echo "... __/scopmath/revsawto.o"
+	@echo "... __/scopmath/revsawto.i"
+	@echo "... __/scopmath/revsawto.s"
+	@echo "... __/scopmath/revsigmo.o"
+	@echo "... __/scopmath/revsigmo.i"
+	@echo "... __/scopmath/revsigmo.s"
+	@echo "... __/scopmath/romberg.o"
+	@echo "... __/scopmath/romberg.i"
+	@echo "... __/scopmath/romberg.s"
+	@echo "... __/scopmath/runge.o"
+	@echo "... __/scopmath/runge.i"
+	@echo "... __/scopmath/runge.s"
+	@echo "... __/scopmath/sawtooth.o"
+	@echo "... __/scopmath/sawtooth.i"
+	@echo "... __/scopmath/sawtooth.s"
+	@echo "... __/scopmath/schedule.o"
+	@echo "... __/scopmath/schedule.i"
+	@echo "... __/scopmath/schedule.s"
+	@echo "... __/scopmath/scoperf.o"
+	@echo "... __/scopmath/scoperf.i"
+	@echo "... __/scopmath/scoperf.s"
+	@echo "... __/scopmath/seidel.o"
+	@echo "... __/scopmath/seidel.i"
+	@echo "... __/scopmath/seidel.s"
+	@echo "... __/scopmath/sigmoid.o"
+	@echo "... __/scopmath/sigmoid.i"
+	@echo "... __/scopmath/sigmoid.s"
+	@echo "... __/scopmath/simeq.o"
+	@echo "... __/scopmath/simeq.i"
+	@echo "... __/scopmath/simeq.s"
+	@echo "... __/scopmath/simplex.o"
+	@echo "... __/scopmath/simplex.i"
+	@echo "... __/scopmath/simplex.s"
+	@echo "... __/scopmath/sparse.o"
+	@echo "... __/scopmath/sparse.i"
+	@echo "... __/scopmath/sparse.s"
+	@echo "... __/scopmath/sparse_thread.o"
+	@echo "... __/scopmath/sparse_thread.i"
+	@echo "... __/scopmath/sparse_thread.s"
+	@echo "... __/scopmath/spline.o"
+	@echo "... __/scopmath/spline.i"
+	@echo "... __/scopmath/spline.s"
+	@echo "... __/scopmath/squarewa.o"
+	@echo "... __/scopmath/squarewa.i"
+	@echo "... __/scopmath/squarewa.s"
+	@echo "... __/scopmath/ssimplic.o"
+	@echo "... __/scopmath/ssimplic.i"
+	@echo "... __/scopmath/ssimplic.s"
+	@echo "... __/scopmath/ssimplic_thread.o"
+	@echo "... __/scopmath/ssimplic_thread.i"
+	@echo "... __/scopmath/ssimplic_thread.s"
+	@echo "... __/scopmath/step.o"
+	@echo "... __/scopmath/step.i"
+	@echo "... __/scopmath/step.s"
+	@echo "... __/scopmath/threshol.o"
+	@echo "... __/scopmath/threshol.i"
+	@echo "... __/scopmath/threshol.s"
+	@echo "... __/scopmath/tridiag.o"
+	@echo "... __/scopmath/tridiag.i"
+	@echo "... __/scopmath/tridiag.s"
+	@echo "... __/scopmath/vsparse.o"
+	@echo "... __/scopmath/vsparse.i"
+	@echo "... __/scopmath/vsparse.s"
+	@echo "... __/sparse/bksub.o"
+	@echo "... __/sparse/bksub.i"
+	@echo "... __/sparse/bksub.s"
+	@echo "... __/sparse/getelm.o"
+	@echo "... __/sparse/getelm.i"
+	@echo "... __/sparse/getelm.s"
+	@echo "... __/sparse/lineq.o"
+	@echo "... __/sparse/lineq.i"
+	@echo "... __/sparse/lineq.s"
+	@echo "... __/sparse/prmat.o"
+	@echo "... __/sparse/prmat.i"
+	@echo "... __/sparse/prmat.s"
+	@echo "... __/sparse/subrows.o"
+	@echo "... __/sparse/subrows.i"
+	@echo "... __/sparse/subrows.s"
+	@echo "... __/sparse13/cspalloc.o"
+	@echo "... __/sparse13/cspalloc.i"
+	@echo "... __/sparse13/cspalloc.s"
+	@echo "... __/sparse13/cspbuild.o"
+	@echo "... __/sparse13/cspbuild.i"
+	@echo "... __/sparse13/cspbuild.s"
+	@echo "... __/sparse13/cspfactor.o"
+	@echo "... __/sparse13/cspfactor.i"
+	@echo "... __/sparse13/cspfactor.s"
+	@echo "... __/sparse13/cspoutput.o"
+	@echo "... __/sparse13/cspoutput.i"
+	@echo "... __/sparse13/cspoutput.s"
+	@echo "... __/sparse13/cspsolve.o"
+	@echo "... __/sparse13/cspsolve.i"
+	@echo "... __/sparse13/cspsolve.s"
+	@echo "... __/sparse13/csputils.o"
+	@echo "... __/sparse13/csputils.i"
+	@echo "... __/sparse13/csputils.s"
+	@echo "... __/sparse13/spalloc.o"
+	@echo "... __/sparse13/spalloc.i"
+	@echo "... __/sparse13/spalloc.s"
+	@echo "... __/sparse13/spbuild.o"
+	@echo "... __/sparse13/spbuild.i"
+	@echo "... __/sparse13/spbuild.s"
+	@echo "... __/sparse13/spfactor.o"
+	@echo "... __/sparse13/spfactor.i"
+	@echo "... __/sparse13/spfactor.s"
+	@echo "... __/sparse13/spoutput.o"
+	@echo "... __/sparse13/spoutput.i"
+	@echo "... __/sparse13/spoutput.s"
+	@echo "... __/sparse13/spsolve.o"
+	@echo "... __/sparse13/spsolve.i"
+	@echo "... __/sparse13/spsolve.s"
+	@echo "... __/sparse13/sputils.o"
+	@echo "... __/sparse13/sputils.i"
+	@echo "... __/sparse13/sputils.s"
+	@echo "... __/sundials/cvodes/cvband.o"
+	@echo "... __/sundials/cvodes/cvband.i"
+	@echo "... __/sundials/cvodes/cvband.s"
+	@echo "... __/sundials/cvodes/cvbandpre.o"
+	@echo "... __/sundials/cvodes/cvbandpre.i"
+	@echo "... __/sundials/cvodes/cvbandpre.s"
+	@echo "... __/sundials/cvodes/cvbbdpre.o"
+	@echo "... __/sundials/cvodes/cvbbdpre.i"
+	@echo "... __/sundials/cvodes/cvbbdpre.s"
+	@echo "... __/sundials/cvodes/cvdense.o"
+	@echo "... __/sundials/cvodes/cvdense.i"
+	@echo "... __/sundials/cvodes/cvdense.s"
+	@echo "... __/sundials/cvodes/cvdiag.o"
+	@echo "... __/sundials/cvodes/cvdiag.i"
+	@echo "... __/sundials/cvodes/cvdiag.s"
+	@echo "... __/sundials/cvodes/cvodea.o"
+	@echo "... __/sundials/cvodes/cvodea.i"
+	@echo "... __/sundials/cvodes/cvodea.s"
+	@echo "... __/sundials/cvodes/cvodes.o"
+	@echo "... __/sundials/cvodes/cvodes.i"
+	@echo "... __/sundials/cvodes/cvodes.s"
+	@echo "... __/sundials/cvodes/cvodesio.o"
+	@echo "... __/sundials/cvodes/cvodesio.i"
+	@echo "... __/sundials/cvodes/cvodesio.s"
+	@echo "... __/sundials/cvodes/cvspgmr.o"
+	@echo "... __/sundials/cvodes/cvspgmr.i"
+	@echo "... __/sundials/cvodes/cvspgmr.s"
+	@echo "... __/sundials/ida/ida.o"
+	@echo "... __/sundials/ida/ida.i"
+	@echo "... __/sundials/ida/ida.s"
+	@echo "... __/sundials/ida/idaband.o"
+	@echo "... __/sundials/ida/idaband.i"
+	@echo "... __/sundials/ida/idaband.s"
+	@echo "... __/sundials/ida/idabbdpre.o"
+	@echo "... __/sundials/ida/idabbdpre.i"
+	@echo "... __/sundials/ida/idabbdpre.s"
+	@echo "... __/sundials/ida/idadense.o"
+	@echo "... __/sundials/ida/idadense.i"
+	@echo "... __/sundials/ida/idadense.s"
+	@echo "... __/sundials/ida/idaic.o"
+	@echo "... __/sundials/ida/idaic.i"
+	@echo "... __/sundials/ida/idaic.s"
+	@echo "... __/sundials/ida/idaio.o"
+	@echo "... __/sundials/ida/idaio.i"
+	@echo "... __/sundials/ida/idaio.s"
+	@echo "... __/sundials/ida/idaspgmr.o"
+	@echo "... __/sundials/ida/idaspgmr.i"
+	@echo "... __/sundials/ida/idaspgmr.s"
+	@echo "... __/sundials/shared/band.o"
+	@echo "... __/sundials/shared/band.i"
+	@echo "... __/sundials/shared/band.s"
+	@echo "... __/sundials/shared/dense.o"
+	@echo "... __/sundials/shared/dense.i"
+	@echo "... __/sundials/shared/dense.s"
+	@echo "... __/sundials/shared/iterative.o"
+	@echo "... __/sundials/shared/iterative.i"
+	@echo "... __/sundials/shared/iterative.s"
+	@echo "... __/sundials/shared/nvector.o"
+	@echo "... __/sundials/shared/nvector.i"
+	@echo "... __/sundials/shared/nvector.s"
+	@echo "... __/sundials/shared/nvector_parallel.o"
+	@echo "... __/sundials/shared/nvector_parallel.i"
+	@echo "... __/sundials/shared/nvector_parallel.s"
+	@echo "... __/sundials/shared/nvector_serial.o"
+	@echo "... __/sundials/shared/nvector_serial.i"
+	@echo "... __/sundials/shared/nvector_serial.s"
+	@echo "... __/sundials/shared/smalldense.o"
+	@echo "... __/sundials/shared/smalldense.i"
+	@echo "... __/sundials/shared/smalldense.s"
+	@echo "... __/sundials/shared/spgmr.o"
+	@echo "... __/sundials/shared/spgmr.i"
+	@echo "... __/sundials/shared/spgmr.s"
+	@echo "... __/sundials/shared/sundialsmath.o"
+	@echo "... __/sundials/shared/sundialsmath.i"
+	@echo "... __/sundials/shared/sundialsmath.s"
+	@echo "... backtrace_utils.o"
+	@echo "... backtrace_utils.i"
+	@echo "... backtrace_utils.s"
+	@echo "... bbs.o"
+	@echo "... bbs.i"
+	@echo "... bbs.s"
+	@echo "... bbsavestate.o"
+	@echo "... bbsavestate.i"
+	@echo "... bbsavestate.s"
+	@echo "... bbsdirect.o"
+	@echo "... bbsdirect.i"
+	@echo "... bbsdirect.s"
+	@echo "... bbslocal.o"
+	@echo "... bbslocal.i"
+	@echo "... bbslocal.s"
+	@echo "... bbslsrv.o"
+	@echo "... bbslsrv.i"
+	@echo "... bbslsrv.s"
+	@echo "... bbslsrv2.o"
+	@echo "... bbslsrv2.i"
+	@echo "... bbslsrv2.s"
+	@echo "... bbsrcli.o"
+	@echo "... bbsrcli.i"
+	@echo "... bbsrcli.s"
+	@echo "... bbssrv.o"
+	@echo "... bbssrv.i"
+	@echo "... bbssrv.s"
+	@echo "... cachevec.o"
+	@echo "... cachevec.i"
+	@echo "... cachevec.s"
+	@echo "... classreg.o"
+	@echo "... classreg.i"
+	@echo "... classreg.s"
+	@echo "... cxprop.o"
+	@echo "... cxprop.i"
+	@echo "... cxprop.s"
+	@echo "... datapath.o"
+	@echo "... datapath.i"
+	@echo "... datapath.s"
+	@echo "... finithnd.o"
+	@echo "... finithnd.i"
+	@echo "... finithnd.s"
+	@echo "... geometry3d.o"
+	@echo "... geometry3d.i"
+	@echo "... geometry3d.s"
+	@echo "... glinerec.o"
+	@echo "... glinerec.i"
+	@echo "... glinerec.s"
+	@echo "... hocmech.o"
+	@echo "... hocmech.i"
+	@echo "... hocmech.s"
+	@echo "... impedanc.o"
+	@echo "... impedanc.i"
+	@echo "... impedanc.s"
+	@echo "... kschan.o"
+	@echo "... kschan.i"
+	@echo "... kschan.s"
+	@echo "... kssingle.o"
+	@echo "... kssingle.i"
+	@echo "... kssingle.s"
+	@echo "... linmod.o"
+	@echo "... linmod.i"
+	@echo "... linmod.s"
+	@echo "... linmod1.o"
+	@echo "... linmod1.i"
+	@echo "... linmod1.s"
+	@echo "... matrixmap.o"
+	@echo "... matrixmap.i"
+	@echo "... matrixmap.s"
+	@echo "... modlunit_generated/lex.o"
+	@echo "... modlunit_generated/lex.i"
+	@echo "... modlunit_generated/lex.s"
+	@echo "... modlunit_generated/parse1.o"
+	@echo "... modlunit_generated/parse1.i"
+	@echo "... modlunit_generated/parse1.s"
+	@echo "... multisplit.o"
+	@echo "... multisplit.i"
+	@echo "... multisplit.s"
+	@echo "... ndatclas.o"
+	@echo "... ndatclas.i"
+	@echo "... ndatclas.s"
+	@echo "... netpar.o"
+	@echo "... netpar.i"
+	@echo "... netpar.s"
+	@echo "... nocmodl_generated/diffeq.o"
+	@echo "... nocmodl_generated/diffeq.i"
+	@echo "... nocmodl_generated/diffeq.s"
+	@echo "... nocmodl_generated/lex.o"
+	@echo "... nocmodl_generated/lex.i"
+	@echo "... nocmodl_generated/lex.s"
+	@echo "... nocmodl_generated/parse1.o"
+	@echo "... nocmodl_generated/parse1.i"
+	@echo "... nocmodl_generated/parse1.s"
+	@echo "... nonlinz.o"
+	@echo "... nonlinz.i"
+	@echo "... nonlinz.s"
+	@echo "... nrncore_write.o"
+	@echo "... nrncore_write.i"
+	@echo "... nrncore_write.s"
+	@echo "... nrncore_write/callbacks/nrncore_callbacks.o"
+	@echo "... nrncore_write/callbacks/nrncore_callbacks.i"
+	@echo "... nrncore_write/callbacks/nrncore_callbacks.s"
+	@echo "... nrncore_write/data/cell_group.o"
+	@echo "... nrncore_write/data/cell_group.i"
+	@echo "... nrncore_write/data/cell_group.s"
+	@echo "... nrncore_write/data/datum_indices.o"
+	@echo "... nrncore_write/data/datum_indices.i"
+	@echo "... nrncore_write/data/datum_indices.s"
+	@echo "... nrncore_write/io/nrncore_io.o"
+	@echo "... nrncore_write/io/nrncore_io.i"
+	@echo "... nrncore_write/io/nrncore_io.s"
+	@echo "... nrncore_write/utils/nrncore_utils.o"
+	@echo "... nrncore_write/utils/nrncore_utils.i"
+	@echo "... nrncore_write/utils/nrncore_utils.s"
+	@echo "... nrndae.o"
+	@echo "... nrndae.i"
+	@echo "... nrndae.s"
+	@echo "... nrnmenu.o"
+	@echo "... nrnmenu.i"
+	@echo "... nrnmenu.s"
+	@echo "... nrnpy.o"
+	@echo "... nrnpy.i"
+	@echo "... nrnpy.s"
+	@echo "... nrnste.o"
+	@echo "... nrnste.i"
+	@echo "... nrnste.s"
+	@echo "... nvector_nrnparallel_ld.o"
+	@echo "... nvector_nrnparallel_ld.i"
+	@echo "... nvector_nrnparallel_ld.s"
+	@echo "... nvector_nrnserial_ld.o"
+	@echo "... nvector_nrnserial_ld.i"
+	@echo "... nvector_nrnserial_ld.s"
+	@echo "... nvector_nrnthread.o"
+	@echo "... nvector_nrnthread.i"
+	@echo "... nvector_nrnthread.s"
+	@echo "... nvector_nrnthread_ld.o"
+	@echo "... nvector_nrnthread_ld.i"
+	@echo "... nvector_nrnthread_ld.s"
+	@echo "... oc_generated/parse.o"
+	@echo "... oc_generated/parse.i"
+	@echo "... oc_generated/parse.s"
+	@echo "... ocbbs.o"
+	@echo "... ocbbs.i"
+	@echo "... ocbbs.s"
+	@echo "... ocjump.o"
+	@echo "... ocjump.i"
+	@echo "... ocjump.s"
+	@echo "... partrans.o"
+	@echo "... partrans.i"
+	@echo "... partrans.s"
+	@echo "... ppshape.o"
+	@echo "... ppshape.i"
+	@echo "... ppshape.s"
+	@echo "... prcellstate.o"
+	@echo "... prcellstate.i"
+	@echo "... prcellstate.s"
+	@echo "... pysecname2sec.o"
+	@echo "... pysecname2sec.i"
+	@echo "... pysecname2sec.s"
+	@echo "... rotate3d.o"
+	@echo "... rotate3d.i"
+	@echo "... rotate3d.s"
+	@echo "... savstate.o"
+	@echo "... savstate.i"
+	@echo "... savstate.s"
+	@echo "... secbrows.o"
+	@echo "... secbrows.i"
+	@echo "... secbrows.s"
+	@echo "... shape.o"
+	@echo "... shape.i"
+	@echo "... shape.s"
+	@echo "... shapeplt.o"
+	@echo "... shapeplt.i"
+	@echo "... shapeplt.s"
+	@echo "... singlech.o"
+	@echo "... singlech.i"
+	@echo "... singlech.s"
+	@echo "... spaceplt.o"
+	@echo "... spaceplt.i"
+	@echo "... spaceplt.s"
+	@echo "... splitcell.o"
+	@echo "... splitcell.i"
+	@echo "... splitcell.s"
+	@echo "... symdir.o"
+	@echo "... symdir.i"
+	@echo "... symdir.s"
+	@echo "... vrecord.o"
+	@echo "... vrecord.i"
+	@echo "... vrecord.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/cmake_install.cmake
@@ -0,0 +1,151 @@
+# Install script for directory: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrniv
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv"
+         RPATH "/usr/lib/nrn:/usr/lib/loongarch64-linux-gnu/openmpi/lib")
+  endif()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nrniv")
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv"
+         OLD_RPATH "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib:/usr/lib/loongarch64-linux-gnu/openmpi/lib:"
+         NEW_RPATH "/usr/lib/nrn:/usr/lib/loongarch64-linux-gnu/openmpi/lib")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nrniv")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl"
+         RPATH "/usr/lib/nrn")
+  endif()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/nocmodl")
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl"
+         OLD_RPATH "::::::::::::"
+         NEW_RPATH "/usr/lib/nrn")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/nocmodl")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit"
+         RPATH "/usr/lib/nrn")
+  endif()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/bin/modlunit")
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit"
+         OLD_RPATH "::::::::::::"
+         NEW_RPATH "/usr/lib/nrn")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/modlunit")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/libnrniv.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/libnrniv.so")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}/usr/lib/libnrniv.so"
+         RPATH "/usr/lib/nrn:/usr/lib/loongarch64-linux-gnu/openmpi/lib")
+  endif()
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/libnrniv.so")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib" TYPE SHARED_LIBRARY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/libnrniv.so")
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/libnrniv.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/libnrniv.so")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}/usr/lib/libnrniv.so"
+         OLD_RPATH "/usr/lib/loongarch64-linux-gnu/openmpi/lib:::::::::::::"
+         NEW_RPATH "/usr/lib/nrn:/usr/lib/loongarch64-linux-gnu/openmpi/lib")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/lib/libnrniv.so")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/nrn" TYPE FILE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/ivoc/nrnmain.cpp")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/nrncvode" TYPE FILE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrncvode/nrnneosm.h")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/nrnconf.h")
+endif()
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/lex.cpp
@@ -0,0 +1,2216 @@
+#line 2 "lex.cpp"
+
+#line 4 "lex.cpp"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#ifndef SIZE_MAX
+#define SIZE_MAX               (~(size_t)0)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+/* begin standard C++ headers. */
+
+/* TODO: this is always defined, so inline it */
+#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
+#else
+#define yynoreturn
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an
+ *   integer in range [0..255] for use as an array index.
+ */
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin  )
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
+#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+    
+    #define YY_LESS_LINENO(n)
+    #define YY_LINENO_REWIND_TO(ptr)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	int yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = NULL;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart ( FILE *input_file  );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
+void yy_delete_buffer ( YY_BUFFER_STATE b  );
+void yy_flush_buffer ( YY_BUFFER_STATE b  );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state ( void );
+
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
+
+void *yyalloc ( yy_size_t  );
+void *yyrealloc ( void *, yy_size_t  );
+void yyfree ( void *  );
+
+#define yy_new_buffer yy_create_buffer
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+typedef flex_uint8_t YY_CHAR;
+
+FILE *yyin = NULL, *yyout = NULL;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+int yylineno = 1;
+
+extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (int) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+#define YY_NUM_RULES 38
+#define YY_END_OF_BUFFER 39
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static const flex_int16_t yy_accept[115] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,   39,   38,   30,   23,   26,   25,
+       17,   30,   30,   30,    6,   27,   13,   30,   11,    5,
+        5,   28,   30,   29,   22,   37,   35,   37,   34,   33,
+       37,   36,    3,   38,   38,   23,   24,   16,    0,   10,
+       18,    8,    7,    6,    0,   27,    0,   14,   15,   12,
+        1,    5,    5,   19,   21,    0,    0,    0,    4,    0,
+        0,    7,    0,    0,    9,   20,    5,    0,    0,    4,
+        0,    0,    0,    8,    0,    0,    7,    5,    0,    0,
+        0,    4,    0,    7,    5,    0,    0,    5,    0,    0,
+
+        5,    0,    0,    5,    0,    0,    5,    0,    0,    2,
+       31,    0,   32,    0
+    } ;
+
+static const YY_CHAR yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    5,    6,    1,    1,    1,    7,    8,    1,
+        9,    1,   10,    1,   11,   12,    1,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   14,    1,   15,
+       16,   17,   18,    1,   19,   20,   21,   22,   23,   24,
+       24,   24,   25,   24,   24,   24,   26,   27,   28,   29,
+       24,   30,   31,   32,   24,   33,   24,   24,   24,   24,
+       34,    1,   35,    1,   36,    1,   24,   24,   24,   24,
+
+       37,   24,   24,   24,   24,   24,   24,   24,   24,   24,
+       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
+       24,   24,   38,   39,   40,   41,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static const YY_CHAR yy_meta[42] =
+    {   0,
+        1,    1,    2,    1,    1,    1,    1,    3,    1,    1,
+        1,    1,    4,    5,    1,    1,    1,    1,    6,    6,
+        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
+        6,    6,    6,    1,    7,    4,    6,    1,    1,    1,
+        1
+    } ;
+
+static const flex_int16_t yy_base[125] =
+    {   0,
+        0,    0,    0,    0,   39,   40,   41,   42,   43,   44,
+      212,  211,   65,    0,  213,  216,  216,  210,  216,  208,
+      194,  203,  201,  194,   36,    0,   41,  190,  189,  196,
+       46,  216,  164,  216,  192,  216,  216,  174,  216,  216,
+      173,  216,  216,  185,    0,  196,  216,  216,  191,  216,
+      216,   42,   87,   91,   61,    0,  179,  216,  216,  216,
+      187,  186,   48,  216,  216,  171,  170,  177,    0,  176,
+       65,   88,   70,  176,  175,  216,   52,  166,  153,    0,
+      171,  147,  163,  157,   95,  149,  125,   99,  108,  112,
+       98,  216,  118,  117,  101,  103,   96,  104,   97,  101,
+
+      107,   97,  100,  105,   91,   85,  108,   38,   39,   53,
+      216,   32,  216,  216,  139,  146,  153,  160,  165,  168,
+       47,  171,  174,  177
+    } ;
+
+static const flex_int16_t yy_def[125] =
+    {   0,
+      115,  115,  114,    3,  116,  116,  116,  116,  116,  116,
+      116,  116,  115,   13,  114,  114,  114,  114,  114,  114,
+      114,  117,  114,  114,  114,  118,  114,  114,  114,  119,
+      119,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  120,  121,  114,  114,  114,  117,  114,
+      114,  114,  114,  114,  114,  118,  114,  114,  114,  114,
+      114,  119,  119,  114,  114,  114,  114,  120,  122,  123,
+      114,  114,  114,  114,  114,  114,  119,  114,  114,  122,
+      123,  124,  114,  114,  114,  114,  114,  119,  114,  114,
+      124,  114,  114,  114,  119,  114,  114,  119,  114,  114,
+
+      119,  114,  114,  119,  114,  114,  119,  114,  114,  119,
+      114,  114,  114,    0,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114
+    } ;
+
+static const flex_int16_t yy_nxt[258] =
+    {   0,
+       17,   18,   19,   20,   21,   22,   23,   17,   17,   17,
+       17,   24,   25,   26,   27,   28,   29,   26,   30,   30,
+       30,   30,   30,   30,   30,   30,   30,   30,   30,   31,
+       30,   30,   30,   17,   17,   17,   30,   32,   33,   34,
+       35,   37,   37,   39,   39,   37,   37,   53,   54,   40,
+       40,   57,   70,   61,   52,   61,   58,  113,   55,   61,
+       61,   38,   38,  112,   71,   41,   41,   43,   63,  111,
+       74,   74,   55,   75,   83,   83,   77,   84,   71,   86,
+       86,   88,   87,   44,   44,   44,   44,   44,   44,   44,
+       44,   44,   44,   44,   44,   44,   44,   44,   45,   72,
+
+       72,   44,   53,   54,   93,   93,   61,   94,   61,   73,
+       85,   61,   61,   55,   61,   61,  109,  108,  106,  105,
+      103,   95,  102,   73,   85,  100,  101,   55,   99,   94,
+       94,   98,   92,  104,   97,   96,  107,   87,  110,   16,
+       16,   16,   16,   16,   16,   16,   36,   36,   36,   36,
+       36,   36,   36,   49,   49,   49,   49,   49,   49,   49,
+       56,   87,   56,   56,   56,   56,   56,   62,   62,   84,
+       62,   68,   68,   68,   80,   84,   80,   81,   81,   81,
+       91,   92,   91,   91,   82,   90,   89,   75,   75,   82,
+       69,   79,   78,   61,   61,   76,   50,   46,   69,   67,
+
+       66,   65,   64,   61,   60,   59,   52,   51,   50,   48,
+       47,   46,  114,   42,   42,   15,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114
+    } ;
+
+static const flex_int16_t yy_chk[258] =
+    {   0,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    5,    6,    7,    8,    9,   10,   25,   25,    7,
+        8,   27,  121,   31,   52,   63,   27,  112,   25,   77,
+      110,    5,    6,  109,   52,    9,   10,   13,   31,  108,
+       55,   55,   25,   55,   71,   71,   63,   71,   52,   73,
+       73,   77,   73,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   53,
+
+       72,   13,   54,   54,   85,   85,   88,   85,   95,   53,
+       72,   98,  104,   54,  101,  107,  106,  105,  103,  102,
+      100,   88,   99,   53,   72,   97,   98,   54,   96,   94,
+       93,   95,   91,  101,   90,   89,  104,   87,  107,  115,
+      115,  115,  115,  115,  115,  115,  116,  116,  116,  116,
+      116,  116,  116,  117,  117,  117,  117,  117,  117,  117,
+      118,   86,  118,  118,  118,  118,  118,  119,  119,   84,
+      119,  120,  120,  120,  122,   83,  122,  123,  123,  123,
+      124,   82,  124,  124,   81,   79,   78,   75,   74,   70,
+       68,   67,   66,   62,   61,   57,   49,   46,   44,   41,
+
+       38,   35,   33,   30,   29,   28,   24,   23,   22,   21,
+       20,   18,   15,   12,   11,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
+      114,  114,  114,  114,  114,  114,  114
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "../../../../src/modlunit/lex.lpp"
+#line 2 "../../../../src/modlunit/lex.lpp"
+/* /local/src/master/nrn/src/modlunit/lex.l,v 1.3 1999/05/24 18:44:51 hines Exp */
+
+#undef output
+#undef unput
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	{ \
+	int c = Getc(); \
+	result = (c==EOF) ? YY_NULL : (buf[0]=c, 1); \
+	}
+#else
+#undef input
+#endif
+
+#include <../../nmodlconf.h>
+#include "model.h"
+#include "parse1.hpp"
+
+static char linebuf[512], *cp;
+int lexcontext;
+
+extern int unput(int);
+extern int unGetc(int);
+extern int Getc();
+
+#define debug(arg1,arg2) /*printf("lex:arg1|%s|\n", arg2);*/
+#line 567 "lex.cpp"
+
+#line 569 "lex.cpp"
+
+#define INITIAL 0
+#define O 1
+#define to_eocom 2
+#define to_par 3
+#define to_eoverb 4
+#define to_eol 5
+#define ontology 6
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals ( void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy ( void );
+
+int yyget_debug ( void );
+
+void yyset_debug ( int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra ( void );
+
+void yyset_extra ( YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in ( void );
+
+void yyset_in  ( FILE * _in_str  );
+
+FILE *yyget_out ( void );
+
+void yyset_out  ( FILE * _out_str  );
+
+			int yyget_leng ( void );
+
+char *yyget_text ( void );
+
+int yyget_lineno ( void );
+
+void yyset_lineno ( int _line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap ( void );
+#else
+extern int yywrap ( void );
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+    
+    static void yyunput ( int c, char *buf_ptr  );
+    
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy ( char *, const char *, int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen ( const char * );
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput ( void );
+#else
+static int input ( void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
+#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		int n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK /*LINTED*/break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	yy_state_type yy_current_state;
+	char *yy_cp, *yy_bp;
+	int yy_act;
+    
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer( yyin, YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state(  );
+		}
+
+	{
+#line 35 "../../../../src/modlunit/lex.lpp"
+
+#line 794 "lex.cpp"
+
+	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		do
+			{
+			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 115 )
+					yy_c = yy_meta[yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 216 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 36 "../../../../src/modlunit/lex.lpp"
+{ /*PRIME possibly high order*/
+	yylval.qp = putintoken(yytext, PRIME, 0);
+	return PRIME;
+}
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 41 "../../../../src/modlunit/lex.lpp"
+{
+	BEGIN ontology;
+}
+	YY_BREAK
+case 3:
+/* rule 3 can match eol */
+YY_RULE_SETUP
+#line 45 "../../../../src/modlunit/lex.lpp"
+{
+	BEGIN O;
+}
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 49 "../../../../src/modlunit/lex.lpp"
+{ /*ONTOLOGY_ID*/
+	BEGIN O;
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 53 "../../../../src/modlunit/lex.lpp"
+{ /*NAME*/
+	Symbol *s;
+
+	yylval.qp = putintoken(yytext, NAME, 0);
+	s = SYM(yylval.qp);
+	switch (s->type) {
+		case TITLE:
+			BEGIN to_eol;
+			cp = linebuf;
+			break;
+		case COMMENT:
+			BEGIN to_eocom;
+			cp = linebuf;
+			break;
+		case VERBATIM:
+			BEGIN to_eoverb;
+			cp = linebuf;
+			break;
+	}
+	return s->type;
+}
+	YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 75 "../../../../src/modlunit/lex.lpp"
+{ /*INTEGER*/
+	yylval.qp = putintoken(yytext, INTEGER, INTEGER); /* Numbers are not looked for */
+	return INTEGER;
+}
+	YY_BREAK
+case 7:
+#line 82 "../../../../src/modlunit/lex.lpp"
+case 8:
+#line 83 "../../../../src/modlunit/lex.lpp"
+case 9:
+YY_RULE_SETUP
+#line 83 "../../../../src/modlunit/lex.lpp"
+{ /*REAL*/
+	yylval.qp = putintoken(yytext, REAL, REAL); /* Numbers are not looked for */
+	return REAL;
+}
+	YY_BREAK
+case 10:
+/* rule 10 can match eol */
+YY_RULE_SETUP
+#line 88 "../../../../src/modlunit/lex.lpp"
+{ /* STRING */
+	yylval.qp = putintoken(yytext, STRING, STRING);
+	return STRING;
+		/* can't quote \" */
+}
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 94 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, GT); return GT;}
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 95 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, GE); return GE;}
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 96 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, LT); return LT;}
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 97 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, LE); return LE;}
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 98 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, EQ); return EQ;}
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 99 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, NE); return NE;}
+	YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 100 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, NOT); return NOT;}
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 101 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, AND); return AND;}
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 102 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, OR); return OR;}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 104 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, REACT1); return REACT1;}
+	YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 106 "../../../../src/modlunit/lex.lpp"
+{ /* syntactic sugar for equation addition */
+	yylval.qp = putintoken(yytext, 0, NONLIN1);
+	if (lexcontext == NONLINEAR) return NONLIN1;
+	if (lexcontext == LINEAR){yylval.qp->itemsubtype = LINEAR; return LIN1;}
+	diag("equation addition can't occur in this type of block", (char *)0);
+	}
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 113 "../../../../src/modlunit/lex.lpp"
+{ /* syntactic sugar for equations */
+	yylval.qp = putintoken(yytext, 0, 0);
+	if (lexcontext == PARTIAL) {
+		yylval.qp->itemsubtype = PARTEQN;
+		 return PARTEQN;
+	}else if (lexcontext == KINETIC) {
+		yylval.qp->itemsubtype = REACTION;
+		 return REACTION;
+	}else{
+		yylval.qp->itemsubtype = yytext[0];
+		return yytext[0];
+	}
+	}
+	YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 127 "../../../../src/modlunit/lex.lpp"
+{ putintoken(yytext, SPACE, SPACE);}
+	YY_BREAK
+case 24:
+/* rule 24 can match eol */
+YY_RULE_SETUP
+#line 129 "../../../../src/modlunit/lex.lpp"
+{ putintoken("\n", NEWLINE, 0);}
+	YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 130 "../../../../src/modlunit/lex.lpp"
+{ putintoken("\n", NEWLINE, 0);}
+	YY_BREAK
+case 26:
+/* rule 26 can match eol */
+YY_RULE_SETUP
+#line 131 "../../../../src/modlunit/lex.lpp"
+{ putintoken(yytext, NEWLINE, 0);}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+#line 133 "../../../../src/modlunit/lex.lpp"
+{ putintoken(yytext, STRING, STUFF);}
+	YY_BREAK
+case 28:
+YY_RULE_SETUP
+#line 135 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken("{", 0, '{'); return yytext[0]; }
+	YY_BREAK
+case 29:
+YY_RULE_SETUP
+#line 136 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken("}", 0, '}'); return yytext[0]; }
+	YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 137 "../../../../src/modlunit/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0, yytext[0]); return yytext[0]; }
+	YY_BREAK
+case 31:
+YY_RULE_SETUP
+#line 139 "../../../../src/modlunit/lex.lpp"
+{
+	if (cp != linebuf) {
+		*cp = '\0';
+		putintoken(linebuf, STRING, STUFF);
+	}
+	cp = linebuf;
+	BEGIN O;
+	yylval.qp = putintoken(yytext, NAME, 0);
+	return SYM(yylval.qp)->type;
+}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+#line 150 "../../../../src/modlunit/lex.lpp"
+{
+	if (cp != linebuf) {
+		*cp = '\0';
+		putintoken(linebuf, STRING, STUFF);
+	}
+	cp = linebuf;
+	BEGIN O;
+	yylval.qp = putintoken(yytext, NAME, 0);
+	return SYM(yylval.qp)->type;
+}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+#line 161 "../../../../src/modlunit/lex.lpp"
+{
+	*cp = '\0';
+	yylval.qp = putintoken(linebuf, STRING, UNITS);
+	cp = linebuf;
+	unput(')');
+	BEGIN O;
+	return UNITS;
+	}
+	YY_BREAK
+case 34:
+/* rule 34 can match eol */
+YY_RULE_SETUP
+#line 170 "../../../../src/modlunit/lex.lpp"
+{
+	diag("Units not terminated by ')'", (char *)0);
+}
+	YY_BREAK
+case 35:
+/* rule 35 can match eol */
+YY_RULE_SETUP
+#line 174 "../../../../src/modlunit/lex.lpp"
+{
+	if (cp != linebuf) {
+		*cp = '\0';
+		putintoken(linebuf, STRING, STUFF);
+	}
+	cp = linebuf;
+	putintoken(yytext, NEWLINE, 0);
+	}
+	YY_BREAK
+case 36:
+/* rule 36 can match eol */
+YY_RULE_SETUP
+#line 183 "../../../../src/modlunit/lex.lpp"
+{
+	*cp = '\0';
+	yylval.qp = putintoken(linebuf, STRING, TO_EOL);
+	cp = linebuf;
+	BEGIN O;
+	putintoken(yytext, NEWLINE, 0);
+	return TO_EOL;
+	}
+	YY_BREAK
+case 37:
+YY_RULE_SETUP
+#line 192 "../../../../src/modlunit/lex.lpp"
+{ *cp++ = yytext[0];}
+	YY_BREAK
+case 38:
+YY_RULE_SETUP
+#line 194 "../../../../src/modlunit/lex.lpp"
+ECHO;
+	YY_BREAK
+#line 1139 "lex.cpp"
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(O):
+case YY_STATE_EOF(to_eocom):
+case YY_STATE_EOF(to_par):
+case YY_STATE_EOF(to_eoverb):
+case YY_STATE_EOF(to_eol):
+case YY_STATE_EOF(ontology):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap(  ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+	} /* end of user's declarations */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	char *source = (yytext_ptr);
+	int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc( (void *) b->yy_ch_buf,
+							 (yy_size_t) (b->yy_buf_size + 2)  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = NULL;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart( yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+		/* "- 2" to take care of EOB's */
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	yy_state_type yy_current_state;
+	char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 115 )
+				yy_c = yy_meta[yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	int yy_is_jam;
+    	char *yy_cp = (yy_c_buf_p);
+
+	YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 115 )
+			yy_c = yy_meta[yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+	yy_is_jam = (yy_current_state == 114);
+
+		return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_UNPUT
+
+    static void yyunput (int c, char * yy_bp )
+{
+	char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up yytext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		int number_to_move = (yy_n_chars) + 2;
+		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart( yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap(  ) )
+						return 0;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer( yyin, YY_BUF_SIZE );
+	}
+
+	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+	yy_load_buffer_state(  );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state(  );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer( b, file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree( (void *) b->yy_ch_buf  );
+
+	yyfree( (void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer( b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state(  );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state(  );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state(  );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	yy_size_t num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		yy_size_t grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return NULL;
+
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = NULL;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer( b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
+{
+    
+	return yy_scan_bytes( yystr, (int) strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = (yy_size_t) (_yybytes_len + 2);
+	buf = (char *) yyalloc( n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer( buf, n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yynoreturn yy_fatal_error (const char* msg )
+{
+			fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+    
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param _line_number line number
+ * 
+ */
+void yyset_lineno (int  _line_number )
+{
+    
+    yylineno = _line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param _in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  _in_str )
+{
+        yyin = _in_str ;
+}
+
+void yyset_out (FILE *  _out_str )
+{
+        yyout = _out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  _bdebug )
+{
+        yy_flex_debug = _bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = NULL;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = NULL;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = NULL;
+    yyout = NULL;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer( YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
+{
+		
+	int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (const char * s )
+{
+	int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+			return malloc(size);
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+		
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return realloc(ptr, size);
+}
+
+void yyfree (void * ptr )
+{
+			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 194 "../../../../src/modlunit/lex.lpp"
+
+
+void lex_start() {
+	BEGIN O;
+}
+
+void lex_units() {
+	cp = linebuf;
+	BEGIN to_par;
+}
+
+#ifndef FLEX_SCANNER
+int input() {
+	int c;
+	c = Getc();
+	if (c == EOF) {
+		c = 0;
+	}
+	return c;
+}
+#endif
+
+int unput(int c) {
+	return unGetc(c);
+}
+
+int output(int c) {
+#if LINT
+	IGNORE(c);
+#endif
+	diag("internal error: ", "called output");
+	return 0;
+}
+
+int yywrap() {
+	if (YYSTATE == to_eoverb) {
+		diag("End of file while in VERBATIM mode.\n",
+			 "Missing ENDVERBATIM?");
+	}
+	if (YYSTATE == to_eocom) {
+		diag("End of file while in COMMENT mode.\n",
+			 "Missing ENDCOMMENT?");
+	}
+	return 1;
+}
+
+/* lex.l,v
+ * Revision 1.3  1999/05/24  18:44:51  hines
+ * modlunit lex can be translated by flex
+ *
+ * Revision 1.2  1997/11/05  17:58:02  hines
+ * unix, mac, dos new lines readable on any machine
+ *
+ * Revision 1.1.1.1  1994/10/12  17:22:52  hines
+ * NEURON 3.0 distribution
+ *
+ * Revision 1.3  1994/03/17  15:21:11  hines
+ * ? token same as comment : token
+ *
+ * Revision 1.2  1990/11/13  16:14:06  hines
+ * prototype units checking
+ *
+ * Revision 1.1  90/07/02  09:01:47  hines
+ * Initial revision
+ *  */
+
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.cpp
@@ -0,0 +1,3792 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output, and Bison version.  */
+#define YYBISON 30802
+
+/* Bison version string.  */
+#define YYBISON_VERSION "3.8.2"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+
+
+
+/* First part of user prologue.  */
+#line 1 "../../../../src/modlunit/parse1.ypp"
+
+/* /local/src/master/nrn/src/modlunit/parse1.y,v 1.11 1999/02/27 21:13:50 hines Exp */
+
+#include <../../nmodlconf.h>
+#include <stdlib.h>
+#include "model.h"
+
+/* Constructs a parse tree. No translation is done, ie. on exit printing
+the intoken list will make an exact copy of the input file.
+All tokens and productions are of Item type and consist of STRING, SYMBOL,
+and LIST.
+SPACE and NEWLINE are in the intoken list but are not yacc tokens.
+
+All explicitly declared names are given their subtype
+and a pointer to their declaration. All "used" names are marked with
+their usage for later error checking.
+*/
+
+extern Symbol *checklocal(Symbol*);
+extern int next_intoken(Item**);
+extern Item *title;
+extern int declare_level;
+extern int parse_pass, restart_pass;
+extern List *solvelist;
+
+extern int conductance_seen_;
+extern int breakpoint_local_seen_;
+
+#define IFP(n)	if (parse_pass == n)
+#define IFR(n)	if (restart_pass == n)
+#define P1	IFP(1)
+#define P2	IFP(2)
+#define P3	IFP(3)
+#define R0	IFR(0)
+#define R1	IFR(1)
+
+static int yylex();
+static void yyerror(char *);
+
+#if YYBISON 
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++))yyerror(arg); --yyssp; --yyvsp; YYERROR
+#else
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++))yyerror(arg); --yyps; --yypv; YYERROR
+#endif
+
+extern Item *lastok;	/* last token accepted by expr */
+static int blocktype;
+static int unitflagsave; /*must turn off units in restartpass0 in kinetic block */
+static List* netreceive_arglist;
+static List* args;
+extern int lexcontext;
+
+#line 126 "parse1.cpp"
+
+# ifndef YY_CAST
+#  ifdef __cplusplus
+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+#  else
+#   define YY_CAST(Type, Val) ((Type) (Val))
+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+#  endif
+# endif
+# ifndef YY_NULLPTR
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
+#  else
+#   define YY_NULLPTR ((void*)0)
+#  endif
+# endif
+
+#include "parse1.hpp"
+/* Symbol kind.  */
+enum yysymbol_kind_t
+{
+  YYSYMBOL_YYEMPTY = -2,
+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+  YYSYMBOL_YYerror = 1,                    /* error  */
+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+  YYSYMBOL_VERBATIM = 3,                   /* VERBATIM  */
+  YYSYMBOL_COMMENT = 4,                    /* COMMENT  */
+  YYSYMBOL_TITLE = 5,                      /* TITLE  */
+  YYSYMBOL_CONSTANT = 6,                   /* CONSTANT  */
+  YYSYMBOL_INDEPENDENT = 7,                /* INDEPENDENT  */
+  YYSYMBOL_ASSIGNED = 8,                   /* ASSIGNED  */
+  YYSYMBOL_STATE = 9,                      /* STATE  */
+  YYSYMBOL_END_VERBATIM = 10,              /* END_VERBATIM  */
+  YYSYMBOL_END_COMMENT = 11,               /* END_COMMENT  */
+  YYSYMBOL_UNITS = 12,                     /* UNITS  */
+  YYSYMBOL_BREAKPOINT = 13,                /* BREAKPOINT  */
+  YYSYMBOL_PARAMETER = 14,                 /* PARAMETER  */
+  YYSYMBOL_INT = 15,                       /* INT  */
+  YYSYMBOL_INITIAL1 = 16,                  /* INITIAL1  */
+  YYSYMBOL_DERIVATIVE = 17,                /* DERIVATIVE  */
+  YYSYMBOL_SOLVE = 18,                     /* SOLVE  */
+  YYSYMBOL_USING = 19,                     /* USING  */
+  YYSYMBOL_WITH = 20,                      /* WITH  */
+  YYSYMBOL_STEPPED = 21,                   /* STEPPED  */
+  YYSYMBOL_DISCRETE = 22,                  /* DISCRETE  */
+  YYSYMBOL_FROM = 23,                      /* FROM  */
+  YYSYMBOL_TO = 24,                        /* TO  */
+  YYSYMBOL_BY = 25,                        /* BY  */
+  YYSYMBOL_WHILE = 26,                     /* WHILE  */
+  YYSYMBOL_IF = 27,                        /* IF  */
+  YYSYMBOL_ELSE = 28,                      /* ELSE  */
+  YYSYMBOL_START1 = 29,                    /* START1  */
+  YYSYMBOL_STEP = 30,                      /* STEP  */
+  YYSYMBOL_SENS = 31,                      /* SENS  */
+  YYSYMBOL_SOLVEFOR = 32,                  /* SOLVEFOR  */
+  YYSYMBOL_PROCEDURE = 33,                 /* PROCEDURE  */
+  YYSYMBOL_PARTIAL = 34,                   /* PARTIAL  */
+  YYSYMBOL_DEL = 35,                       /* DEL  */
+  YYSYMBOL_DEL2 = 36,                      /* DEL2  */
+  YYSYMBOL_DEFINE1 = 37,                   /* DEFINE1  */
+  YYSYMBOL_IFERROR = 38,                   /* IFERROR  */
+  YYSYMBOL_DERFUNC = 39,                   /* DERFUNC  */
+  YYSYMBOL_EQUATION = 40,                  /* EQUATION  */
+  YYSYMBOL_TERMINAL = 41,                  /* TERMINAL  */
+  YYSYMBOL_LINEAR = 42,                    /* LINEAR  */
+  YYSYMBOL_NONLINEAR = 43,                 /* NONLINEAR  */
+  YYSYMBOL_FUNCTION1 = 44,                 /* FUNCTION1  */
+  YYSYMBOL_LOCAL = 45,                     /* LOCAL  */
+  YYSYMBOL_METHOD = 46,                    /* METHOD  */
+  YYSYMBOL_LIN1 = 47,                      /* LIN1  */
+  YYSYMBOL_NONLIN1 = 48,                   /* NONLIN1  */
+  YYSYMBOL_PUTQ = 49,                      /* PUTQ  */
+  YYSYMBOL_GETQ = 50,                      /* GETQ  */
+  YYSYMBOL_FUNCTION_TABLE = 51,            /* FUNCTION_TABLE  */
+  YYSYMBOL_INCLUDE1 = 52,                  /* INCLUDE1  */
+  YYSYMBOL_PROTECT = 53,                   /* PROTECT  */
+  YYSYMBOL_54_ = 54,                       /* '{'  */
+  YYSYMBOL_55_ = 55,                       /* '}'  */
+  YYSYMBOL_56_ = 56,                       /* '('  */
+  YYSYMBOL_57_ = 57,                       /* ')'  */
+  YYSYMBOL_58_ = 58,                       /* '['  */
+  YYSYMBOL_59_ = 59,                       /* ']'  */
+  YYSYMBOL_60_ = 60,                       /* '@'  */
+  YYSYMBOL_61_ = 61,                       /* '+'  */
+  YYSYMBOL_62_ = 62,                       /* '*'  */
+  YYSYMBOL_63_ = 63,                       /* '-'  */
+  YYSYMBOL_64_ = 64,                       /* '/'  */
+  YYSYMBOL_65_ = 65,                       /* '='  */
+  YYSYMBOL_66_ = 66,                       /* '^'  */
+  YYSYMBOL_67_ = 67,                       /* ':'  */
+  YYSYMBOL_68_ = 68,                       /* ','  */
+  YYSYMBOL_69_ = 69,                       /* '~'  */
+  YYSYMBOL_OR = 70,                        /* OR  */
+  YYSYMBOL_AND = 71,                       /* AND  */
+  YYSYMBOL_GT = 72,                        /* GT  */
+  YYSYMBOL_GE = 73,                        /* GE  */
+  YYSYMBOL_LT = 74,                        /* LT  */
+  YYSYMBOL_LE = 75,                        /* LE  */
+  YYSYMBOL_EQ = 76,                        /* EQ  */
+  YYSYMBOL_NE = 77,                        /* NE  */
+  YYSYMBOL_NOT = 78,                       /* NOT  */
+  YYSYMBOL_NAME = 79,                      /* NAME  */
+  YYSYMBOL_PRIME = 80,                     /* PRIME  */
+  YYSYMBOL_REAL = 81,                      /* REAL  */
+  YYSYMBOL_INTEGER = 82,                   /* INTEGER  */
+  YYSYMBOL_DEFINEDVAR = 83,                /* DEFINEDVAR  */
+  YYSYMBOL_KINETIC = 84,                   /* KINETIC  */
+  YYSYMBOL_CONSERVE = 85,                  /* CONSERVE  */
+  YYSYMBOL_REACTION = 86,                  /* REACTION  */
+  YYSYMBOL_REACT1 = 87,                    /* REACT1  */
+  YYSYMBOL_COMPARTMENT = 88,               /* COMPARTMENT  */
+  YYSYMBOL_LONGDIFUS = 89,                 /* LONGDIFUS  */
+  YYSYMBOL_PARTEQN = 90,                   /* PARTEQN  */
+  YYSYMBOL_STRING = 91,                    /* STRING  */
+  YYSYMBOL_PLOT = 92,                      /* PLOT  */
+  YYSYMBOL_VS = 93,                        /* VS  */
+  YYSYMBOL_LAG = 94,                       /* LAG  */
+  YYSYMBOL_RESET = 95,                     /* RESET  */
+  YYSYMBOL_MATCH = 96,                     /* MATCH  */
+  YYSYMBOL_MODEL_LEVEL = 97,               /* MODEL_LEVEL  */
+  YYSYMBOL_SWEEP = 98,                     /* SWEEP  */
+  YYSYMBOL_FIRST = 99,                     /* FIRST  */
+  YYSYMBOL_LAST = 100,                     /* LAST  */
+  YYSYMBOL_SPACE = 101,                    /* SPACE  */
+  YYSYMBOL_NEWLINE = 102,                  /* NEWLINE  */
+  YYSYMBOL_TO_EOL = 103,                   /* TO_EOL  */
+  YYSYMBOL_STUFF = 104,                    /* STUFF  */
+  YYSYMBOL_UNITBLK = 105,                  /* UNITBLK  */
+  YYSYMBOL_UNITSON = 106,                  /* UNITSON  */
+  YYSYMBOL_UNITSOFF = 107,                 /* UNITSOFF  */
+  YYSYMBOL_TABLE = 108,                    /* TABLE  */
+  YYSYMBOL_DEPEND = 109,                   /* DEPEND  */
+  YYSYMBOL_NEURON = 110,                   /* NEURON  */
+  YYSYMBOL_SUFFIX = 111,                   /* SUFFIX  */
+  YYSYMBOL_NONSPECIFIC = 112,              /* NONSPECIFIC  */
+  YYSYMBOL_READ = 113,                     /* READ  */
+  YYSYMBOL_WRITE = 114,                    /* WRITE  */
+  YYSYMBOL_USEION = 115,                   /* USEION  */
+  YYSYMBOL_VALENCE = 116,                  /* VALENCE  */
+  YYSYMBOL_GLOBAL = 117,                   /* GLOBAL  */
+  YYSYMBOL_SECTION = 118,                  /* SECTION  */
+  YYSYMBOL_RANGE = 119,                    /* RANGE  */
+  YYSYMBOL_POINTER = 120,                  /* POINTER  */
+  YYSYMBOL_EXTERNAL = 121,                 /* EXTERNAL  */
+  YYSYMBOL_BEFORE = 122,                   /* BEFORE  */
+  YYSYMBOL_AFTER = 123,                    /* AFTER  */
+  YYSYMBOL_ELECTRODE_CURRENT = 124,        /* ELECTRODE_CURRENT  */
+  YYSYMBOL_CONSTRUCTOR = 125,              /* CONSTRUCTOR  */
+  YYSYMBOL_DESTRUCTOR = 126,               /* DESTRUCTOR  */
+  YYSYMBOL_NETRECEIVE = 127,               /* NETRECEIVE  */
+  YYSYMBOL_FOR_NETCONS = 128,              /* FOR_NETCONS  */
+  YYSYMBOL_WATCH = 129,                    /* WATCH  */
+  YYSYMBOL_THREADSAFE = 130,               /* THREADSAFE  */
+  YYSYMBOL_CONDUCTANCE = 131,              /* CONDUCTANCE  */
+  YYSYMBOL_132_ = 132,                     /* '%'  */
+  YYSYMBOL_UNARYMINUS = 133,               /* UNARYMINUS  */
+  YYSYMBOL_YYACCEPT = 134,                 /* $accept  */
+  YYSYMBOL_top = 135,                      /* top  */
+  YYSYMBOL_all = 136,                      /* all  */
+  YYSYMBOL_all1 = 137,                     /* all1  */
+  YYSYMBOL_title = 138,                    /* title  */
+  YYSYMBOL_verbatim = 139,                 /* verbatim  */
+  YYSYMBOL_comment = 140,                  /* comment  */
+  YYSYMBOL_unitflag = 141,                 /* unitflag  */
+  YYSYMBOL_include1 = 142,                 /* include1  */
+  YYSYMBOL_define1 = 143,                  /* define1  */
+  YYSYMBOL_Name = 144,                     /* Name  */
+  YYSYMBOL_declare = 145,                  /* declare  */
+  YYSYMBOL_146_1 = 146,                    /* $@1  */
+  YYSYMBOL_declare1 = 147,                 /* declare1  */
+  YYSYMBOL_constblk = 148,                 /* constblk  */
+  YYSYMBOL_constbody = 149,                /* constbody  */
+  YYSYMBOL_constasgn = 150,                /* constasgn  */
+  YYSYMBOL_units = 151,                    /* units  */
+  YYSYMBOL_Units = 152,                    /* Units  */
+  YYSYMBOL_153_2 = 153,                    /* $@2  */
+  YYSYMBOL_limits = 154,                   /* limits  */
+  YYSYMBOL_tolerance = 155,                /* tolerance  */
+  YYSYMBOL_stepblk = 156,                  /* stepblk  */
+  YYSYMBOL_stepbdy = 157,                  /* stepbdy  */
+  YYSYMBOL_stepped = 158,                  /* stepped  */
+  YYSYMBOL_numlist = 159,                  /* numlist  */
+  YYSYMBOL_name = 160,                     /* name  */
+  YYSYMBOL_number = 161,                   /* number  */
+  YYSYMBOL_NUMBER = 162,                   /* NUMBER  */
+  YYSYMBOL_integer = 163,                  /* integer  */
+  YYSYMBOL_real = 164,                     /* real  */
+  YYSYMBOL_indepblk = 165,                 /* indepblk  */
+  YYSYMBOL_indepbody = 166,                /* indepbody  */
+  YYSYMBOL_indepdef = 167,                 /* indepdef  */
+  YYSYMBOL_withby = 168,                   /* withby  */
+  YYSYMBOL_depblk = 169,                   /* depblk  */
+  YYSYMBOL_depbody = 170,                  /* depbody  */
+  YYSYMBOL_depdef = 171,                   /* depdef  */
+  YYSYMBOL_opstart = 172,                  /* opstart  */
+  YYSYMBOL_stateblk = 173,                 /* stateblk  */
+  YYSYMBOL_statbody = 174,                 /* statbody  */
+  YYSYMBOL_plotdecl = 175,                 /* plotdecl  */
+  YYSYMBOL_pvlist = 176,                   /* pvlist  */
+  YYSYMBOL_optindex = 177,                 /* optindex  */
+  YYSYMBOL_unitblk = 178,                  /* unitblk  */
+  YYSYMBOL_unitbody = 179,                 /* unitbody  */
+  YYSYMBOL_unitdef = 180,                  /* unitdef  */
+  YYSYMBOL_factordef = 181,                /* factordef  */
+  YYSYMBOL_proc = 182,                     /* proc  */
+  YYSYMBOL_183_3 = 183,                    /* $@3  */
+  YYSYMBOL_184_4 = 184,                    /* $@4  */
+  YYSYMBOL_185_5 = 185,                    /* $@5  */
+  YYSYMBOL_186_6 = 186,                    /* $@6  */
+  YYSYMBOL_187_7 = 187,                    /* $@7  */
+  YYSYMBOL_188_8 = 188,                    /* $@8  */
+  YYSYMBOL_189_9 = 189,                    /* $@9  */
+  YYSYMBOL_190_10 = 190,                   /* $@10  */
+  YYSYMBOL_191_11 = 191,                   /* $@11  */
+  YYSYMBOL_192_12 = 192,                   /* $@12  */
+  YYSYMBOL_193_13 = 193,                   /* $@13  */
+  YYSYMBOL_194_14 = 194,                   /* $@14  */
+  YYSYMBOL_195_15 = 195,                   /* $@15  */
+  YYSYMBOL_196_16 = 196,                   /* $@16  */
+  YYSYMBOL_197_17 = 197,                   /* $@17  */
+  YYSYMBOL_198_18 = 198,                   /* $@18  */
+  YYSYMBOL_199_19 = 199,                   /* $@19  */
+  YYSYMBOL_initblk = 200,                  /* initblk  */
+  YYSYMBOL_constructblk = 201,             /* constructblk  */
+  YYSYMBOL_destructblk = 202,              /* destructblk  */
+  YYSYMBOL_bablk = 203,                    /* bablk  */
+  YYSYMBOL_stmtlist = 204,                 /* stmtlist  */
+  YYSYMBOL_conducthint = 205,              /* conducthint  */
+  YYSYMBOL_locallist = 206,                /* locallist  */
+  YYSYMBOL_locallist1 = 207,               /* locallist1  */
+  YYSYMBOL_locoptarray = 208,              /* locoptarray  */
+  YYSYMBOL_stmtlist1 = 209,                /* stmtlist1  */
+  YYSYMBOL_stmt = 210,                     /* stmt  */
+  YYSYMBOL_asgn = 211,                     /* asgn  */
+  YYSYMBOL_varname = 212,                  /* varname  */
+  YYSYMBOL_intexpr = 213,                  /* intexpr  */
+  YYSYMBOL_expr = 214,                     /* expr  */
+  YYSYMBOL_funccall = 215,                 /* funccall  */
+  YYSYMBOL_216_20 = 216,                   /* $@20  */
+  YYSYMBOL_exprlist = 217,                 /* exprlist  */
+  YYSYMBOL_exprlist1 = 218,                /* exprlist1  */
+  YYSYMBOL_fromstmt = 219,                 /* fromstmt  */
+  YYSYMBOL_220_21 = 220,                   /* $@21  */
+  YYSYMBOL_opinc = 221,                    /* opinc  */
+  YYSYMBOL_whilestmt = 222,                /* whilestmt  */
+  YYSYMBOL_ifstmt = 223,                   /* ifstmt  */
+  YYSYMBOL_optelseif = 224,                /* optelseif  */
+  YYSYMBOL_optelse = 225,                  /* optelse  */
+  YYSYMBOL_initstmt = 226,                 /* initstmt  */
+  YYSYMBOL_derivblk = 227,                 /* derivblk  */
+  YYSYMBOL_linblk = 228,                   /* linblk  */
+  YYSYMBOL_nonlinblk = 229,                /* nonlinblk  */
+  YYSYMBOL_discretblk = 230,               /* discretblk  */
+  YYSYMBOL_partialblk = 231,               /* partialblk  */
+  YYSYMBOL_pareqn = 232,                   /* pareqn  */
+  YYSYMBOL_firstlast = 233,                /* firstlast  */
+  YYSYMBOL_funcblk = 234,                  /* funcblk  */
+  YYSYMBOL_235_22 = 235,                   /* $@22  */
+  YYSYMBOL_functbl = 236,                  /* functbl  */
+  YYSYMBOL_arglist = 237,                  /* arglist  */
+  YYSYMBOL_arglist1 = 238,                 /* arglist1  */
+  YYSYMBOL_procedblk = 239,                /* procedblk  */
+  YYSYMBOL_netrecblk = 240,                /* netrecblk  */
+  YYSYMBOL_241_23 = 241,                   /* $@23  */
+  YYSYMBOL_watchstmt = 242,                /* watchstmt  */
+  YYSYMBOL_watch1 = 243,                   /* watch1  */
+  YYSYMBOL_fornetcon = 244,                /* fornetcon  */
+  YYSYMBOL_245_24 = 245,                   /* $@24  */
+  YYSYMBOL_solveblk = 246,                 /* solveblk  */
+  YYSYMBOL_ifsolerr = 247,                 /* ifsolerr  */
+  YYSYMBOL_solvefor = 248,                 /* solvefor  */
+  YYSYMBOL_solvefor1 = 249,                /* solvefor1  */
+  YYSYMBOL_eqnblk = 250,                   /* eqnblk  */
+  YYSYMBOL_terminalblk = 251,              /* terminalblk  */
+  YYSYMBOL_sens = 252,                     /* sens  */
+  YYSYMBOL_conserve = 253,                 /* conserve  */
+  YYSYMBOL_consreact = 254,                /* consreact  */
+  YYSYMBOL_compart = 255,                  /* compart  */
+  YYSYMBOL_256_25 = 256,                   /* $@25  */
+  YYSYMBOL_compartlist = 257,              /* compartlist  */
+  YYSYMBOL_longdifus = 258,                /* longdifus  */
+  YYSYMBOL_259_26 = 259,                   /* $@26  */
+  YYSYMBOL_ldifuslist = 260,               /* ldifuslist  */
+  YYSYMBOL_namelist = 261,                 /* namelist  */
+  YYSYMBOL_kineticblk = 262,               /* kineticblk  */
+  YYSYMBOL_reaction = 263,                 /* reaction  */
+  YYSYMBOL_react = 264,                    /* react  */
+  YYSYMBOL_lagstmt = 265,                  /* lagstmt  */
+  YYSYMBOL_tablestmt = 266,                /* tablestmt  */
+  YYSYMBOL_tablst = 267,                   /* tablst  */
+  YYSYMBOL_dependlst = 268,                /* dependlst  */
+  YYSYMBOL_queuestmt = 269,                /* queuestmt  */
+  YYSYMBOL_matchblk = 270,                 /* matchblk  */
+  YYSYMBOL_matchlist = 271,                /* matchlist  */
+  YYSYMBOL_match = 272,                    /* match  */
+  YYSYMBOL_matchname = 273,                /* matchname  */
+  YYSYMBOL_neuronblk = 274,                /* neuronblk  */
+  YYSYMBOL_275_27 = 275,                   /* $@27  */
+  YYSYMBOL_nrnstmt = 276,                  /* nrnstmt  */
+  YYSYMBOL_optnamelist = 277,              /* optnamelist  */
+  YYSYMBOL_nrnuse = 278,                   /* nrnuse  */
+  YYSYMBOL_nrnlist = 279,                  /* nrnlist  */
+  YYSYMBOL_valence = 280                   /* valence  */
+};
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+   <limits.h> and (if available) <stdint.h> are included
+   so that the code can choose integer types of a good width.  */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+#  define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+   signed or unsigned integer of at least N bits.  In tables they can
+   save space and decrease cache pressure.  Promoting to a signed type
+   helps avoid bugs in integer arithmetic.  */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+#  ifndef ptrdiff_t
+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  endif
+#  define YYPTRDIFF_T ptrdiff_t
+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+#  define YYPTRDIFF_T long
+#  define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM                                  \
+  YY_CAST (YYPTRDIFF_T,                                 \
+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
+            ? YYPTRDIFF_MAXIMUM                         \
+            : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations.  */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(E) /* empty */
+#endif
+
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
+# else
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# endif
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
+    _Pragma ("GCC diagnostic push")                            \
+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END            \
+    _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+             && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* !defined yyoverflow */
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yy_state_t yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYPTRDIFF_T yynewbytes;                                         \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
+      }                                                                 \
+    while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYPTRDIFF_T yyi;                      \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  4
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   1314
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  134
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  147
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  349
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  681
+
+/* YYMAXUTOK -- Last valid token kind.  */
+#define YYMAXUTOK   371
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
+#define YYTRANSLATE(YYX)                                \
+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
+   : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,   132,     2,     2,
+      56,    57,    62,    61,    68,    63,     2,    64,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    67,     2,
+       2,    65,     2,     2,    60,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    58,     2,    59,    66,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    54,     2,    55,    69,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   133
+};
+
+#if YYDEBUG
+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+static const yytype_int16 yyrline[] =
+{
+       0,   119,   119,   120,   123,   124,   126,   126,   126,   126,
+     126,   126,   126,   127,   128,   130,   133,   135,   137,   139,
+     142,   145,   147,   149,   152,   153,   153,   156,   156,   156,
+     156,   156,   157,   157,   157,   159,   160,   163,   164,   166,
+     171,   173,   175,   178,   179,   181,   181,   185,   186,   189,
+     190,   192,   195,   196,   198,   201,   202,   204,   205,   207,
+     209,   212,   212,   214,   215,   217,   219,   222,   225,   226,
+     228,   232,   234,   236,   238,   241,   242,   245,   247,   249,
+     251,   253,   257,   258,   260,   263,   264,   267,   268,   270,
+     271,   274,   275,   278,   281,   282,   283,   285,   287,   289,
+     291,   302,   313,   319,   319,   321,   321,   323,   323,   325,
+     325,   327,   327,   329,   329,   331,   331,   333,   333,   335,
+     335,   337,   337,   339,   339,   341,   341,   343,   343,   345,
+     345,   347,   347,   352,   352,   353,   353,   355,   357,   359,
+     361,   362,   363,   364,   366,   368,   371,   373,   376,   377,
+     379,   381,   385,   386,   390,   391,   393,   394,   395,   396,
+     397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
+     417,   418,   419,   422,   434,   441,   448,   455,   463,   471,
+     473,   474,   475,   476,   477,   478,   479,   480,   482,   483,
+     489,   490,   493,   494,   495,   496,   497,   498,   499,   500,
+     501,   502,   503,   504,   505,   506,   507,   508,   510,   510,
+     516,   517,   519,   520,   521,   522,   524,   524,   526,   529,
+     530,   532,   534,   537,   538,   541,   542,   544,   546,   549,
+     552,   555,   558,   561,   570,   576,   580,   582,   582,   585,
+     584,   593,   602,   606,   608,   622,   634,   642,   641,   655,
+     658,   659,   660,   662,   665,   664,   693,   696,   698,   700,
+     703,   704,   708,   709,   711,   716,   721,   723,   725,   727,
+     728,   731,   733,   735,   736,   737,   738,   742,   742,   748,
+     754,   756,   759,   759,   765,   771,   773,   776,   777,   779,
+     782,   784,   786,   788,   790,   791,   792,   793,   797,   798,
+     800,   804,   805,   808,   809,   811,   812,   814,   816,   817,
+     819,   820,   821,   825,   826,   830,   829,   839,   840,   842,
+     843,   845,   847,   849,   851,   853,   855,   857,   860,   861,
+     863,   865,   867,   869,   872,   874,   876,   880,   881,   883
+};
+#endif
+
+/** Accessing symbol of state STATE.  */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+   YYSYMBOL.  No bounds checking.  */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "\"end of file\"", "error", "\"invalid token\"", "VERBATIM", "COMMENT",
+  "TITLE", "CONSTANT", "INDEPENDENT", "ASSIGNED", "STATE", "END_VERBATIM",
+  "END_COMMENT", "UNITS", "BREAKPOINT", "PARAMETER", "INT", "INITIAL1",
+  "DERIVATIVE", "SOLVE", "USING", "WITH", "STEPPED", "DISCRETE", "FROM",
+  "TO", "BY", "WHILE", "IF", "ELSE", "START1", "STEP", "SENS", "SOLVEFOR",
+  "PROCEDURE", "PARTIAL", "DEL", "DEL2", "DEFINE1", "IFERROR", "DERFUNC",
+  "EQUATION", "TERMINAL", "LINEAR", "NONLINEAR", "FUNCTION1", "LOCAL",
+  "METHOD", "LIN1", "NONLIN1", "PUTQ", "GETQ", "FUNCTION_TABLE",
+  "INCLUDE1", "PROTECT", "'{'", "'}'", "'('", "')'", "'['", "']'", "'@'",
+  "'+'", "'*'", "'-'", "'/'", "'='", "'^'", "':'", "','", "'~'", "OR",
+  "AND", "GT", "GE", "LT", "LE", "EQ", "NE", "NOT", "NAME", "PRIME",
+  "REAL", "INTEGER", "DEFINEDVAR", "KINETIC", "CONSERVE", "REACTION",
+  "REACT1", "COMPARTMENT", "LONGDIFUS", "PARTEQN", "STRING", "PLOT", "VS",
+  "LAG", "RESET", "MATCH", "MODEL_LEVEL", "SWEEP", "FIRST", "LAST",
+  "SPACE", "NEWLINE", "TO_EOL", "STUFF", "UNITBLK", "UNITSON", "UNITSOFF",
+  "TABLE", "DEPEND", "NEURON", "SUFFIX", "NONSPECIFIC", "READ", "WRITE",
+  "USEION", "VALENCE", "GLOBAL", "SECTION", "RANGE", "POINTER", "EXTERNAL",
+  "BEFORE", "AFTER", "ELECTRODE_CURRENT", "CONSTRUCTOR", "DESTRUCTOR",
+  "NETRECEIVE", "FOR_NETCONS", "WATCH", "THREADSAFE", "CONDUCTANCE", "'%'",
+  "UNARYMINUS", "$accept", "top", "all", "all1", "title", "verbatim",
+  "comment", "unitflag", "include1", "define1", "Name", "declare", "$@1",
+  "declare1", "constblk", "constbody", "constasgn", "units", "Units",
+  "$@2", "limits", "tolerance", "stepblk", "stepbdy", "stepped", "numlist",
+  "name", "number", "NUMBER", "integer", "real", "indepblk", "indepbody",
+  "indepdef", "withby", "depblk", "depbody", "depdef", "opstart",
+  "stateblk", "statbody", "plotdecl", "pvlist", "optindex", "unitblk",
+  "unitbody", "unitdef", "factordef", "proc", "$@3", "$@4", "$@5", "$@6",
+  "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", "$@14", "$@15",
+  "$@16", "$@17", "$@18", "$@19", "initblk", "constructblk", "destructblk",
+  "bablk", "stmtlist", "conducthint", "locallist", "locallist1",
+  "locoptarray", "stmtlist1", "stmt", "asgn", "varname", "intexpr", "expr",
+  "funccall", "$@20", "exprlist", "exprlist1", "fromstmt", "$@21", "opinc",
+  "whilestmt", "ifstmt", "optelseif", "optelse", "initstmt", "derivblk",
+  "linblk", "nonlinblk", "discretblk", "partialblk", "pareqn", "firstlast",
+  "funcblk", "$@22", "functbl", "arglist", "arglist1", "procedblk",
+  "netrecblk", "$@23", "watchstmt", "watch1", "fornetcon", "$@24",
+  "solveblk", "ifsolerr", "solvefor", "solvefor1", "eqnblk", "terminalblk",
+  "sens", "conserve", "consreact", "compart", "$@25", "compartlist",
+  "longdifus", "$@26", "ldifuslist", "namelist", "kineticblk", "reaction",
+  "react", "lagstmt", "tablestmt", "tablst", "dependlst", "queuestmt",
+  "matchblk", "matchlist", "match", "matchname", "neuronblk", "$@27",
+  "nrnstmt", "optnamelist", "nrnuse", "nrnlist", "valence", YY_NULLPTR
+};
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+  return yytname[yysymbol];
+}
+#endif
+
+#define YYPACT_NINF (-557)
+
+#define yypact_value_is_default(Yyn) \
+  ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-324)
+
+#define yytable_value_is_error(Yyn) \
+  0
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+static const yytype_int16 yypact[] =
+{
+     832,  -557,    61,   889,  -557,    54,    84,    26,    72,   105,
+     108,   123,   160,   176,    18,    64,    55,    59,   170,   236,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,
+     202,   309,   304,   281,   299,   335,   330,   352,   256,   366,
+     391,   305,   297,   398,   363,   303,   334,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,   293,
+    -557,   420,   412,  -557,  -557,  -557,  -557,  -557,   430,    65,
+    -557,  -557,   405,   436,  -557,   418,  -557,   436,  -557,   421,
+    -557,   422,  -557,   427,  -557,   429,  -557,   440,  -557,    19,
+    -557,   436,  -557,   459,  -557,   436,  -557,   436,  -557,   460,
+    -557,   461,  -557,   350,   350,   111,     4,    21,    77,   180,
+      -2,  -557,  -557,  -557,   293,  -557,   463,   293,  -557,   313,
+     313,   146,   216,  -557,   498,  -557,   436,  -557,   512,   512,
+     494,   496,   497,  -557,   313,  -557,   436,  -557,  -557,   436,
+     512,   436,   436,   436,   436,  -557,  -557,  -557,  -557,   275,
+    -557,  -557,  -557,   531,    85,  -557,  -557,  -557,   231,  -557,
+    -557,  -557,  -557,  -557,   500,  -557,   504,   420,   507,   430,
+     430,  -557,  -557,  -557,  -557,   502,    44,  -557,  -557,    67,
+    -557,   601,  -557,   167,   436,   501,   436,   313,   313,   313,
+     515,   513,   506,  -557,  -557,   436,  -557,  -557,  -557,  -557,
+     293,   223,   508,  -557,   223,  -557,   223,   223,   293,   515,
+     223,  -557,  -557,  -557,  -557,  -557,   560,   183,  -557,   515,
+    -557,  -557,   516,   168,   517,   168,   168,   168,   168,   168,
+     168,   518,  -557,   700,  -557,   436,   199,   200,   525,   527,
+     212,   313,   313,   239,  -557,    25,   -14,    12,    39,   355,
+     389,    92,   136,  -557,   538,   518,    23,   127,   518,  -557,
+    -557,  -557,   535,  -557,  -557,  -557,  -557,   529,  -557,  -557,
+    -557,  -557,  -557,  -557,   532,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,   522,
+    -557,   546,   549,   550,  -557,  -557,   313,  -557,   551,   306,
+    -557,   515,  -557,  -557,   223,  -557,   584,   585,  -557,   552,
+     539,   214,   544,   557,  -557,   213,  -557,   515,  -557,  -557,
+    -557,  -557,   547,   292,   547,   547,   547,   547,   547,   547,
+    -557,   548,  -557,  -557,  -557,  -557,    96,  -557,   553,    25,
+      25,  -557,   548,  -557,  -557,   561,  -557,  -557,    25,    25,
+      25,   515,  -557,  1186,  -557,  -557,   293,  -557,   349,  -557,
+     300,  -557,   349,  -557,   -20,   207,   514,   225,   739,  -557,
+     541,   564,   558,  -557,   600,   162,   548,   521,  -557,   313,
+    -557,    25,  -557,   519,   205,    25,   575,  -557,   515,   515,
+     436,   436,   515,   515,  -557,   508,   565,   223,   223,    15,
+     223,  -557,   223,  -557,   223,  -557,   563,  -557,  -557,   559,
+     168,   168,   518,   590,   436,  -557,   205,   701,  1001,  1022,
+     571,   571,  -557,    25,    25,    25,    25,    25,    25,    25,
+      25,    25,    25,    25,    25,    25,    25,   291,   581,  -557,
+     340,    25,  -557,   407,   568,   570,   416,   574,   566,   578,
+     569,   591,   383,   573,   579,  -557,   253,   143,  -557,   597,
+     518,   634,   602,  1043,   582,  -557,   604,   205,  -557,  -557,
+     392,  1220,  -557,  -557,  -557,  -557,  -557,  -557,   508,  -557,
+     223,   642,   635,   223,   515,   593,  -557,  -557,   515,  -557,
+     112,    -6,  -557,   625,  -557,   238,   436,   436,  -557,   298,
+     571,   298,   571,  1220,   571,   903,  1237,   413,   413,   413,
+     413,   413,   413,  -557,  1220,   153,  -557,   205,   349,  -557,
+    1220,   349,  -557,   610,   611,   192,    25,  -557,    32,    25,
+    -557,   164,   383,  -557,  -557,   609,   607,  -557,   592,  -557,
+    -557,    25,   548,    25,  -557,   315,  -557,    25,   353,  -557,
+     205,   205,   205,   205,   436,  -557,   603,  -557,   293,   515,
+     648,   539,  -557,  -557,   168,   233,  -557,  -557,  -557,   205,
+    -557,  -557,  -557,   321,   401,  -557,  -557,    25,    25,    25,
+     956,  -557,  -557,   980,  -557,  -557,   615,   617,   640,   624,
+    1064,   485,   436,  -557,  1085,  -557,   289,  -557,   289,  -557,
+    -557,  -557,   635,   539,   223,  -557,    -6,   315,  -557,   273,
+     656,  -557,  1220,  -557,  1106,  1127,  1203,   566,   569,   620,
+      25,   632,  -557,   627,    25,  -557,  -557,   515,  -557,   635,
+    -557,  -557,   205,  -557,     9,  -557,  -557,  -557,    25,   194,
+     195,    25,  1220,   614,    25,   441,  -557,   515,   380,   436,
+     638,  -557,  1148,  -557,  -557,  1220,   641,  1220,   293,   539,
+    -557,    25,  -557,   639,  -557,  -557,  1169,   623,   436,  -557,
+    -557
+};
+
+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE does not specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_int16 yydefact[] =
+{
+       0,     3,     0,     2,     1,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      18,    19,   325,     5,     6,    11,    12,    13,    14,     8,
+       9,    24,    27,    31,    28,    29,    30,    32,    33,    10,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     7,    34,    16,
+      17,    15,    37,    68,    75,    85,    37,    52,    22,     0,
+     149,   152,   148,    20,    88,    23,    58,    57,    91,     0,
+      25,    94,     0,     0,   104,     0,   106,     0,   108,     0,
+     110,     0,   112,     0,   114,     0,   116,     0,   118,     0,
+     120,     0,   122,     0,   124,     0,   126,     0,   128,     0,
+     130,     0,   132,     0,     0,     0,     0,     0,     0,     0,
+       0,    63,    64,    21,     0,   150,     0,     0,    89,     0,
+       0,     0,     0,   327,   154,   137,     0,   277,   272,   272,
+       0,     0,     0,   259,   252,   278,     0,   138,   139,     0,
+     272,     0,     0,     0,     0,   134,   136,    42,    35,    43,
+      38,    72,    67,     0,     0,    69,    81,    74,    82,    76,
+      84,    86,    36,    51,     0,    53,     0,   152,     0,    91,
+      91,    26,   102,    93,    45,     0,     0,    95,    96,     0,
+     154,     0,   238,     0,     0,   273,     0,   252,   252,   252,
+      43,     0,   253,   241,   242,     0,   140,   142,   141,   143,
+       0,     0,    47,    44,     0,    70,     0,     0,     0,    43,
+       0,   153,   151,    92,    90,    87,     0,     0,    98,     0,
+     343,   326,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   338,   329,     0,   182,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   144,     0,    23,     0,     0,     0,
+       0,     0,     0,   176,     0,   311,     0,     0,     0,   165,
+     166,   178,   185,   161,   163,   155,   156,     0,   162,   158,
+     159,   160,   179,   174,   180,   181,   164,   167,   169,   170,
+     171,   168,   172,   173,   175,   177,   276,   274,   239,     0,
+     240,     0,     0,     0,   254,   257,     0,   299,     0,     0,
+      62,    43,    59,    61,     0,    40,     0,     0,    83,     0,
+      49,    43,     0,     0,    65,     0,    66,     0,    97,   328,
+     346,   344,   330,     0,   334,   333,   332,   335,   336,   331,
+     297,   339,   337,   145,   237,   269,   270,   228,     0,     0,
+       0,   280,   279,   315,   316,    23,   157,   217,     0,     0,
+       0,    43,   198,     0,   200,   218,     0,   282,     0,   283,
+       0,   303,     0,   304,     0,    23,     0,    23,     0,   246,
+       0,     0,     0,   309,     0,     0,   312,   313,   266,   252,
+     262,     0,   260,   146,     0,     0,     0,   275,    43,    43,
+       0,     0,    43,    43,    60,    47,     0,     0,     0,    82,
+       0,    77,     0,    54,     0,    46,     0,   100,    99,     0,
+       0,     0,     0,     0,     0,   267,     0,     0,     0,     0,
+     216,   215,   199,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   187,   284,
+       0,     0,   305,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   322,   320,     0,   318,     0,
+       0,     0,     0,     0,     0,   197,     0,     0,   189,   190,
+       0,   183,   261,   249,   251,   256,   258,   255,    47,    39,
+       0,     0,    82,     0,    43,     0,    56,    55,     0,   345,
+     347,   347,   298,   270,   271,     0,     0,     0,   201,   202,
+     204,   203,   205,   184,   206,   207,   208,   209,   211,   210,
+     212,   213,   214,   223,   222,     0,   221,     0,     0,   285,
+     281,     0,   306,     0,     0,     0,     0,   290,     0,     0,
+     295,     0,     0,   247,   248,     0,     0,   308,     0,   317,
+     319,     0,   314,     0,   264,     0,   147,     0,     0,   186,
+       0,     0,     0,     0,     0,    41,     0,    73,     0,    43,
+       0,    49,    50,   101,     0,     0,   340,   341,   268,     0,
+     231,   233,   219,     0,     0,   286,   307,     0,     0,     0,
+       0,   289,   291,     0,   294,   296,     0,     0,     0,     0,
+       0,     0,     0,   263,     0,   191,   192,   194,   193,   195,
+     250,    48,    82,    49,     0,    78,   347,     0,   348,   229,
+     235,   225,   224,   188,     0,     0,     0,     0,     0,     0,
+       0,     0,   324,     0,     0,   265,   196,    43,    79,    82,
+     342,   349,     0,   226,     0,   232,   302,   301,     0,     0,
+       0,     0,   245,     0,     0,     0,    71,    43,   230,     0,
+       0,   236,     0,   288,   293,   244,     0,   321,     0,    49,
+     227,     0,   300,     0,   310,    80,     0,     0,     0,   243,
+     234
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+    -557,  -557,  -557,  -557,  -557,   696,   702,   703,  -557,  -557,
+    -233,  -557,  -557,   580,  -557,   644,  -557,  -191,  -131,  -557,
+    -389,  -556,  -557,  -557,  -557,  -557,     6,  -183,   403,   -69,
+    -223,  -557,  -557,   555,  -557,  -557,  -557,   595,  -403,  -557,
+    -557,  -557,  -557,   341,  -557,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,   608,
+     -80,  -557,   583,  -557,   537,   543,  -557,   462,  -173,  -387,
+      90,  -161,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,  -557,   179,
+    -557,  -557,  -557,  -187,  -557,  -557,  -557,  -557,  -557,   329,
+    -557,  -557,  -557,   232,   174,  -557,  -557,  -557,  -557,  -557,
+    -557,  -557,  -557,   101,  -557,  -557,   106,  -236,  -557,  -557,
+     280,  -557,  -557,  -557,  -557,  -557,  -557,  -557,   270,  -557,
+    -557,  -557,  -557,  -557,  -557,  -188,  -499
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+       0,     2,     3,    23,    24,   269,   270,   271,    28,    29,
+      77,    30,   131,    31,    32,   115,   160,   212,   213,   226,
+     315,   411,    33,   120,   175,   321,   272,   311,   312,   326,
+     361,    34,   116,   165,   568,    35,   117,   169,   219,    36,
+     118,    37,    79,   128,    38,   132,   187,   188,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    84,   106,   108,   155,
+     273,   274,    57,    72,   125,   191,   275,   276,   362,   480,
+     363,   364,   447,   525,   526,   279,   659,   643,   280,   281,
+     620,   645,   282,    86,    90,    92,   104,   110,   283,   545,
+      94,   564,    96,   201,   202,    98,   100,   401,   284,   392,
+     285,   602,   286,   425,   194,   195,    88,   102,   287,   288,
+     370,   289,   457,   538,   290,   459,   541,   341,   112,   291,
+     374,   292,   293,   387,   471,   294,   295,   467,   468,   469,
+      58,    82,   189,   342,   242,   332,   576
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule whose
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+static const yytype_int16 yytable[] =
+{
+     123,   186,   577,   135,   327,   161,   494,   137,   340,   304,
+     301,   302,   303,   367,   352,   615,   489,   340,   277,    68,
+     143,   145,   166,    78,   388,   147,   357,   148,   320,   386,
+     278,   316,   340,   317,   318,   393,   660,   322,   493,   505,
+     371,   453,   365,   454,   217,   228,   366,   334,   335,   336,
+     337,   338,   339,   173,   455,   176,   192,   638,   178,   162,
+      74,     4,   419,   134,    59,    70,   203,   456,   230,   204,
+     277,   206,   207,   208,   209,   144,   167,   174,   166,   389,
+     277,   358,   278,   163,   369,   373,   161,   591,   359,   569,
+     558,   355,    76,   379,   368,    60,   325,    69,   328,   565,
+      75,    76,   164,   360,   256,    76,   324,   121,   122,   229,
+     575,   592,   157,   675,   298,   423,   300,   640,   355,    76,
+     405,   372,   231,   168,   168,   307,    62,   380,   390,    61,
+     413,   406,   170,   129,   424,   179,   180,   383,    75,    76,
+     584,   308,   313,    71,   465,   313,    73,   313,   313,   319,
+     200,   313,     8,     9,    10,    11,    75,    76,   130,    63,
+      12,   478,    64,   465,   163,   344,   158,    13,   296,   330,
+     432,   381,   382,   606,   607,   608,   609,    65,   232,   233,
+     419,   157,   234,   391,   235,   236,   237,   238,   239,   502,
+     159,   240,   619,   478,   417,   449,   418,   241,   549,   452,
+     345,   347,   472,   200,   200,   200,   475,   483,   484,   637,
+     582,   487,   488,   351,    66,    75,    76,   182,    83,   594,
+     476,   583,    75,    76,   491,   492,   574,   495,   575,   496,
+      67,   497,   500,   501,   552,   172,   657,   340,    17,   184,
+     313,    75,    76,   595,   478,   313,   297,   331,   589,   663,
+     664,    19,    80,   453,   216,   658,    22,   353,   354,   159,
+     217,   477,   579,   365,   324,   121,   122,   366,   384,   184,
+     184,   183,   184,   592,   595,  -287,   416,   529,   346,   348,
+     532,   365,   412,   373,    75,   366,   309,   121,   122,   218,
+      81,    75,   357,  -292,   478,   185,   617,   448,   642,   560,
+     561,   562,   563,   571,   310,   121,   122,   566,   255,  -323,
+     570,   548,   402,   196,   324,   121,   122,    87,   355,    76,
+     485,   486,   357,    89,   205,   479,    85,   478,   478,   478,
+     478,   184,   603,   210,   560,   561,   562,   563,   313,   313,
+     211,   313,    91,   313,   504,   313,   478,   358,  -220,   376,
+     378,   561,   618,   563,   359,   585,   357,   479,   586,  -220,
+     434,   450,   436,   151,   438,   451,   152,   573,   153,   360,
+     256,    76,   324,   121,   122,   121,   122,   358,   613,    93,
+     154,    95,   523,    99,   359,    97,   616,   310,   121,   122,
+     357,   466,    75,    76,   641,   200,   324,   121,   122,   360,
+     256,    76,   324,   121,   122,   420,   421,   101,   479,   478,
+     605,   358,   621,   103,   560,   561,   562,   563,   359,   355,
+      76,   313,   528,   107,   313,   113,   580,   581,   355,    76,
+     105,   639,   109,   360,   375,    76,   324,   121,   122,   427,
+     428,   560,   561,   562,   563,   358,   656,   111,   429,   430,
+     431,   559,   359,   560,   561,   562,   563,   114,   479,   133,
+     623,   668,   560,   561,   562,   563,   669,   360,   377,    76,
+     324,   121,   122,   466,   433,   434,   435,   436,   124,   438,
+     126,   473,   543,   544,   610,   481,   355,    76,   127,   531,
+     134,   479,   479,   479,   479,   355,    76,   136,   372,   612,
+     138,   139,   433,   434,   435,   436,   140,   438,   141,   634,
+     479,   439,   440,   441,   442,   443,   444,   445,   446,   142,
+     224,   225,   635,   509,   510,   511,   512,   513,   514,   515,
+     516,   517,   518,   519,   520,   521,   522,   524,   146,   149,
+     150,   530,   177,    15,   193,   313,   433,   434,   435,   436,
+     197,   438,   198,   199,   214,   439,   440,   441,   442,   443,
+     444,   445,   446,   221,   661,   220,   223,   227,   458,   299,
+     305,   184,   323,   479,   306,   433,   434,   435,   436,   670,
+     438,   349,   314,   350,   439,   440,   441,   442,   443,   444,
+     445,   446,   385,   394,   395,   329,   333,    75,   680,   674,
+     396,   397,   244,   398,     5,     6,   399,   400,   407,   408,
+     403,   409,   414,   410,   415,   419,   422,   245,   426,   246,
+     461,   366,   462,   463,   247,   464,   590,   248,   249,   593,
+     470,   391,   250,   490,   474,   498,   503,   438,   499,   527,
+     533,   600,   536,   601,   534,   537,   539,   604,   540,   542,
+     251,   252,   546,   551,   253,   134,   254,   553,   547,   554,
+     557,   556,   567,   424,   217,   572,   587,   588,   597,   598,
+     255,   599,   614,   622,   629,   611,   631,   624,   625,   626,
+     256,    76,   630,   632,   644,   651,   257,   258,   653,   259,
+     260,   261,   654,   666,   671,   262,   263,   264,   673,    25,
+     677,   244,   679,     5,     6,    26,    27,    20,    21,   265,
+     119,   181,   404,   171,   222,   356,   245,   190,   246,   215,
+     652,   596,   156,   247,   655,   482,   248,   249,   649,   266,
+     267,   250,   268,   243,   650,   578,   535,   550,   662,     0,
+       0,   665,     0,     0,   667,     0,     0,     0,     0,   251,
+     252,     0,     0,   253,   134,   343,     0,     0,   506,     0,
+       0,   676,   433,   434,   435,   436,     0,   438,     0,   255,
+       0,   439,   440,   441,   442,   443,   444,   445,   446,   256,
+      76,     0,     0,     0,     0,   257,   258,     0,   259,   260,
+     261,     0,     0,   460,   262,   263,   264,     0,     0,     0,
+     433,   434,   435,   436,     0,   438,    20,    21,   265,   439,
+     440,   441,   442,   443,   444,   445,   446,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   266,   267,
+       0,   268,    -4,     1,     0,    -4,    -4,    -4,    -4,    -4,
+      -4,    -4,     0,     0,     0,    -4,    -4,     0,    -4,    -4,
+       0,     0,     0,    -4,    -4,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    -4,    -4,     0,     0,    -4,
+       0,     0,     0,    -4,    -4,    -4,    -4,    -4,     0,     0,
+       0,     0,     0,    -4,    -4,     0,     0,     0,     0,     0,
+       0,     0,     5,     6,     7,     8,     9,    10,    11,     0,
+       0,     0,  -107,    12,     0,  -103,  -105,     0,     0,     0,
+      13,  -123,     0,     0,     0,     0,    -4,     0,     0,     0,
+       0,     0,  -117,  -129,    -4,     0,    14,     0,     0,    -4,
+    -121,  -109,  -111,  -113,    15,     0,     0,    -4,    -4,    -4,
+    -115,    16,    -4,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    -4,    -4,     0,    -4,    -4,    -4,
+       0,     0,     0,     0,   433,   434,   435,   436,     0,   438,
+       0,     0,     0,  -131,   440,   441,   442,   443,   444,   445,
+     446,    17,     0,     0,     0,     0,    18,     0,     0,     0,
+       0,     0,     0,     0,    19,    20,    21,     0,     0,    22,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     627,  -133,  -135,     0,  -125,  -127,  -119,   433,   434,   435,
+     436,     0,   438,     0,     0,     0,   439,   440,   441,   442,
+     443,   444,   445,   446,   628,     0,     0,     0,     0,     0,
+       0,   433,   434,   435,   436,     0,   438,     0,     0,     0,
+     439,   440,   441,   442,   443,   444,   445,   446,   507,     0,
+       0,     0,   433,   434,   435,   436,     0,   438,     0,     0,
+       0,   439,   440,   441,   442,   443,   444,   445,   446,   508,
+       0,     0,     0,   433,   434,   435,   436,     0,   438,     0,
+       0,     0,   439,   440,   441,   442,   443,   444,   445,   446,
+     555,     0,     0,     0,   433,   434,   435,   436,     0,   438,
+       0,     0,     0,   439,   440,   441,   442,   443,   444,   445,
+     446,   633,     0,     0,     0,   433,   434,   435,   436,     0,
+     438,     0,     0,     0,   439,   440,   441,   442,   443,   444,
+     445,   446,   636,     0,     0,     0,   433,   434,   435,   436,
+       0,   438,     0,     0,     0,   439,   440,   441,   442,   443,
+     444,   445,   446,   646,     0,     0,     0,   433,   434,   435,
+     436,     0,   438,     0,     0,     0,   439,   440,   441,   442,
+     443,   444,   445,   446,   647,     0,     0,     0,   433,   434,
+     435,   436,     0,   438,     0,     0,     0,   439,   440,   441,
+     442,   443,   444,   445,   446,   672,     0,     0,     0,   433,
+     434,   435,   436,     0,   438,     0,     0,     0,   439,   440,
+     441,   442,   443,   444,   445,   446,   678,     0,     0,     0,
+     433,   434,   435,   436,     0,   438,     0,     0,     0,   439,
+     440,   441,   442,   443,   444,   445,   446,   433,   434,   435,
+     436,   437,   438,     0,     0,     0,   439,   440,   441,   442,
+     443,   444,   445,   446,   433,   434,   435,   436,     0,   438,
+       0,   648,     0,   439,   440,   441,   442,   443,   444,   445,
+     446,   433,   434,   435,   436,     0,   438,     0,     0,     0,
+     439,   440,   441,   442,   443,   444,   445,   446,   433,   434,
+     435,   436,     0,   438,     0,     0,     0,     0,     0,   441,
+     442,   443,   444,   445,   446
+};
+
+static const yytype_int16 yycheck[] =
+{
+      69,   132,   501,    83,   227,     1,   409,    87,   241,   200,
+     197,   198,   199,     1,   250,   571,   405,   250,   191,     1,
+       1,   101,     1,    17,     1,   105,     1,   107,   219,   265,
+     191,   214,   265,   216,   217,   268,    27,   220,    23,   426,
+       1,    61,    56,    63,    29,     1,    60,   235,   236,   237,
+     238,   239,   240,    55,    74,   124,   136,   613,   127,    55,
+       1,     0,    68,    54,    10,     1,   146,    87,     1,   149,
+     243,   151,   152,   153,   154,    56,    55,    79,     1,    56,
+     253,    56,   243,    79,   257,   258,     1,    55,    63,   492,
+     477,    79,    80,     1,    82,    11,   227,    79,   229,   488,
+      79,    80,    98,    78,    79,    80,    81,    82,    83,    65,
+     116,    79,     1,   669,   194,    19,   196,   616,    79,    80,
+     311,    82,    55,   117,   118,   205,    54,    35,     1,   103,
+     321,   314,    55,    68,    38,   129,   130,     1,    79,    80,
+     527,   210,   211,    79,     1,   214,    91,   216,   217,   218,
+     144,   220,     6,     7,     8,     9,    79,    80,    93,    54,
+      14,   394,    54,     1,    79,   245,    55,    21,     1,     1,
+     361,    79,    80,   560,   561,   562,   563,    54,   111,   112,
+      68,     1,   115,    56,   117,   118,   119,   120,   121,   422,
+      79,   124,   579,   426,   325,   368,   327,   130,    55,   372,
+       1,     1,   389,   197,   198,   199,     1,   398,   399,   612,
+      57,   402,   403,     1,    54,    79,    80,     1,    16,    55,
+      15,    68,    79,    80,   407,   408,   114,   410,   116,   412,
+      54,   414,   420,   421,   470,    55,   639,   470,    92,    56,
+     309,    79,    80,    79,   477,   314,    79,    79,    56,    55,
+      55,   105,    82,    61,    23,   642,   110,   251,   252,    79,
+      29,    56,    24,    56,    81,    82,    83,    60,   262,    56,
+      56,    55,    56,    79,    79,    68,    63,   450,    79,    79,
+     453,    56,    68,   456,    79,    60,    63,    82,    83,    58,
+      54,    79,     1,    68,   527,    79,    63,   366,    25,    61,
+      62,    63,    64,   494,    81,    82,    83,   490,    69,    56,
+     493,    58,   306,   139,    81,    82,    83,    13,    79,    80,
+     400,   401,     1,    42,   150,   394,    17,   560,   561,   562,
+     563,    56,   555,    58,    61,    62,    63,    64,   407,   408,
+      65,   410,    43,   412,   424,   414,   579,    56,    57,   259,
+     260,    62,   575,    64,    63,   528,     1,   426,   531,    68,
+      62,    61,    64,    13,    66,    65,    16,   498,    18,    78,
+      79,    80,    81,    82,    83,    82,    83,    56,   569,    44,
+      30,    51,    91,   127,    63,    33,   574,    81,    82,    83,
+       1,   385,    79,    80,   617,   389,    81,    82,    83,    78,
+      79,    80,    81,    82,    83,   113,   114,    41,   477,   642,
+      57,    56,    91,    22,    61,    62,    63,    64,    63,    79,
+      80,   490,    82,   126,   493,   122,   506,   507,    79,    80,
+     125,   614,    34,    78,    79,    80,    81,    82,    83,   349,
+     350,    61,    62,    63,    64,    56,   637,    84,   358,   359,
+     360,    59,    63,    61,    62,    63,    64,   123,   527,    54,
+      59,    20,    61,    62,    63,    64,   657,    78,    79,    80,
+      81,    82,    83,   467,    61,    62,    63,    64,    58,    66,
+      68,   391,    99,   100,   564,   395,    79,    80,    58,    82,
+      54,   560,   561,   562,   563,    79,    80,    79,    82,   568,
+      79,    79,    61,    62,    63,    64,    79,    66,    79,    24,
+     579,    70,    71,    72,    73,    74,    75,    76,    77,    79,
+     179,   180,   602,   433,   434,   435,   436,   437,   438,   439,
+     440,   441,   442,   443,   444,   445,   446,   447,    79,    79,
+      79,   451,    79,    45,    32,   614,    61,    62,    63,    64,
+      56,    66,    56,    56,    23,    70,    71,    72,    73,    74,
+      75,    76,    77,    59,   644,    65,    59,    65,    54,    68,
+      57,    56,    12,   642,    68,    61,    62,    63,    64,   659,
+      66,    56,    74,    56,    70,    71,    72,    73,    74,    75,
+      76,    77,    54,    58,    65,    79,    79,    79,   678,   668,
+      68,    79,     1,    57,     3,     4,    57,    57,    24,    24,
+      59,    59,    68,    74,    57,    68,    68,    16,    65,    18,
+      79,    60,    58,    65,    23,    25,   536,    26,    27,   539,
+     109,    56,    31,    68,   115,    72,    46,    66,    79,    58,
+      72,   551,    68,   553,    74,    79,    68,   557,    79,    58,
+      49,    50,    79,    56,    53,    54,    55,    23,    79,    57,
+      56,    79,    20,    38,    29,    72,    56,    56,    59,    62,
+      69,    79,    24,   583,    59,    72,    36,   587,   588,   589,
+      79,    80,    65,    59,    28,    65,    85,    86,    56,    88,
+      89,    90,    65,    79,    56,    94,    95,    96,    57,     3,
+      61,     1,    79,     3,     4,     3,     3,   106,   107,   108,
+      66,   131,   309,   118,   177,   253,    16,   134,    18,   164,
+     630,   542,   114,    23,   634,   396,    26,    27,   627,   128,
+     129,    31,   131,   190,   628,   503,   456,   467,   648,    -1,
+      -1,   651,    -1,    -1,   654,    -1,    -1,    -1,    -1,    49,
+      50,    -1,    -1,    53,    54,    55,    -1,    -1,    57,    -1,
+      -1,   671,    61,    62,    63,    64,    -1,    66,    -1,    69,
+      -1,    70,    71,    72,    73,    74,    75,    76,    77,    79,
+      80,    -1,    -1,    -1,    -1,    85,    86,    -1,    88,    89,
+      90,    -1,    -1,    54,    94,    95,    96,    -1,    -1,    -1,
+      61,    62,    63,    64,    -1,    66,   106,   107,   108,    70,
+      71,    72,    73,    74,    75,    76,    77,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,   129,
+      -1,   131,     0,     1,    -1,     3,     4,     5,     6,     7,
+       8,     9,    -1,    -1,    -1,    13,    14,    -1,    16,    17,
+      -1,    -1,    -1,    21,    22,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    33,    34,    -1,    -1,    37,
+      -1,    -1,    -1,    41,    42,    43,    44,    45,    -1,    -1,
+      -1,    -1,    -1,    51,    52,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,     3,     4,     5,     6,     7,     8,     9,    -1,
+      -1,    -1,    13,    14,    -1,    16,    17,    -1,    -1,    -1,
+      21,    22,    -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,
+      -1,    -1,    33,    34,    92,    -1,    37,    -1,    -1,    97,
+      41,    42,    43,    44,    45,    -1,    -1,   105,   106,   107,
+      51,    52,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
+      -1,    -1,    -1,    -1,    61,    62,    63,    64,    -1,    66,
+      -1,    -1,    -1,    84,    71,    72,    73,    74,    75,    76,
+      77,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   105,   106,   107,    -1,    -1,   110,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      54,   122,   123,    -1,   125,   126,   127,    61,    62,    63,
+      64,    -1,    66,    -1,    -1,    -1,    70,    71,    72,    73,
+      74,    75,    76,    77,    54,    -1,    -1,    -1,    -1,    -1,
+      -1,    61,    62,    63,    64,    -1,    66,    -1,    -1,    -1,
+      70,    71,    72,    73,    74,    75,    76,    77,    57,    -1,
+      -1,    -1,    61,    62,    63,    64,    -1,    66,    -1,    -1,
+      -1,    70,    71,    72,    73,    74,    75,    76,    77,    57,
+      -1,    -1,    -1,    61,    62,    63,    64,    -1,    66,    -1,
+      -1,    -1,    70,    71,    72,    73,    74,    75,    76,    77,
+      57,    -1,    -1,    -1,    61,    62,    63,    64,    -1,    66,
+      -1,    -1,    -1,    70,    71,    72,    73,    74,    75,    76,
+      77,    57,    -1,    -1,    -1,    61,    62,    63,    64,    -1,
+      66,    -1,    -1,    -1,    70,    71,    72,    73,    74,    75,
+      76,    77,    57,    -1,    -1,    -1,    61,    62,    63,    64,
+      -1,    66,    -1,    -1,    -1,    70,    71,    72,    73,    74,
+      75,    76,    77,    57,    -1,    -1,    -1,    61,    62,    63,
+      64,    -1,    66,    -1,    -1,    -1,    70,    71,    72,    73,
+      74,    75,    76,    77,    57,    -1,    -1,    -1,    61,    62,
+      63,    64,    -1,    66,    -1,    -1,    -1,    70,    71,    72,
+      73,    74,    75,    76,    77,    57,    -1,    -1,    -1,    61,
+      62,    63,    64,    -1,    66,    -1,    -1,    -1,    70,    71,
+      72,    73,    74,    75,    76,    77,    57,    -1,    -1,    -1,
+      61,    62,    63,    64,    -1,    66,    -1,    -1,    -1,    70,
+      71,    72,    73,    74,    75,    76,    77,    61,    62,    63,
+      64,    65,    66,    -1,    -1,    -1,    70,    71,    72,    73,
+      74,    75,    76,    77,    61,    62,    63,    64,    -1,    66,
+      -1,    68,    -1,    70,    71,    72,    73,    74,    75,    76,
+      77,    61,    62,    63,    64,    -1,    66,    -1,    -1,    -1,
+      70,    71,    72,    73,    74,    75,    76,    77,    61,    62,
+      63,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
+      73,    74,    75,    76,    77
+};
+
+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
+   state STATE-NUM.  */
+static const yytype_int16 yystos[] =
+{
+       0,     1,   135,   136,     0,     3,     4,     5,     6,     7,
+       8,     9,    14,    21,    37,    45,    52,    92,    97,   105,
+     106,   107,   110,   137,   138,   139,   140,   141,   142,   143,
+     145,   147,   148,   156,   165,   169,   173,   175,   178,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   206,   274,    10,
+      11,   103,    54,    54,    54,    54,    54,    54,     1,    79,
+       1,    79,   207,    91,     1,    79,    80,   144,   160,   176,
+      82,    54,   275,    16,   200,    17,   227,    13,   250,    42,
+     228,    43,   229,    44,   234,    51,   236,    33,   239,   127,
+     240,    41,   251,    22,   230,   125,   201,   126,   202,    34,
+     231,    84,   262,   122,   123,   149,   166,   170,   174,   149,
+     157,    82,    83,   163,    58,   208,    68,    58,   177,    68,
+      93,   146,   179,    54,    54,   204,    79,   204,    79,    79,
+      79,    79,    79,     1,    56,   204,    79,   204,   204,    79,
+      79,    13,    16,    18,    30,   203,   203,     1,    55,    79,
+     150,     1,    55,    79,    98,   167,     1,    55,   160,   171,
+      55,   171,    55,    55,    79,   158,   163,    79,   163,   160,
+     160,   147,     1,    55,    56,    79,   152,   180,   181,   276,
+     206,   209,   204,    32,   248,   249,   248,    56,    56,    56,
+     160,   237,   238,   204,   204,   248,   204,   204,   204,   204,
+      58,    65,   151,   152,    23,   167,    23,    29,    58,   172,
+      65,    59,   208,    59,   177,   177,   153,    65,     1,    65,
+       1,    55,   111,   112,   115,   117,   118,   119,   120,   121,
+     124,   130,   278,   209,     1,    16,    18,    23,    26,    27,
+      31,    49,    50,    53,    55,    69,    79,    85,    86,    88,
+      89,    90,    94,    95,    96,   108,   128,   129,   131,   139,
+     140,   141,   160,   204,   205,   210,   211,   212,   215,   219,
+     222,   223,   226,   232,   242,   244,   246,   252,   253,   255,
+     258,   263,   265,   266,   269,   270,     1,    79,   204,    68,
+     204,   237,   237,   237,   151,    57,    68,   204,   163,    63,
+      81,   161,   162,   163,    74,   154,   161,   161,   161,   163,
+     151,   159,   161,    12,    81,   152,   163,   164,   152,    79,
+       1,    79,   279,    79,   279,   279,   279,   279,   279,   279,
+     144,   261,   277,    55,   204,     1,    79,     1,    79,    56,
+      56,     1,   261,   160,   160,    79,   211,     1,    56,    63,
+      78,   164,   212,   214,   215,    56,    60,     1,    82,   212,
+     254,     1,    82,   212,   264,    79,   214,    79,   214,     1,
+      35,    79,    80,     1,   160,    54,   261,   267,     1,    56,
+       1,    56,   243,   144,    58,    65,    68,    79,    57,    57,
+      57,   241,   160,    59,   162,   151,   161,    24,    24,    59,
+      74,   155,    68,   151,    68,    57,    63,   152,   152,    68,
+     113,   114,    68,    19,    38,   247,    65,   214,   214,   214,
+     214,   214,   151,    61,    62,    63,    64,    65,    66,    70,
+      71,    72,    73,    74,    75,    76,    77,   216,   163,   212,
+      61,    65,   212,    61,    63,    74,    87,   256,    54,   259,
+      54,    79,    58,    65,    25,     1,   160,   271,   272,   273,
+     109,   268,   237,   214,   115,     1,    15,    56,   144,   163,
+     213,   214,   243,   151,   151,   204,   204,   151,   151,   154,
+      68,   161,   161,    23,   172,   161,   161,   161,    72,    79,
+     279,   279,   144,    46,   204,   213,    57,    57,    57,   214,
+     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
+     214,   214,   214,    91,   214,   217,   218,    58,    82,   212,
+     214,    82,   212,    72,    74,   264,    68,    79,   257,    68,
+      79,   260,    58,    99,   100,   233,    79,    79,    58,    55,
+     272,    56,   261,    23,    57,    57,    79,    56,   213,    59,
+      61,    62,    63,    64,   235,   154,   161,    20,   168,   172,
+     161,   151,    72,   152,   114,   116,   280,   280,   247,    24,
+     204,   204,    57,    68,   213,   212,   212,    56,    56,    56,
+     214,    55,    79,   214,    55,    79,   233,    59,    62,    79,
+     214,   214,   245,   164,   214,    57,   213,   213,   213,   213,
+     204,    72,   163,   151,    24,   155,   279,    63,   164,   213,
+     224,    91,   214,    59,   214,   214,   214,    54,    54,    59,
+      65,    36,    59,    57,    24,   204,    57,   172,   155,   161,
+     280,   164,    25,   221,    28,   225,    57,    57,    68,   257,
+     260,    65,   214,    56,    65,   214,   151,   172,   213,   220,
+      27,   204,   214,    55,    55,   214,    79,   214,    20,   151,
+     204,    56,    57,    57,   163,   155,   214,    61,    57,    79,
+     204
+};
+
+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
+static const yytype_int16 yyr1[] =
+{
+       0,   134,   135,   135,   136,   136,   137,   137,   137,   137,
+     137,   137,   137,   137,   137,   138,   139,   140,   141,   141,
+     142,   143,   143,   144,   145,   146,   145,   147,   147,   147,
+     147,   147,   147,   147,   147,   148,   148,   149,   149,   150,
+     150,   150,   150,   151,   151,   153,   152,   154,   154,   155,
+     155,   156,   157,   157,   158,   159,   159,   160,   160,   161,
+     161,   162,   162,   163,   163,   164,   164,   165,   166,   166,
+     166,   167,   167,   168,   169,   170,   170,   171,   171,   171,
+     171,   171,   172,   172,   173,   174,   174,   175,   175,   176,
+     176,   177,   177,   178,   179,   179,   179,   180,   180,   181,
+     181,   181,   181,   183,   182,   184,   182,   185,   182,   186,
+     182,   187,   182,   188,   182,   189,   182,   190,   182,   191,
+     182,   192,   182,   193,   182,   194,   182,   195,   182,   196,
+     182,   197,   182,   198,   182,   199,   182,   200,   201,   202,
+     203,   203,   203,   203,   204,   204,   205,   205,   206,   206,
+     207,   207,   208,   208,   209,   209,   210,   210,   210,   210,
+     210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
+     210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
+     210,   210,   210,   211,   211,   212,   212,   212,   212,   213,
+     213,   213,   213,   213,   213,   213,   213,   213,   214,   214,
+     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
+     214,   214,   214,   214,   214,   214,   214,   214,   216,   215,
+     217,   217,   218,   218,   218,   218,   220,   219,   219,   221,
+     221,   222,   223,   224,   224,   225,   225,   226,   227,   228,
+     229,   230,   231,   232,   232,   232,   232,   233,   233,   235,
+     234,   236,   237,   237,   238,   238,   239,   241,   240,   240,
+     242,   242,   242,   243,   245,   244,   244,   246,   246,   246,
+     247,   247,   248,   248,   249,   249,   249,   250,   251,   252,
+     252,   253,   253,   254,   254,   254,   254,   256,   255,   255,
+     257,   257,   259,   258,   258,   260,   260,   261,   261,   262,
+     263,   263,   263,   263,   264,   264,   264,   264,   265,   265,
+     266,   267,   267,   268,   268,   269,   269,   270,   271,   271,
+     272,   272,   272,   273,   273,   275,   274,   276,   276,   276,
+     276,   276,   276,   276,   276,   276,   276,   276,   277,   277,
+     278,   278,   278,   278,   279,   279,   279,   280,   280,   280
+};
+
+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
+static const yytype_int8 yyr2[] =
+{
+       0,     2,     1,     1,     0,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     2,     2,     1,     1,
+       2,     3,     2,     1,     1,     0,     4,     1,     1,     1,
+       1,     1,     1,     1,     1,     4,     4,     0,     2,     5,
+       3,     6,     1,     0,     1,     0,     4,     0,     5,     0,
+       3,     4,     0,     2,     4,     3,     3,     1,     1,     1,
+       2,     1,     1,     1,     1,     1,     1,     4,     0,     2,
+       3,     9,     1,     1,     4,     0,     2,     4,     7,     8,
+      11,     1,     0,     2,     4,     0,     2,     5,     2,     2,
+       4,     0,     3,     4,     0,     2,     2,     3,     2,     4,
+       4,     6,     1,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     2,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     2,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     2,     0,     3,     0,     3,     2,     2,     2,
+       2,     2,     2,     2,     3,     4,     2,     4,     2,     2,
+       2,     4,     0,     3,     0,     2,     1,     2,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     3,     4,     1,     4,     3,     6,     1,
+       1,     3,     3,     3,     3,     3,     4,     1,     1,     2,
+       1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     2,     2,     1,     0,     5,
+       0,     1,     1,     1,     3,     3,     0,     9,     2,     0,
+       2,     5,     7,     0,     7,     0,     2,     2,     3,     4,
+       4,     3,     3,    11,     8,     7,     2,     1,     1,     0,
+       8,     6,     0,     1,     2,     4,     6,     0,     6,     2,
+       2,     3,     2,     4,     0,     6,     2,     3,     5,     2,
+       0,     2,     0,     1,     2,     3,     2,     2,     2,     2,
+       2,     4,     2,     1,     2,     3,     4,     0,     8,     5,
+       1,     2,     0,     8,     5,     1,     2,     1,     3,     4,
+       9,     7,     7,     2,     1,     2,     3,     4,     4,     2,
+       9,     0,     1,     0,     2,     2,     2,     4,     1,     2,
+       1,     6,     1,     1,     4,     0,     5,     0,     3,     2,
+       3,     3,     3,     3,     3,     3,     3,     3,     0,     1,
+       5,     5,     7,     1,     1,     3,     1,     0,     2,     3
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+#define YYNOMEM         goto yyexhaustedlab
+
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
+
+/* Backward compatibility with an undocumented macro.
+   Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Kind, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  FILE *yyoutput = yyo;
+  YY_USE (yyoutput);
+  if (!yyvaluep)
+    return;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  YYFPRINTF (yyo, "%s %s (",
+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+  yy_symbol_value_print (yyo, yykind, yyvaluep);
+  YYFPRINTF (yyo, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+                 int yyrule)
+{
+  int yylno = yyrline[yyrule];
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+             yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr,
+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+                       &yyvsp[(yyi + 1) - (yynrhs)]);
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+{
+  YY_USE (yyvaluep);
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/* Lookahead token kind.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+int
+yyparse (void)
+{
+    yy_state_fast_t yystate = 0;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus = 0;
+
+    /* Refer to the stacks through separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* Their size.  */
+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+    /* The state stack: array, bottom, top.  */
+    yy_state_t yyssa[YYINITDEPTH];
+    yy_state_t *yyss = yyssa;
+    yy_state_t *yyssp = yyss;
+
+    /* The semantic value stack: array, bottom, top.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs = yyvsa;
+    YYSTYPE *yyvsp = yyvs;
+
+  int yyn;
+  /* The return value of yyparse.  */
+  int yyresult;
+  /* Lookahead symbol kind.  */
+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+  YY_IGNORE_USELESS_CAST_BEGIN
+  *yyssp = YY_CAST (yy_state_t, yystate);
+  YY_IGNORE_USELESS_CAST_END
+  YY_STACK_PRINT (yyss, yyssp);
+
+  if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    YYNOMEM;
+#else
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+# if defined yyoverflow
+      {
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        yy_state_t *yyss1 = yyss;
+        YYSTYPE *yyvs1 = yyvs;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * YYSIZEOF (*yyssp),
+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
+                    &yystacksize);
+        yyss = yyss1;
+        yyvs = yyvs1;
+      }
+# else /* defined YYSTACK_RELOCATE */
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+        YYNOMEM;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+        yystacksize = YYMAXDEPTH;
+
+      {
+        yy_state_t *yyss1 = yyss;
+        union yyalloc *yyptr =
+          YY_CAST (union yyalloc *,
+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+        if (! yyptr)
+          YYNOMEM;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
+      }
+# endif
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YY_IGNORE_USELESS_CAST_BEGIN
+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+                  YY_CAST (long, yystacksize)));
+      YY_IGNORE_USELESS_CAST_END
+
+      if (yyss + yystacksize - 1 <= yyssp)
+        YYABORT;
+    }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token\n"));
+      yychar = yylex ();
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = YYEOF;
+      yytoken = YYSYMBOL_YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else if (yychar == YYerror)
+    {
+      /* The scanner already issued an error message, process directly
+         to error recovery.  But do not keep the error token as
+         lookahead, it is too special and may lead us to an endless
+         loop in error recovery. */
+      yychar = YYUNDEF;
+      yytoken = YYSYMBOL_YYerror;
+      goto yyerrlab1;
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     '$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+  case 3: /* top: error  */
+#line 120 "../../../../src/modlunit/parse1.ypp"
+               {diag("Illegal block", (char *)0);}
+#line 2027 "parse1.cpp"
+    break;
+
+  case 4: /* all: %empty  */
+#line 123 "../../../../src/modlunit/parse1.ypp"
+        {(yyval.qp) = ITEM0;}
+#line 2033 "parse1.cpp"
+    break;
+
+  case 15: /* title: TITLE TO_EOL  */
+#line 131 "../../../../src/modlunit/parse1.ypp"
+                {P1{if (!title) title = (yyvsp[0].qp);}}
+#line 2039 "parse1.cpp"
+    break;
+
+  case 18: /* unitflag: UNITSON  */
+#line 138 "../../../../src/modlunit/parse1.ypp"
+                { unitonflag = unitflagsave = 1;}
+#line 2045 "parse1.cpp"
+    break;
+
+  case 19: /* unitflag: UNITSOFF  */
+#line 140 "../../../../src/modlunit/parse1.ypp"
+                {unitonflag = unitflagsave = 0;}
+#line 2051 "parse1.cpp"
+    break;
+
+  case 20: /* include1: INCLUDE1 STRING  */
+#line 143 "../../../../src/modlunit/parse1.ypp"
+                {P1{include_file((yyvsp[0].qp));}}
+#line 2057 "parse1.cpp"
+    break;
+
+  case 21: /* define1: DEFINE1 NAME integer  */
+#line 146 "../../../../src/modlunit/parse1.ypp"
+                {P1{define_value((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 2063 "parse1.cpp"
+    break;
+
+  case 22: /* define1: DEFINE1 error  */
+#line 147 "../../../../src/modlunit/parse1.ypp"
+                        {myerr("syntax: DEFINE name integer");}
+#line 2069 "parse1.cpp"
+    break;
+
+  case 23: /* Name: NAME  */
+#line 150 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyvsp[0].qp)->element = (void *)checklocal(SYM((yyvsp[0].qp)));}}
+#line 2075 "parse1.cpp"
+    break;
+
+  case 25: /* $@1: %empty  */
+#line 153 "../../../../src/modlunit/parse1.ypp"
+                              {declare_level = atoi(STR((yyvsp[0].qp)));}
+#line 2081 "parse1.cpp"
+    break;
+
+  case 26: /* declare: MODEL_LEVEL INTEGER $@1 declare1  */
+#line 154 "../../../../src/modlunit/parse1.ypp"
+                {declare_level = 0;}
+#line 2087 "parse1.cpp"
+    break;
+
+  case 37: /* constbody: %empty  */
+#line 163 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2093 "parse1.cpp"
+    break;
+
+  case 39: /* constasgn: NAME '=' number units limits  */
+#line 170 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-4].qp), (yyvsp[-1].qp), ITEM0, (yyvsp[-2].qp),ITEM0,ITEM0,ITEM0); declare(modlunitCONST, (yyvsp[-4].qp), (yyval.qp));}}
+#line 2099 "parse1.cpp"
+    break;
+
+  case 40: /* constasgn: NAME units limits  */
+#line 172 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-2].qp), (yyvsp[-1].qp), ITEM0,ITEM0,ITEM0,ITEM0,ITEM0); declare(modlunitCONST, (yyvsp[-2].qp), (yyval.qp));}}
+#line 2105 "parse1.cpp"
+    break;
+
+  case 41: /* constasgn: NAME '[' integer ']' units limits  */
+#line 174 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-5].qp), (yyvsp[-1].qp), (yyvsp[-3].qp), ITEM0, ITEM0,ITEM0,ITEM0); declare(modlunitCONST, (yyvsp[-5].qp), (yyval.qp));}}
+#line 2111 "parse1.cpp"
+    break;
+
+  case 42: /* constasgn: error  */
+#line 175 "../../../../src/modlunit/parse1.ypp"
+                {myerr("name = number");}
+#line 2117 "parse1.cpp"
+    break;
+
+  case 43: /* units: %empty  */
+#line 178 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2123 "parse1.cpp"
+    break;
+
+  case 45: /* $@2: %empty  */
+#line 181 "../../../../src/modlunit/parse1.ypp"
+            {P1{lex_units();}}
+#line 2129 "parse1.cpp"
+    break;
+
+  case 46: /* Units: '(' $@2 UNITS ')'  */
+#line 182 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[-1].qp); lastok = (yyvsp[0].qp); P2{unitcheck(STR((yyvsp[-1].qp)));}}
+#line 2135 "parse1.cpp"
+    break;
+
+  case 47: /* limits: %empty  */
+#line 185 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2141 "parse1.cpp"
+    break;
+
+  case 49: /* tolerance: %empty  */
+#line 189 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2147 "parse1.cpp"
+    break;
+
+  case 52: /* stepbdy: %empty  */
+#line 195 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2153 "parse1.cpp"
+    break;
+
+  case 54: /* stepped: NAME '=' numlist units  */
+#line 199 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(3,(yyvsp[-3].qp), (yyvsp[0].qp), (yyvsp[-1].qp)); declare(STEP1, (yyvsp[-3].qp), (yyval.qp));}}
+#line 2159 "parse1.cpp"
+    break;
+
+  case 57: /* name: Name  */
+#line 204 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2165 "parse1.cpp"
+    break;
+
+  case 58: /* name: PRIME  */
+#line 205 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2171 "parse1.cpp"
+    break;
+
+  case 59: /* number: NUMBER  */
+#line 208 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2177 "parse1.cpp"
+    break;
+
+  case 60: /* number: '-' NUMBER  */
+#line 210 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2183 "parse1.cpp"
+    break;
+
+  case 65: /* real: REAL  */
+#line 218 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2189 "parse1.cpp"
+    break;
+
+  case 66: /* real: integer  */
+#line 220 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2195 "parse1.cpp"
+    break;
+
+  case 68: /* indepbody: %empty  */
+#line 225 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2201 "parse1.cpp"
+    break;
+
+  case 69: /* indepbody: indepbody indepdef  */
+#line 227 "../../../../src/modlunit/parse1.ypp"
+                {P1{declare(INDEP, ITMA((yyvsp[0].qp))[0], (yyvsp[0].qp));}}
+#line 2207 "parse1.cpp"
+    break;
+
+  case 70: /* indepbody: indepbody SWEEP indepdef  */
+#line 229 "../../../../src/modlunit/parse1.ypp"
+                {P1{ITMA((yyvsp[0].qp))[7] = (yyvsp[-1].qp); declare(INDEP, ITMA((yyvsp[0].qp))[0], (yyvsp[0].qp));}}
+#line 2213 "parse1.cpp"
+    break;
+
+  case 71: /* indepdef: NAME FROM number TO number withby integer opstart units  */
+#line 233 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(8, (yyvsp[-8].qp), (yyvsp[0].qp), (yyvsp[-6].qp), (yyvsp[-4].qp), (yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), ITEM0);}}
+#line 2219 "parse1.cpp"
+    break;
+
+  case 72: /* indepdef: error  */
+#line 234 "../../../../src/modlunit/parse1.ypp"
+                {myerr("name FROM number TO number WITH integer");}
+#line 2225 "parse1.cpp"
+    break;
+
+  case 75: /* depbody: %empty  */
+#line 241 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2231 "parse1.cpp"
+    break;
+
+  case 76: /* depbody: depbody depdef  */
+#line 243 "../../../../src/modlunit/parse1.ypp"
+                {P1{declare(DEP, ITMA((yyvsp[0].qp))[0], (yyvsp[0].qp));}}
+#line 2237 "parse1.cpp"
+    break;
+
+  case 77: /* depdef: name opstart units tolerance  */
+#line 246 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-3].qp), (yyvsp[-1].qp), ITEM0, ITEM0, ITEM0, (yyvsp[-2].qp), ITEM0);}}
+#line 2243 "parse1.cpp"
+    break;
+
+  case 78: /* depdef: name '[' integer ']' opstart units tolerance  */
+#line 248 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-6].qp), (yyvsp[-1].qp), (yyvsp[-4].qp), ITEM0, ITEM0, (yyvsp[-2].qp), ITEM0);}}
+#line 2249 "parse1.cpp"
+    break;
+
+  case 79: /* depdef: name FROM number TO number opstart units tolerance  */
+#line 250 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-7].qp), (yyvsp[-1].qp), ITEM0, (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-2].qp), ITEM0);}}
+#line 2255 "parse1.cpp"
+    break;
+
+  case 80: /* depdef: name '[' integer ']' FROM number TO number opstart units tolerance  */
+#line 252 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(7, (yyvsp[-10].qp), (yyvsp[-1].qp), (yyvsp[-8].qp), (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-2].qp), ITEM0);}}
+#line 2261 "parse1.cpp"
+    break;
+
+  case 81: /* depdef: error  */
+#line 253 "../../../../src/modlunit/parse1.ypp"
+                {
+diag("name FROM number TO number START number\n",
+"FROM...TO and START are optional, name can be name[integer]\n");}
+#line 2269 "parse1.cpp"
+    break;
+
+  case 82: /* opstart: %empty  */
+#line 257 "../../../../src/modlunit/parse1.ypp"
+                     {(yyval.qp) = ITEM0;}
+#line 2275 "parse1.cpp"
+    break;
+
+  case 83: /* opstart: START1 number  */
+#line 258 "../../../../src/modlunit/parse1.ypp"
+                        {(yyval.qp) = (yyvsp[0].qp);}
+#line 2281 "parse1.cpp"
+    break;
+
+  case 85: /* statbody: %empty  */
+#line 263 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2287 "parse1.cpp"
+    break;
+
+  case 86: /* statbody: statbody depdef  */
+#line 265 "../../../../src/modlunit/parse1.ypp"
+                {P1{declare(STAT, ITMA((yyvsp[0].qp))[0], (yyvsp[0].qp));}}
+#line 2293 "parse1.cpp"
+    break;
+
+  case 88: /* plotdecl: PLOT error  */
+#line 268 "../../../../src/modlunit/parse1.ypp"
+                     { myerr("PLOT namelist VS name");}
+#line 2299 "parse1.cpp"
+    break;
+
+  case 91: /* optindex: %empty  */
+#line 274 "../../../../src/modlunit/parse1.ypp"
+                { (yyval.qp) = ITEM0;}
+#line 2305 "parse1.cpp"
+    break;
+
+  case 92: /* optindex: '[' integer ']'  */
+#line 276 "../../../../src/modlunit/parse1.ypp"
+                { (yyval.qp) = (yyvsp[-1].qp);}
+#line 2311 "parse1.cpp"
+    break;
+
+  case 94: /* unitbody: %empty  */
+#line 281 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2317 "parse1.cpp"
+    break;
+
+  case 97: /* unitdef: Units '=' Units  */
+#line 286 "../../../../src/modlunit/parse1.ypp"
+                {P1{install_units(STR((yyvsp[-2].qp)), STR((yyvsp[0].qp)));}}
+#line 2323 "parse1.cpp"
+    break;
+
+  case 98: /* unitdef: Units error  */
+#line 287 "../../../../src/modlunit/parse1.ypp"
+                      {myerr("Unit definition syntax: (units) = (units)");}
+#line 2329 "parse1.cpp"
+    break;
+
+  case 99: /* factordef: NAME '=' real Units  */
+#line 290 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(3, (yyvsp[-3].qp), (yyvsp[0].qp), (yyvsp[-1].qp)); declare(UFACTOR, (yyvsp[-3].qp), (yyval.qp));}}
+#line 2335 "parse1.cpp"
+    break;
+
+  case 100: /* factordef: NAME '=' Units Units  */
+#line 292 "../../../../src/modlunit/parse1.ypp"
+                {P1{Item *q; double d; extern double unit_mag();
+		    Unit_push(STR((yyvsp[-1].qp)));
+			Unit_push(STR((yyvsp[0].qp))); unit_div();
+			dimensionless();
+			Sprintf(buf, "%g",unit_mag());
+			(yyval.qp) = itemarray(3, (yyvsp[-3].qp), (yyvsp[0].qp), lappendstr(misc, buf));
+/*printf("%s has value %s and units (%s)\n", SYM($1)->name, buf, STR($5));*/
+		    unit_pop();
+		    declare(UFACTOR, (yyvsp[-3].qp), (yyval.qp));
+		}}
+#line 2350 "parse1.cpp"
+    break;
+
+  case 101: /* factordef: NAME '=' Units '-' GT Units  */
+#line 303 "../../../../src/modlunit/parse1.ypp"
+                {P1{ Item *q; extern double unit_mag();
+		    Unit_push(STR((yyvsp[-3].qp))); Unit_push(STR((yyvsp[0].qp))); unit_div();
+		    q = lappendstr(misc, unit_str());
+		    dimensionless();
+		    Sprintf(buf, "%g", 1./unit_mag());
+		    (yyval.qp) = itemarray(3, (yyvsp[-5].qp), lappendstr(misc, buf), q),
+/*printf("%s has value %s and units (%s)\n", SYM($1)->name, STR(q), buf );*/
+		    unit_pop();
+		    declare(UFACTOR, (yyvsp[-5].qp), (yyval.qp));
+		}}
+#line 2365 "parse1.cpp"
+    break;
+
+  case 102: /* factordef: error  */
+#line 313 "../../../../src/modlunit/parse1.ypp"
+                {myerr("Unit factor syntax: examples:\n\
+foot2inch = (foot) -> (inch)\n\
+F = 96520 (coulombs)\n\
+R = (k-mole) (joule/degC)");
+		}
+#line 2375 "parse1.cpp"
+    break;
+
+  case 103: /* $@3: %empty  */
+#line 319 "../../../../src/modlunit/parse1.ypp"
+         {blocktype = INITIAL1;}
+#line 2381 "parse1.cpp"
+    break;
+
+  case 104: /* proc: $@3 initblk  */
+#line 320 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2387 "parse1.cpp"
+    break;
+
+  case 105: /* $@4: %empty  */
+#line 321 "../../../../src/modlunit/parse1.ypp"
+          {lexcontext = NONLINEAR; blocktype = DERIVATIVE;}
+#line 2393 "parse1.cpp"
+    break;
+
+  case 106: /* proc: $@4 derivblk  */
+#line 322 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2399 "parse1.cpp"
+    break;
+
+  case 107: /* $@5: %empty  */
+#line 323 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = BREAKPOINT;}
+#line 2405 "parse1.cpp"
+    break;
+
+  case 108: /* proc: $@5 eqnblk  */
+#line 324 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2411 "parse1.cpp"
+    break;
+
+  case 109: /* $@6: %empty  */
+#line 325 "../../../../src/modlunit/parse1.ypp"
+          {lexcontext = blocktype = LINEAR;}
+#line 2417 "parse1.cpp"
+    break;
+
+  case 110: /* proc: $@6 linblk  */
+#line 326 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2423 "parse1.cpp"
+    break;
+
+  case 111: /* $@7: %empty  */
+#line 327 "../../../../src/modlunit/parse1.ypp"
+          {lexcontext = blocktype = NONLINEAR;}
+#line 2429 "parse1.cpp"
+    break;
+
+  case 112: /* proc: $@7 nonlinblk  */
+#line 328 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2435 "parse1.cpp"
+    break;
+
+  case 113: /* $@8: %empty  */
+#line 329 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = FUNCTION1;}
+#line 2441 "parse1.cpp"
+    break;
+
+  case 114: /* proc: $@8 funcblk  */
+#line 330 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2447 "parse1.cpp"
+    break;
+
+  case 115: /* $@9: %empty  */
+#line 331 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = FUNCTION_TABLE;}
+#line 2453 "parse1.cpp"
+    break;
+
+  case 116: /* proc: $@9 functbl  */
+#line 332 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2459 "parse1.cpp"
+    break;
+
+  case 117: /* $@10: %empty  */
+#line 333 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = PROCEDURE;}
+#line 2465 "parse1.cpp"
+    break;
+
+  case 118: /* proc: $@10 procedblk  */
+#line 334 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2471 "parse1.cpp"
+    break;
+
+  case 119: /* $@11: %empty  */
+#line 335 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = PROCEDURE;}
+#line 2477 "parse1.cpp"
+    break;
+
+  case 120: /* proc: $@11 netrecblk  */
+#line 336 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2483 "parse1.cpp"
+    break;
+
+  case 121: /* $@12: %empty  */
+#line 337 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = TERMINAL;}
+#line 2489 "parse1.cpp"
+    break;
+
+  case 122: /* proc: $@12 terminalblk  */
+#line 338 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2495 "parse1.cpp"
+    break;
+
+  case 123: /* $@13: %empty  */
+#line 339 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = DISCRETE;}
+#line 2501 "parse1.cpp"
+    break;
+
+  case 124: /* proc: $@13 discretblk  */
+#line 340 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2507 "parse1.cpp"
+    break;
+
+  case 125: /* $@14: %empty  */
+#line 341 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = CONSTRUCTOR;}
+#line 2513 "parse1.cpp"
+    break;
+
+  case 126: /* proc: $@14 constructblk  */
+#line 342 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2519 "parse1.cpp"
+    break;
+
+  case 127: /* $@15: %empty  */
+#line 343 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = DESTRUCTOR;}
+#line 2525 "parse1.cpp"
+    break;
+
+  case 128: /* proc: $@15 destructblk  */
+#line 344 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2531 "parse1.cpp"
+    break;
+
+  case 129: /* $@16: %empty  */
+#line 345 "../../../../src/modlunit/parse1.ypp"
+          {lexcontext = blocktype = PARTIAL;}
+#line 2537 "parse1.cpp"
+    break;
+
+  case 130: /* proc: $@16 partialblk  */
+#line 346 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 2543 "parse1.cpp"
+    break;
+
+  case 131: /* $@17: %empty  */
+#line 347 "../../../../src/modlunit/parse1.ypp"
+          {lexcontext = blocktype = KINETIC;
+		P3 R0{unitflagsave=unitonflag; unitonflag=0;}}
+#line 2550 "parse1.cpp"
+    break;
+
+  case 132: /* proc: $@17 kineticblk  */
+#line 350 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp); P3{ R0{unitonflag=unitflagsave;}
+		R1{clear_compartlist();} parse_restart((yyval.qp), 1);}}
+#line 2557 "parse1.cpp"
+    break;
+
+  case 133: /* $@18: %empty  */
+#line 352 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = BEFORE;}
+#line 2563 "parse1.cpp"
+    break;
+
+  case 134: /* proc: $@18 BEFORE bablk  */
+#line 352 "../../../../src/modlunit/parse1.ypp"
+                                             {(yyval.qp) = (yyvsp[-1].qp);}
+#line 2569 "parse1.cpp"
+    break;
+
+  case 135: /* $@19: %empty  */
+#line 353 "../../../../src/modlunit/parse1.ypp"
+          {blocktype = AFTER;}
+#line 2575 "parse1.cpp"
+    break;
+
+  case 136: /* proc: $@19 AFTER bablk  */
+#line 353 "../../../../src/modlunit/parse1.ypp"
+                                           {(yyval.qp) = (yyvsp[-1].qp);}
+#line 2581 "parse1.cpp"
+    break;
+
+  case 144: /* stmtlist: '{' stmtlist1 '}'  */
+#line 367 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[-1].qp);}
+#line 2587 "parse1.cpp"
+    break;
+
+  case 145: /* stmtlist: '{' locallist stmtlist1 '}'  */
+#line 369 "../../../../src/modlunit/parse1.ypp"
+                {P1{poplocal();}}
+#line 2593 "parse1.cpp"
+    break;
+
+  case 146: /* conducthint: CONDUCTANCE Name  */
+#line 372 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0; conductance_seen_ = 1;}
+#line 2599 "parse1.cpp"
+    break;
+
+  case 147: /* conducthint: CONDUCTANCE Name USEION NAME  */
+#line 374 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0; conductance_seen_ = 1;}
+#line 2605 "parse1.cpp"
+    break;
+
+  case 148: /* locallist: LOCAL locallist1  */
+#line 376 "../../../../src/modlunit/parse1.ypp"
+                            { if (blocktype == BREAKPOINT) breakpoint_local_seen_ = 1; }
+#line 2611 "parse1.cpp"
+    break;
+
+  case 149: /* locallist: LOCAL error  */
+#line 377 "../../../../src/modlunit/parse1.ypp"
+                      {myerr("Illegal LOCAL declaration");}
+#line 2617 "parse1.cpp"
+    break;
+
+  case 150: /* locallist1: NAME locoptarray  */
+#line 380 "../../../../src/modlunit/parse1.ypp"
+                {P1{pushlocal((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 2623 "parse1.cpp"
+    break;
+
+  case 151: /* locallist1: locallist1 ',' NAME locoptarray  */
+#line 382 "../../../../src/modlunit/parse1.ypp"
+                {P1{install_local((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 2629 "parse1.cpp"
+    break;
+
+  case 152: /* locoptarray: %empty  */
+#line 385 "../../../../src/modlunit/parse1.ypp"
+                { (yyval.qp) = ITEM0;}
+#line 2635 "parse1.cpp"
+    break;
+
+  case 153: /* locoptarray: '[' integer ']'  */
+#line 387 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[-1].qp);}
+#line 2641 "parse1.cpp"
+    break;
+
+  case 154: /* stmtlist1: %empty  */
+#line 390 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2647 "parse1.cpp"
+    break;
+
+  case 182: /* stmt: error  */
+#line 420 "../../../../src/modlunit/parse1.ypp"
+                {myerr("Illegal statement");}
+#line 2653 "parse1.cpp"
+    break;
+
+  case 183: /* asgn: varname '=' expr  */
+#line 423 "../../../../src/modlunit/parse1.ypp"
+                {
+		  P3 {
+			if (SYM((yyvsp[-2].qp))->subtype & LOCL) {
+				SYM((yyvsp[-2].qp))->u.str = stralloc(unit_str(), (char *)0);
+				unit_pop();
+			}else{
+			   unit_push((yyvsp[-2].qp)); unit_swap();
+			   unit_cmp((yyvsp[-2].qp), (yyvsp[-1].qp), lastok); unit_pop();
+			}
+		  }
+		}
+#line 2669 "parse1.cpp"
+    break;
+
+  case 184: /* asgn: '~' expr '=' expr  */
+#line 435 "../../../../src/modlunit/parse1.ypp"
+                {
+		  P3 {
+			unit_cmp((yyvsp[-2].qp), (yyvsp[-1].qp), lastok); unit_pop();
+		  }
+		}
+#line 2679 "parse1.cpp"
+    break;
+
+  case 185: /* varname: name  */
+#line 442 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		  P1{SYM((yyvsp[0].qp))->usage |= DEP;}
+		  P2{ if (SYM((yyvsp[0].qp))->subtype & ARRAY) {
+			myerr("variable needs an index");}
+		  }
+		}
+#line 2690 "parse1.cpp"
+    break;
+
+  case 186: /* varname: name '[' intexpr ']'  */
+#line 449 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp); 
+		  P1{SYM((yyvsp[-3].qp))->usage |= DEP;}
+		  P2{ if ((SYM((yyvsp[-3].qp))->subtype & ARRAY) == 0)
+			{myerr("variable is not an array");}
+		  }
+		}
+#line 2701 "parse1.cpp"
+    break;
+
+  case 187: /* varname: NAME '@' integer  */
+#line 456 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		  P1{SYM((yyvsp[-2].qp))->usage |= DEP;}
+		  P2{ if (SYM((yyvsp[-2].qp))->subtype & ARRAY) {
+			myerr("variable needs an index");}
+		  }
+		}
+#line 2712 "parse1.cpp"
+    break;
+
+  case 188: /* varname: NAME '@' integer '[' intexpr ']'  */
+#line 464 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		  P1{SYM((yyvsp[-5].qp))->usage |= DEP;}
+		  P2{ if ((SYM((yyvsp[-5].qp))->subtype & ARRAY) == 0)
+			{myerr("variable is not an array");}
+		  }
+		}
+#line 2723 "parse1.cpp"
+    break;
+
+  case 189: /* intexpr: Name  */
+#line 472 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp); P1{SYM((yyvsp[0].qp))->usage |= DEP;}}
+#line 2729 "parse1.cpp"
+    break;
+
+  case 190: /* intexpr: integer  */
+#line 473 "../../../../src/modlunit/parse1.ypp"
+                                { lastok = (yyvsp[0].qp);}
+#line 2735 "parse1.cpp"
+    break;
+
+  case 191: /* intexpr: '(' intexpr ')'  */
+#line 474 "../../../../src/modlunit/parse1.ypp"
+                                { lastok = (yyvsp[0].qp);}
+#line 2741 "parse1.cpp"
+    break;
+
+  case 196: /* intexpr: INT '(' expr ')'  */
+#line 479 "../../../../src/modlunit/parse1.ypp"
+                           {lastok = (yyvsp[0].qp);}
+#line 2747 "parse1.cpp"
+    break;
+
+  case 197: /* intexpr: error  */
+#line 480 "../../../../src/modlunit/parse1.ypp"
+                {myerr("Illegal integer expression");}
+#line 2753 "parse1.cpp"
+    break;
+
+  case 198: /* expr: varname  */
+#line 482 "../../../../src/modlunit/parse1.ypp"
+                {P3{unit_push((yyvsp[0].qp));}}
+#line 2759 "parse1.cpp"
+    break;
+
+  case 199: /* expr: real units  */
+#line 483 "../../../../src/modlunit/parse1.ypp"
+                        {P3{if ((yyvsp[0].qp)) {
+				Unit_push(STR((yyvsp[0].qp)));
+			     }else{		
+				Unit_push((char *)0);
+			     }
+			}}
+#line 2770 "parse1.cpp"
+    break;
+
+  case 200: /* expr: funccall  */
+#line 489 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_push((yyvsp[0].qp));}}
+#line 2776 "parse1.cpp"
+    break;
+
+  case 201: /* expr: '(' expr ')'  */
+#line 490 "../../../../src/modlunit/parse1.ypp"
+                        { lastok = (yyvsp[0].qp);
+			  P3{ifcnvfac((yyvsp[0].qp));}
+			}
+#line 2784 "parse1.cpp"
+    break;
+
+  case 202: /* expr: expr '+' expr  */
+#line 493 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_cmp((yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2790 "parse1.cpp"
+    break;
+
+  case 203: /* expr: expr '-' expr  */
+#line 494 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_cmp((yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2796 "parse1.cpp"
+    break;
+
+  case 204: /* expr: expr '*' expr  */
+#line 495 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_mul();}}
+#line 2802 "parse1.cpp"
+    break;
+
+  case 205: /* expr: expr '/' expr  */
+#line 496 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_div();}}
+#line 2808 "parse1.cpp"
+    break;
+
+  case 206: /* expr: expr '^' expr  */
+#line 497 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_exponent((yyvsp[0].qp), lastok);}}
+#line 2814 "parse1.cpp"
+    break;
+
+  case 207: /* expr: expr OR expr  */
+#line 498 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(1, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2820 "parse1.cpp"
+    break;
+
+  case 208: /* expr: expr AND expr  */
+#line 499 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(1, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2826 "parse1.cpp"
+    break;
+
+  case 209: /* expr: expr GT expr  */
+#line 500 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2832 "parse1.cpp"
+    break;
+
+  case 210: /* expr: expr LT expr  */
+#line 501 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2838 "parse1.cpp"
+    break;
+
+  case 211: /* expr: expr GE expr  */
+#line 502 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2844 "parse1.cpp"
+    break;
+
+  case 212: /* expr: expr LE expr  */
+#line 503 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2850 "parse1.cpp"
+    break;
+
+  case 213: /* expr: expr EQ expr  */
+#line 504 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2856 "parse1.cpp"
+    break;
+
+  case 214: /* expr: expr NE expr  */
+#line 505 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_logic(2, (yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 2862 "parse1.cpp"
+    break;
+
+  case 215: /* expr: NOT expr  */
+#line 506 "../../../../src/modlunit/parse1.ypp"
+                        {P3{unit_pop(); Unit_push("");}}
+#line 2868 "parse1.cpp"
+    break;
+
+  case 217: /* expr: error  */
+#line 508 "../../../../src/modlunit/parse1.ypp"
+                {myerr("Illegal expression");}
+#line 2874 "parse1.cpp"
+    break;
+
+  case 218: /* $@20: %empty  */
+#line 510 "../../../../src/modlunit/parse1.ypp"
+                    {P3{unit_push_args((yyvsp[-1].qp));}}
+#line 2880 "parse1.cpp"
+    break;
+
+  case 219: /* funccall: NAME '(' $@20 exprlist ')'  */
+#line 511 "../../../../src/modlunit/parse1.ypp"
+                { lastok = (yyvsp[0].qp); P1{SYM((yyvsp[-4].qp))->usage |= FUNCT;}
+		  P3{unit_done_args();}
+		}
+#line 2888 "parse1.cpp"
+    break;
+
+  case 220: /* exprlist: %empty  */
+#line 516 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0; }
+#line 2894 "parse1.cpp"
+    break;
+
+  case 222: /* exprlist1: expr  */
+#line 519 "../../../../src/modlunit/parse1.ypp"
+                {P3{unit_chk_arg((yyvsp[0].qp), lastok);}}
+#line 2900 "parse1.cpp"
+    break;
+
+  case 224: /* exprlist1: exprlist ',' expr  */
+#line 521 "../../../../src/modlunit/parse1.ypp"
+                            {P3{unit_chk_arg((yyvsp[0].qp), lastok);}}
+#line 2906 "parse1.cpp"
+    break;
+
+  case 226: /* $@21: %empty  */
+#line 524 "../../../../src/modlunit/parse1.ypp"
+                                                 {P1{pushlocal((yyvsp[-5].qp), ITEM0);}}
+#line 2912 "parse1.cpp"
+    break;
+
+  case 227: /* fromstmt: FROM NAME '=' intexpr TO intexpr opinc $@21 stmtlist  */
+#line 525 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(6, (yyvsp[-8].qp), (yyvsp[-7].qp), (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[0].qp)); poplocal();}}
+#line 2918 "parse1.cpp"
+    break;
+
+  case 228: /* fromstmt: FROM error  */
+#line 526 "../../../../src/modlunit/parse1.ypp"
+                    {
+myerr("FROM intvar = intexpr TO intexpr BY intexpr { statements }");}
+#line 2925 "parse1.cpp"
+    break;
+
+  case 229: /* opinc: %empty  */
+#line 529 "../../../../src/modlunit/parse1.ypp"
+                   {(yyval.qp) = ITEM0;}
+#line 2931 "parse1.cpp"
+    break;
+
+  case 231: /* whilestmt: WHILE '(' expr ')' stmtlist  */
+#line 532 "../../../../src/modlunit/parse1.ypp"
+                                       {P3{unit_pop();}}
+#line 2937 "parse1.cpp"
+    break;
+
+  case 232: /* ifstmt: IF '(' expr ')' stmtlist optelseif optelse  */
+#line 534 "../../../../src/modlunit/parse1.ypp"
+                                                    {P3{unit_pop();}}
+#line 2943 "parse1.cpp"
+    break;
+
+  case 233: /* optelseif: %empty  */
+#line 537 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2949 "parse1.cpp"
+    break;
+
+  case 234: /* optelseif: optelseif ELSE IF '(' expr ')' stmtlist  */
+#line 538 "../../../../src/modlunit/parse1.ypp"
+                                                  {P3{unit_pop();}}
+#line 2955 "parse1.cpp"
+    break;
+
+  case 235: /* optelse: %empty  */
+#line 541 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 2961 "parse1.cpp"
+    break;
+
+  case 238: /* derivblk: DERIVATIVE NAME stmtlist  */
+#line 547 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(3, (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); declare(DERF, (yyvsp[-1].qp), (yyval.qp));}}
+#line 2967 "parse1.cpp"
+    break;
+
+  case 239: /* linblk: LINEAR NAME solvefor stmtlist  */
+#line 550 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(4, (yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); declare(LINF, (yyvsp[-2].qp), (yyval.qp));}}
+#line 2973 "parse1.cpp"
+    break;
+
+  case 240: /* nonlinblk: NONLINEAR NAME solvefor stmtlist  */
+#line 553 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(4, (yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); declare(NLINF, (yyvsp[-2].qp), (yyval.qp));}}
+#line 2979 "parse1.cpp"
+    break;
+
+  case 241: /* discretblk: DISCRETE NAME stmtlist  */
+#line 556 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(3, (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); declare(DISCF, (yyvsp[-1].qp), (yyval.qp));}}
+#line 2985 "parse1.cpp"
+    break;
+
+  case 242: /* partialblk: PARTIAL NAME stmtlist  */
+#line 559 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(3, (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); declare(PARF, (yyvsp[-1].qp), (yyval.qp));}}
+#line 2991 "parse1.cpp"
+    break;
+
+  case 243: /* pareqn: PARTEQN PRIME '=' NAME '*' DEL2 '(' NAME ')' '+' NAME  */
+#line 562 "../../../../src/modlunit/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		 P3{
+			unit_push((yyvsp[-7].qp)); unit_del(2); unit_mul();
+			unit_push((yyvsp[-3].qp)); unit_mul();
+			unit_push((yyvsp[0].qp)); unit_cmp((yyvsp[-7].qp), (yyvsp[-1].qp), (yyvsp[0].qp));
+			unit_push((yyvsp[-9].qp)); unit_swap(); unit_cmp((yyvsp[-9].qp), (yyvsp[-8].qp), (yyvsp[0].qp));
+			unit_pop();
+		}}
+#line 3004 "parse1.cpp"
+    break;
+
+  case 244: /* pareqn: PARTEQN DEL NAME '[' firstlast ']' '=' expr  */
+#line 571 "../../../../src/modlunit/parse1.ypp"
+                {P3{
+			unit_del(1);
+			unit_push((yyvsp[-5].qp)); unit_mul(); unit_swap();
+			unit_cmp((yyvsp[-6].qp),(yyvsp[-1].qp),lastok); unit_pop();
+		}}
+#line 3014 "parse1.cpp"
+    break;
+
+  case 245: /* pareqn: PARTEQN NAME '[' firstlast ']' '=' expr  */
+#line 577 "../../../../src/modlunit/parse1.ypp"
+                {P3{unit_push((yyvsp[-5].qp)); unit_swap();
+		    unit_cmp((yyvsp[-5].qp),(yyvsp[-1].qp),lastok); unit_pop();
+		}}
+#line 3022 "parse1.cpp"
+    break;
+
+  case 246: /* pareqn: PARTEQN error  */
+#line 580 "../../../../src/modlunit/parse1.ypp"
+                        {myerr("Illeqal partial diffeq");}
+#line 3028 "parse1.cpp"
+    break;
+
+  case 249: /* $@22: %empty  */
+#line 585 "../../../../src/modlunit/parse1.ypp"
+                {P1{pushlocal((yyvsp[-4].qp), ITEM0); func_unit((yyvsp[-4].qp), (yyvsp[0].qp));}}
+#line 3034 "parse1.cpp"
+    break;
+
+  case 250: /* funcblk: FUNCTION1 NAME '(' arglist ')' units $@22 stmtlist  */
+#line 587 "../../../../src/modlunit/parse1.ypp"
+                {P1{
+		    declare(FUNCT, (yyvsp[-6].qp), itemarray(3, (yyvsp[-6].qp), (yyvsp[-2].qp), (yyvsp[-4].qp)));
+		    poplocal(); poplocal(); SYM((yyvsp[-6].qp))->usage |= FUNCT;
+		   }
+		}
+#line 3044 "parse1.cpp"
+    break;
+
+  case 251: /* functbl: FUNCTION_TABLE NAME '(' arglist ')' units  */
+#line 594 "../../../../src/modlunit/parse1.ypp"
+                {P1{pushlocal((yyvsp[-4].qp), ITEM0); func_unit((yyvsp[-4].qp), (yyvsp[0].qp));}
+		 P1{
+		    declare(FUNCT, (yyvsp[-4].qp), itemarray(3, (yyvsp[-4].qp), (yyvsp[0].qp), (yyvsp[-2].qp)));
+		    poplocal(); poplocal(); SYM((yyvsp[-4].qp))->usage |= FUNCT;
+		   }
+		}
+#line 3055 "parse1.cpp"
+    break;
+
+  case 252: /* arglist: %empty  */
+#line 602 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0; P1{pushlocal(ITEM0, ITEM0);}
+			if (args) { freelist(&args); }
+			args = newlist();
+		}
+#line 3064 "parse1.cpp"
+    break;
+
+  case 254: /* arglist1: name units  */
+#line 609 "../../../../src/modlunit/parse1.ypp"
+                {P1{
+		    if (args) { freelist(&args); }
+		    args = newlist();
+		    (yyval.qp) = (Item *)newlist();
+		    pushlocal((yyvsp[-1].qp), ITEM0);
+		    Lappendsym(args, checklocal(SYM((yyvsp[-1].qp))));
+		    if ((yyvsp[0].qp)) {
+			checklocal(SYM((yyvsp[-1].qp)))->u.str = STR((yyvsp[0].qp));
+			Lappendstr((List *)(yyval.qp), STR((yyvsp[0].qp)));
+		    }else{
+			Lappendstr((List *)(yyval.qp), "");
+		    }
+		}}
+#line 3082 "parse1.cpp"
+    break;
+
+  case 255: /* arglist1: arglist1 ',' name units  */
+#line 623 "../../../../src/modlunit/parse1.ypp"
+                {P1{
+		    pushlocal((yyvsp[-1].qp), ITEM0);
+		    Lappendsym(args, checklocal(SYM((yyvsp[-1].qp))));
+		    if ((yyvsp[0].qp)) {
+			checklocal(SYM((yyvsp[-1].qp)))->u.str = STR((yyvsp[0].qp));
+			Lappendstr((List *)(yyvsp[-3].qp), STR((yyvsp[0].qp)));
+		    }else{
+			Lappendstr((List *)(yyvsp[-3].qp), "");
+		    }
+		}}
+#line 3097 "parse1.cpp"
+    break;
+
+  case 256: /* procedblk: PROCEDURE NAME '(' arglist ')' stmtlist  */
+#line 635 "../../../../src/modlunit/parse1.ypp"
+                {P1{
+		    declare(PROCED, (yyvsp[-4].qp), itemarray(3, (yyvsp[-4].qp), ITEM0, (yyvsp[-2].qp)));
+		    poplocal(); SYM((yyvsp[-4].qp))->usage |= FUNCT;
+		   }
+		}
+#line 3107 "parse1.cpp"
+    break;
+
+  case 257: /* $@23: %empty  */
+#line 642 "../../../../src/modlunit/parse1.ypp"
+                {P1{
+			List* l; Item* q;
+			if ((yyvsp[-1].qp) == ITEM0) {
+				diag("NET_RECEIVE must have at least one argument", (char*)0);
+			}
+			l = newlist();
+			q = lappendsym(l, install("flag", NAME));
+			pushlocal(q, ITEM0);
+			Lappendstr((List *)(yyvsp[-1].qp), "");
+			netreceive_arglist = args; args = (List*)0;
+		}}
+#line 3123 "parse1.cpp"
+    break;
+
+  case 258: /* netrecblk: NETRECEIVE '(' arglist ')' $@23 stmtlist  */
+#line 654 "../../../../src/modlunit/parse1.ypp"
+                { P1{poplocal();}}
+#line 3129 "parse1.cpp"
+    break;
+
+  case 259: /* netrecblk: NETRECEIVE error  */
+#line 655 "../../../../src/modlunit/parse1.ypp"
+                           { myerr("Illegal NETRECEIVE block");}
+#line 3135 "parse1.cpp"
+    break;
+
+  case 262: /* watchstmt: WATCH error  */
+#line 660 "../../../../src/modlunit/parse1.ypp"
+                      { myerr("Illegal WATCH statement");}
+#line 3141 "parse1.cpp"
+    break;
+
+  case 264: /* $@24: %empty  */
+#line 665 "../../../../src/modlunit/parse1.ypp"
+                {P1{ Item* q1, *q2;
+		  q1 = netreceive_arglist->next;
+		  q2 = args->next;
+		  while (q1 != netreceive_arglist && q2 != args) {
+			Symbol* s1 = SYM(q1);
+			Symbol* s2 = SYM(q2);
+			if (s1->u.str) { /* s2 must be nil or same */
+				if (s2->u.str) {
+					if (strcmp(s1->u.str, s2->u.str) != 0) {
+						diag(s1->name, "in FOR_NETCONS arglist does not have same units as corresponding arg in NET_RECEIVE arglist");
+					}
+				}else{
+					s2->u.str = s1->u.str;
+				}
+			}else{ /* s2 must be nil */
+				if (s2->u.str) {
+					diag(s1->name, "in FOR_NETCONS arglist does not have same units as corresponding arg in NET_RECEIVE arglist");
+				}
+			}
+/*printf("|%s|%s|  |%s|%s|\n", s1->name, s1->u.str, s2->name, s2->u.str);*/
+			q1 = q1->next;
+			q2 = q2->next;
+		  }
+		  if (q1 != netreceive_arglist || q2 != args) {
+			diag("NET_RECEIVE and FOR_NETCONS do not have same number of arguments", (char*)0);
+		  }
+		}}
+#line 3173 "parse1.cpp"
+    break;
+
+  case 266: /* fornetcon: FOR_NETCONS error  */
+#line 693 "../../../../src/modlunit/parse1.ypp"
+                            { myerr("Illegal FOR_NETCONS statement");}
+#line 3179 "parse1.cpp"
+    break;
+
+  case 267: /* solveblk: SOLVE NAME ifsolerr  */
+#line 697 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(4, (yyvsp[-2].qp), (yyvsp[-1].qp), ITEM0, (yyvsp[0].qp)); lappenditem(solvelist, (yyval.qp));}}
+#line 3185 "parse1.cpp"
+    break;
+
+  case 268: /* solveblk: SOLVE NAME USING METHOD ifsolerr  */
+#line 699 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = itemarray(4, (yyvsp[-4].qp), (yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp)); lappenditem(solvelist, (yyval.qp));}}
+#line 3191 "parse1.cpp"
+    break;
+
+  case 269: /* solveblk: SOLVE error  */
+#line 700 "../../../../src/modlunit/parse1.ypp"
+                      { myerr("Illegal SOLVE statement");}
+#line 3197 "parse1.cpp"
+    break;
+
+  case 270: /* ifsolerr: %empty  */
+#line 703 "../../../../src/modlunit/parse1.ypp"
+                { (yyval.qp) = ITEM0; }
+#line 3203 "parse1.cpp"
+    break;
+
+  case 271: /* ifsolerr: IFERROR stmtlist  */
+#line 705 "../../../../src/modlunit/parse1.ypp"
+                { (yyval.qp) = (yyvsp[0].qp); }
+#line 3209 "parse1.cpp"
+    break;
+
+  case 272: /* solvefor: %empty  */
+#line 708 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 3215 "parse1.cpp"
+    break;
+
+  case 274: /* solvefor1: SOLVEFOR NAME  */
+#line 712 "../../../../src/modlunit/parse1.ypp"
+                { P2{if(!(SYM((yyvsp[0].qp))->subtype&STAT)){
+			myerr("Not a STATE");}
+		  }
+		}
+#line 3224 "parse1.cpp"
+    break;
+
+  case 275: /* solvefor1: solvefor1 ',' NAME  */
+#line 717 "../../../../src/modlunit/parse1.ypp"
+                { P2{if(!(SYM((yyvsp[-1].qp))->subtype&STAT)){
+			myerr("Not a STATE");}
+		  }
+		}
+#line 3233 "parse1.cpp"
+    break;
+
+  case 276: /* solvefor1: SOLVEFOR error  */
+#line 721 "../../../../src/modlunit/parse1.ypp"
+                         {myerr("Syntax: SOLVEFOR name, name, ...");}
+#line 3239 "parse1.cpp"
+    break;
+
+  case 280: /* sens: SENS error  */
+#line 728 "../../../../src/modlunit/parse1.ypp"
+                    {myerr("syntax is SENS var1, var2, var3, etc");}
+#line 3245 "parse1.cpp"
+    break;
+
+  case 281: /* conserve: CONSERVE consreact '=' expr  */
+#line 732 "../../../../src/modlunit/parse1.ypp"
+                {P3{unit_cmp((yyvsp[-2].qp), (yyvsp[-1].qp), lastok);}}
+#line 3251 "parse1.cpp"
+    break;
+
+  case 282: /* conserve: CONSERVE error  */
+#line 733 "../../../../src/modlunit/parse1.ypp"
+                         {myerr("Illegal CONSERVE syntax");}
+#line 3257 "parse1.cpp"
+    break;
+
+  case 283: /* consreact: varname  */
+#line 735 "../../../../src/modlunit/parse1.ypp"
+                  {P3{consreact_push((yyvsp[0].qp));}}
+#line 3263 "parse1.cpp"
+    break;
+
+  case 284: /* consreact: INTEGER varname  */
+#line 736 "../../../../src/modlunit/parse1.ypp"
+                         {P3{consreact_push((yyvsp[0].qp));}}
+#line 3269 "parse1.cpp"
+    break;
+
+  case 285: /* consreact: consreact '+' varname  */
+#line 737 "../../../../src/modlunit/parse1.ypp"
+                               {P3{consreact_push((yyvsp[0].qp)); unit_cmp((yyvsp[-2].qp),(yyvsp[-1].qp),lastok);}}
+#line 3275 "parse1.cpp"
+    break;
+
+  case 286: /* consreact: consreact '+' INTEGER varname  */
+#line 738 "../../../../src/modlunit/parse1.ypp"
+                                       {
+		  P3{consreact_push((yyvsp[0].qp)); unit_cmp((yyvsp[-3].qp),(yyvsp[-2].qp),lastok);}
+		}
+#line 3283 "parse1.cpp"
+    break;
+
+  case 287: /* $@25: %empty  */
+#line 742 "../../../../src/modlunit/parse1.ypp"
+                          {P1{pushlocal((yyvsp[0].qp), ITEM0);}}
+#line 3289 "parse1.cpp"
+    break;
+
+  case 288: /* compart: COMPARTMENT NAME $@25 ',' expr '{' compartlist '}'  */
+#line 743 "../../../../src/modlunit/parse1.ypp"
+                {P1{poplocal();}
+		  P3{
+		    unit_pop();
+		  }
+		}
+#line 3299 "parse1.cpp"
+    break;
+
+  case 289: /* compart: COMPARTMENT expr '{' compartlist '}'  */
+#line 749 "../../../../src/modlunit/parse1.ypp"
+                { P3{
+		    unit_pop();
+		  }
+		}
+#line 3308 "parse1.cpp"
+    break;
+
+  case 290: /* compartlist: NAME  */
+#line 755 "../../../../src/modlunit/parse1.ypp"
+                {P3 R0{unit_compartlist((yyvsp[0].qp));}}
+#line 3314 "parse1.cpp"
+    break;
+
+  case 291: /* compartlist: compartlist NAME  */
+#line 757 "../../../../src/modlunit/parse1.ypp"
+                {P3 R0{unit_compartlist((yyvsp[0].qp));}}
+#line 3320 "parse1.cpp"
+    break;
+
+  case 292: /* $@26: %empty  */
+#line 759 "../../../../src/modlunit/parse1.ypp"
+                          {P1{pushlocal((yyvsp[0].qp), ITEM0);}}
+#line 3326 "parse1.cpp"
+    break;
+
+  case 293: /* longdifus: LONGDIFUS NAME $@26 ',' expr '{' ldifuslist '}'  */
+#line 760 "../../../../src/modlunit/parse1.ypp"
+                {P1{poplocal();}
+		  P3{
+		    unit_pop();
+		  }
+		}
+#line 3336 "parse1.cpp"
+    break;
+
+  case 294: /* longdifus: LONGDIFUS expr '{' ldifuslist '}'  */
+#line 766 "../../../../src/modlunit/parse1.ypp"
+                { P3{
+		    unit_pop();
+		  }
+		}
+#line 3345 "parse1.cpp"
+    break;
+
+  case 295: /* ldifuslist: NAME  */
+#line 772 "../../../../src/modlunit/parse1.ypp"
+                {P3 R0{unit_ldifuslist((yyvsp[0].qp), unitflagsave);}}
+#line 3351 "parse1.cpp"
+    break;
+
+  case 296: /* ldifuslist: ldifuslist NAME  */
+#line 774 "../../../../src/modlunit/parse1.ypp"
+                {P3 R0{unit_ldifuslist((yyvsp[0].qp), unitflagsave);}}
+#line 3357 "parse1.cpp"
+    break;
+
+  case 299: /* kineticblk: KINETIC NAME solvefor stmtlist  */
+#line 780 "../../../../src/modlunit/parse1.ypp"
+                {P1{declare(KINF, (yyvsp[-2].qp), ITEM0);}}
+#line 3363 "parse1.cpp"
+    break;
+
+  case 300: /* reaction: REACTION react REACT1 react '(' expr ',' expr ')'  */
+#line 783 "../../../../src/modlunit/parse1.ypp"
+                {P3{kinunits((yyvsp[-6].qp), restart_pass);}}
+#line 3369 "parse1.cpp"
+    break;
+
+  case 301: /* reaction: REACTION react LT LT '(' expr ')'  */
+#line 785 "../../../../src/modlunit/parse1.ypp"
+                {P3{kinunits((yyvsp[-4].qp), restart_pass);}}
+#line 3375 "parse1.cpp"
+    break;
+
+  case 302: /* reaction: REACTION react '-' GT '(' expr ')'  */
+#line 787 "../../../../src/modlunit/parse1.ypp"
+                {P3{kinunits((yyvsp[-4].qp), restart_pass);}}
+#line 3381 "parse1.cpp"
+    break;
+
+  case 303: /* reaction: REACTION error  */
+#line 788 "../../../../src/modlunit/parse1.ypp"
+                         {myerr("Illegal reaction syntax");}
+#line 3387 "parse1.cpp"
+    break;
+
+  case 304: /* react: varname  */
+#line 790 "../../../../src/modlunit/parse1.ypp"
+                {P3{R1{ureactadd((yyvsp[0].qp));} unit_push((yyvsp[0].qp));}}
+#line 3393 "parse1.cpp"
+    break;
+
+  case 305: /* react: INTEGER varname  */
+#line 791 "../../../../src/modlunit/parse1.ypp"
+                         {P3{R1{ureactadd((yyvsp[0].qp));} unit_push((yyvsp[0].qp)); Unit_push(0); unit_exponent((yyvsp[-1].qp),(yyvsp[-1].qp));}}
+#line 3399 "parse1.cpp"
+    break;
+
+  case 306: /* react: react '+' varname  */
+#line 792 "../../../../src/modlunit/parse1.ypp"
+                           {P3{R1{ureactadd((yyvsp[0].qp));}unit_push((yyvsp[0].qp)); unit_mul();}}
+#line 3405 "parse1.cpp"
+    break;
+
+  case 307: /* react: react '+' INTEGER varname  */
+#line 793 "../../../../src/modlunit/parse1.ypp"
+                                   {
+		  P3{R1{ureactadd((yyvsp[0].qp));}unit_push((yyvsp[0].qp)); Unit_push(0); unit_exponent((yyvsp[-1].qp),(yyvsp[-1].qp)); unit_mul();}
+		}
+#line 3413 "parse1.cpp"
+    break;
+
+  case 309: /* lagstmt: LAG error  */
+#line 798 "../../../../src/modlunit/parse1.ypp"
+                    {myerr("Lag syntax is: LAG name BY const");}
+#line 3419 "parse1.cpp"
+    break;
+
+  case 310: /* tablestmt: TABLE tablst dependlst FROM expr TO expr WITH integer  */
+#line 801 "../../../../src/modlunit/parse1.ypp"
+                {P3{unit_pop(); unit_pop();}}
+#line 3425 "parse1.cpp"
+    break;
+
+  case 311: /* tablst: %empty  */
+#line 804 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 3431 "parse1.cpp"
+    break;
+
+  case 313: /* dependlst: %empty  */
+#line 808 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 3437 "parse1.cpp"
+    break;
+
+  case 322: /* match: error  */
+#line 822 "../../../../src/modlunit/parse1.ypp"
+                {myerr("MATCH syntax is state0 or state(expr)=expr or\
+state[i](expr(i)) = expr(i)");}
+#line 3444 "parse1.cpp"
+    break;
+
+  case 325: /* $@27: %empty  */
+#line 830 "../../../../src/modlunit/parse1.ypp"
+                        {
+			  lastok = (yyvsp[0].qp);
+#if NRNUNIT
+			  P2{nrn_unit_chk();}
+#endif
+			}
+#line 3455 "parse1.cpp"
+    break;
+
+  case 326: /* neuronblk: NEURON $@27 '{' nrnstmt '}'  */
+#line 837 "../../../../src/modlunit/parse1.ypp"
+                        {lastok = (yyvsp[-2].qp);}
+#line 3461 "parse1.cpp"
+    break;
+
+  case 328: /* nrnstmt: nrnstmt SUFFIX NAME  */
+#line 841 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3467 "parse1.cpp"
+    break;
+
+  case 330: /* nrnstmt: nrnstmt NONSPECIFIC nrnlist  */
+#line 844 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp),(yyvsp[0].qp));}}
+#line 3473 "parse1.cpp"
+    break;
+
+  case 331: /* nrnstmt: nrnstmt ELECTRODE_CURRENT nrnlist  */
+#line 846 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp),(yyvsp[0].qp));}}
+#line 3479 "parse1.cpp"
+    break;
+
+  case 332: /* nrnstmt: nrnstmt RANGE nrnlist  */
+#line 848 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3485 "parse1.cpp"
+    break;
+
+  case 333: /* nrnstmt: nrnstmt SECTION nrnlist  */
+#line 850 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3491 "parse1.cpp"
+    break;
+
+  case 334: /* nrnstmt: nrnstmt GLOBAL nrnlist  */
+#line 852 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3497 "parse1.cpp"
+    break;
+
+  case 335: /* nrnstmt: nrnstmt POINTER nrnlist  */
+#line 854 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3503 "parse1.cpp"
+    break;
+
+  case 336: /* nrnstmt: nrnstmt EXTERNAL nrnlist  */
+#line 856 "../../../../src/modlunit/parse1.ypp"
+                { P1{nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}}
+#line 3509 "parse1.cpp"
+    break;
+
+  case 338: /* optnamelist: %empty  */
+#line 860 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = NULL;}
+#line 3515 "parse1.cpp"
+    break;
+
+  case 340: /* nrnuse: USEION NAME READ nrnlist valence  */
+#line 864 "../../../../src/modlunit/parse1.ypp"
+                {P1{nrn_use((yyvsp[-3].qp), (yyvsp[-1].qp), ITEM0);}}
+#line 3521 "parse1.cpp"
+    break;
+
+  case 341: /* nrnuse: USEION NAME WRITE nrnlist valence  */
+#line 866 "../../../../src/modlunit/parse1.ypp"
+                {P1{nrn_use((yyvsp[-3].qp), ITEM0, (yyvsp[-1].qp));}}
+#line 3527 "parse1.cpp"
+    break;
+
+  case 342: /* nrnuse: USEION NAME READ nrnlist WRITE nrnlist valence  */
+#line 868 "../../../../src/modlunit/parse1.ypp"
+                {P1{nrn_use((yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-1].qp));}}
+#line 3533 "parse1.cpp"
+    break;
+
+  case 343: /* nrnuse: error  */
+#line 870 "../../../../src/modlunit/parse1.ypp"
+                {myerr("syntax is: USEION ion READ list WRITE list");}
+#line 3539 "parse1.cpp"
+    break;
+
+  case 344: /* nrnlist: NAME  */
+#line 873 "../../../../src/modlunit/parse1.ypp"
+                {P1{(yyval.qp) = (Item *)newlist(); Lappendsym((List *)(yyval.qp), SYM((yyvsp[0].qp)));}}
+#line 3545 "parse1.cpp"
+    break;
+
+  case 345: /* nrnlist: nrnlist ',' NAME  */
+#line 875 "../../../../src/modlunit/parse1.ypp"
+                {P1{ Lappendsym((List *)(yyvsp[-2].qp), SYM((yyvsp[0].qp)));}}
+#line 3551 "parse1.cpp"
+    break;
+
+  case 346: /* nrnlist: error  */
+#line 877 "../../../../src/modlunit/parse1.ypp"
+                {myerr("syntax is: keyword name , name, ..., name");}
+#line 3557 "parse1.cpp"
+    break;
+
+  case 347: /* valence: %empty  */
+#line 880 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 3563 "parse1.cpp"
+    break;
+
+  case 348: /* valence: VALENCE real  */
+#line 882 "../../../../src/modlunit/parse1.ypp"
+        {(yyval.qp) = (yyvsp[0].qp);}
+#line 3569 "parse1.cpp"
+    break;
+
+  case 349: /* valence: VALENCE '-' real  */
+#line 884 "../../../../src/modlunit/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 3575 "parse1.cpp"
+    break;
+
+
+#line 3579 "parse1.cpp"
+
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+
+  *++yyvsp = yyval;
+
+  /* Now 'shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
+
+  goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+      yyerror (YY_("syntax error"));
+    }
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+         error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
+      else
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
+  ++yynerrs;
+
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+
+  /* Pop stack until we find a state that shifts the error token.  */
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYSYMBOL_YYerror;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+        YYABORT;
+
+
+      yydestruct ("Error: popping",
+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturnlab;
+
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturnlab;
+
+
+/*-----------------------------------------------------------.
+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
+`-----------------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  goto yyreturnlab;
+
+
+/*----------------------------------------------------------.
+| yyreturnlab -- parsing is finished, clean up and return.  |
+`----------------------------------------------------------*/
+yyreturnlab:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+
+  return yyresult;
+}
+
+#line 886 "../../../../src/modlunit/parse1.ypp"
+
+	/* end of grammar */
+
+static void yyerror(char* s)	/* called for yacc syntax error */
+{
+	Fprintf(stderr, "%s:\n ", s);
+}
+
+static int yylex() {return next_intoken(&(yylval.qp));}
+
+#if !NRNUNIT
+void nrn_list(Item *q1, Item* q2)
+{
+	/*ARGSUSED*/
+}
+void nrn_use(Item* q1, Item* q2, Item* q3)
+{
+	/*ARGSUSED*/
+}
+#endif
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/modlunit_generated/parse1.hpp
@@ -0,0 +1,198 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+#ifndef YY_YY_PARSE1_HPP_INCLUDED
+# define YY_YY_PARSE1_HPP_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token kinds.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    YYEMPTY = -2,
+    YYEOF = 0,                     /* "end of file"  */
+    YYerror = 256,                 /* error  */
+    YYUNDEF = 257,                 /* "invalid token"  */
+    VERBATIM = 258,                /* VERBATIM  */
+    COMMENT = 259,                 /* COMMENT  */
+    TITLE = 260,                   /* TITLE  */
+    CONSTANT = 261,                /* CONSTANT  */
+    INDEPENDENT = 262,             /* INDEPENDENT  */
+    ASSIGNED = 263,                /* ASSIGNED  */
+    STATE = 264,                   /* STATE  */
+    END_VERBATIM = 265,            /* END_VERBATIM  */
+    END_COMMENT = 266,             /* END_COMMENT  */
+    UNITS = 267,                   /* UNITS  */
+    BREAKPOINT = 268,              /* BREAKPOINT  */
+    PARAMETER = 269,               /* PARAMETER  */
+    INT = 270,                     /* INT  */
+    INITIAL1 = 271,                /* INITIAL1  */
+    DERIVATIVE = 272,              /* DERIVATIVE  */
+    SOLVE = 273,                   /* SOLVE  */
+    USING = 274,                   /* USING  */
+    WITH = 275,                    /* WITH  */
+    STEPPED = 276,                 /* STEPPED  */
+    DISCRETE = 277,                /* DISCRETE  */
+    FROM = 278,                    /* FROM  */
+    TO = 279,                      /* TO  */
+    BY = 280,                      /* BY  */
+    WHILE = 281,                   /* WHILE  */
+    IF = 282,                      /* IF  */
+    ELSE = 283,                    /* ELSE  */
+    START1 = 284,                  /* START1  */
+    STEP = 285,                    /* STEP  */
+    SENS = 286,                    /* SENS  */
+    SOLVEFOR = 287,                /* SOLVEFOR  */
+    PROCEDURE = 288,               /* PROCEDURE  */
+    PARTIAL = 289,                 /* PARTIAL  */
+    DEL = 290,                     /* DEL  */
+    DEL2 = 291,                    /* DEL2  */
+    DEFINE1 = 292,                 /* DEFINE1  */
+    IFERROR = 293,                 /* IFERROR  */
+    DERFUNC = 294,                 /* DERFUNC  */
+    EQUATION = 295,                /* EQUATION  */
+    TERMINAL = 296,                /* TERMINAL  */
+    LINEAR = 297,                  /* LINEAR  */
+    NONLINEAR = 298,               /* NONLINEAR  */
+    FUNCTION1 = 299,               /* FUNCTION1  */
+    LOCAL = 300,                   /* LOCAL  */
+    METHOD = 301,                  /* METHOD  */
+    LIN1 = 302,                    /* LIN1  */
+    NONLIN1 = 303,                 /* NONLIN1  */
+    PUTQ = 304,                    /* PUTQ  */
+    GETQ = 305,                    /* GETQ  */
+    FUNCTION_TABLE = 306,          /* FUNCTION_TABLE  */
+    INCLUDE1 = 307,                /* INCLUDE1  */
+    PROTECT = 308,                 /* PROTECT  */
+    OR = 309,                      /* OR  */
+    AND = 310,                     /* AND  */
+    GT = 311,                      /* GT  */
+    GE = 312,                      /* GE  */
+    LT = 313,                      /* LT  */
+    LE = 314,                      /* LE  */
+    EQ = 315,                      /* EQ  */
+    NE = 316,                      /* NE  */
+    NOT = 317,                     /* NOT  */
+    NAME = 318,                    /* NAME  */
+    PRIME = 319,                   /* PRIME  */
+    REAL = 320,                    /* REAL  */
+    INTEGER = 321,                 /* INTEGER  */
+    DEFINEDVAR = 322,              /* DEFINEDVAR  */
+    KINETIC = 323,                 /* KINETIC  */
+    CONSERVE = 324,                /* CONSERVE  */
+    REACTION = 325,                /* REACTION  */
+    REACT1 = 326,                  /* REACT1  */
+    COMPARTMENT = 327,             /* COMPARTMENT  */
+    LONGDIFUS = 328,               /* LONGDIFUS  */
+    PARTEQN = 329,                 /* PARTEQN  */
+    STRING = 330,                  /* STRING  */
+    PLOT = 331,                    /* PLOT  */
+    VS = 332,                      /* VS  */
+    LAG = 333,                     /* LAG  */
+    RESET = 334,                   /* RESET  */
+    MATCH = 335,                   /* MATCH  */
+    MODEL_LEVEL = 336,             /* MODEL_LEVEL  */
+    SWEEP = 337,                   /* SWEEP  */
+    FIRST = 338,                   /* FIRST  */
+    LAST = 339,                    /* LAST  */
+    SPACE = 340,                   /* SPACE  */
+    NEWLINE = 341,                 /* NEWLINE  */
+    TO_EOL = 342,                  /* TO_EOL  */
+    STUFF = 343,                   /* STUFF  */
+    UNITBLK = 344,                 /* UNITBLK  */
+    UNITSON = 345,                 /* UNITSON  */
+    UNITSOFF = 346,                /* UNITSOFF  */
+    TABLE = 347,                   /* TABLE  */
+    DEPEND = 348,                  /* DEPEND  */
+    NEURON = 349,                  /* NEURON  */
+    SUFFIX = 350,                  /* SUFFIX  */
+    NONSPECIFIC = 351,             /* NONSPECIFIC  */
+    READ = 352,                    /* READ  */
+    WRITE = 353,                   /* WRITE  */
+    USEION = 354,                  /* USEION  */
+    VALENCE = 355,                 /* VALENCE  */
+    GLOBAL = 356,                  /* GLOBAL  */
+    SECTION = 357,                 /* SECTION  */
+    RANGE = 358,                   /* RANGE  */
+    POINTER = 359,                 /* POINTER  */
+    EXTERNAL = 360,                /* EXTERNAL  */
+    BEFORE = 361,                  /* BEFORE  */
+    AFTER = 362,                   /* AFTER  */
+    ELECTRODE_CURRENT = 363,       /* ELECTRODE_CURRENT  */
+    CONSTRUCTOR = 364,             /* CONSTRUCTOR  */
+    DESTRUCTOR = 365,              /* DESTRUCTOR  */
+    NETRECEIVE = 366,              /* NETRECEIVE  */
+    FOR_NETCONS = 367,             /* FOR_NETCONS  */
+    WATCH = 368,                   /* WATCH  */
+    THREADSAFE = 369,              /* THREADSAFE  */
+    CONDUCTANCE = 370,             /* CONDUCTANCE  */
+    UNARYMINUS = 371               /* UNARYMINUS  */
+  };
+  typedef enum yytokentype yytoken_kind_t;
+#endif
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+union YYSTYPE
+{
+#line 56 "../../../../src/modlunit/parse1.ypp"
+
+	Item	*qp;
+
+#line 184 "parse1.hpp"
+
+};
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+
+int yyparse (void);
+
+
+#endif /* !YY_YY_PARSE1_HPP_INCLUDED  */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/neuron.tmp1
@@ -0,0 +1,46 @@
+# 0 "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h"
+# 0 "<built-in>"
+# 0 "<command-line>"
+# 1 "/usr/include/stdc-predef.h" 1 3 4
+# 0 "<command-line>" 2
+# 1 "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h"
+# 1 "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/options.h" 1
+# 2 "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h" 2
+# 12 "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/neuron.h"
+extern void node_data(), disconnect();
+extern void batch_run(), batch_save();
+extern void pt3dadd(), n3d(), x3d(), y3d(), z3d(), arc3d(), diam3d();
+extern void pt3dclear(), pt3dinsert(), pt3dremove(), pt3dchange();
+extern void define_shape(), pt3dconst(), pt3dstyle();
+extern void spine3d(), setSpineArea(), getSpineArea();
+extern void area(), ri(), distance();
+extern void initnrn(), nrnhoc_topology(), fadvance(), finitialize();
+extern void fstim(), fstimi();
+extern void ion_style(), ion_register(), ion_charge(), nernst(), ghk();
+extern void section_owner();
+extern void make_mechanism(), make_pointprocess();
+extern void nrnpython();
+extern void nrnunit_use_legacy();
+
+extern void fsyn(), fsyng(), fsyni();
+extern void fclamp(), fclampi(), fclampv(), prstim();
+extern void fcurrent(), fmatrix(), frecord_init();
+extern void issection(), ismembrane(), sectionname(), psection();
+extern void pop_section(), push_section(), section_exists();
+extern void delete_section();
+extern int secondorder, diam_changed, nrn_shape_changed_;
+extern int nrn_netrec_state_adjust, nrn_sparse_partrans;
+extern double clamp_resist;
+extern double celsius;
+extern int stoprun;
+extern void fit_praxis(), attr_praxis(), pval_praxis(), stop_praxis();
+
+extern void keep_nseg_parm();
+
+
+extern void nlayer_extracellular();
+
+extern void nrnallsectionmenu(), nrnallpointmenu(), nrnsecmenu();
+extern void nrnglobalmechmenu(), nrnmechmenu(), nrnpointmenu();
+extern void this_section(), this_node(), parent_section(), parent_node();
+extern void parent_connection(), section_orientation();
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/neuron.tmp2
@@ -0,0 +1,37 @@
+extern void node_data(), disconnect();
+extern void batch_run(), batch_save();
+extern void pt3dadd(), n3d(), x3d(), y3d(), z3d(), arc3d(), diam3d();
+extern void pt3dclear(), pt3dinsert(), pt3dremove(), pt3dchange();
+extern void define_shape(), pt3dconst(), pt3dstyle();
+extern void spine3d(), setSpineArea(), getSpineArea();
+extern void area(), ri(), distance();
+extern void initnrn(), nrnhoc_topology(), fadvance(), finitialize();
+extern void fstim(), fstimi();
+extern void ion_style(), ion_register(), ion_charge(), nernst(), ghk();
+extern void section_owner();
+extern void make_mechanism(), make_pointprocess();
+extern void nrnpython();
+extern void nrnunit_use_legacy();
+
+extern void fsyn(), fsyng(), fsyni();
+extern void fclamp(), fclampi(), fclampv(), prstim();
+extern void fcurrent(), fmatrix(), frecord_init();
+extern void issection(), ismembrane(), sectionname(), psection();
+extern void pop_section(), push_section(), section_exists();
+extern void delete_section();
+extern int secondorder, diam_changed, nrn_shape_changed_;
+extern int nrn_netrec_state_adjust, nrn_sparse_partrans;
+extern double clamp_resist;
+extern double celsius;
+extern int stoprun;
+extern void fit_praxis(), attr_praxis(), pval_praxis(), stop_praxis();
+
+extern void keep_nseg_parm();
+
+
+extern void nlayer_extracellular();
+
+extern void nrnallsectionmenu(), nrnallpointmenu(), nrnsecmenu();
+extern void nrnglobalmechmenu(), nrnmechmenu(), nrnpointmenu();
+extern void this_section(), this_node(), parent_section(), parent_node();
+extern void parent_connection(), section_orientation();
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.cpp
@@ -0,0 +1,1651 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output, and Bison version.  */
+#define YYBISON 30802
+
+/* Bison version string.  */
+#define YYBISON_VERSION "3.8.2"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+
+
+
+/* First part of user prologue.  */
+#line 1 "../../../../src/nmodl/diffeq.ypp"
+
+/* symbolically differentiate an expression with respect to a state
+   and also transform an expression linear in the state into the form
+   a*state + b
+
+  The only thing that makes this less than elegant is dealing with 0.0
+*/
+
+#include <../../nmodlconf.h>
+#include <string.h>
+#include "modl.h"
+#include "difeqdef.h"
+
+/* every yy gets changed to diffeq_yy before compiling */
+
+static int yylex(), yyparse();
+void yyerror(char*);
+static int d_invalid, eq_invalid;
+static char lbuf[4][1000];
+static Item* qexpr; /* yylex finds tokens here;*/
+static Symbol* state;
+static List* result;
+
+#define b1 sprintf(lbuf[0],
+#define b2 sprintf(lbuf[1],
+#define b3 sprintf(lbuf[2],
+#define b4 sprintf(lbuf[3],
+
+void replace(List*), initbuf(), free4(List*);
+int zero(char*);
+char *expr(List*), *de(List*), *a(List*), *b(List*);
+List* list4(char *s1, char *s2, char *s3, char *s4);
+
+#line 105 "diffeq.cpp"
+
+# ifndef YY_CAST
+#  ifdef __cplusplus
+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+#  else
+#   define YY_CAST(Type, Val) ((Type) (Val))
+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+#  endif
+# endif
+# ifndef YY_NULLPTR
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
+#  else
+#   define YY_NULLPTR ((void*)0)
+#  endif
+# endif
+
+#include "diffeq.hpp"
+/* Symbol kind.  */
+enum yysymbol_kind_t
+{
+  YYSYMBOL_YYEMPTY = -2,
+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+  YYSYMBOL_YYerror = 1,                    /* error  */
+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+  YYSYMBOL_ATOM = 3,                       /* ATOM  */
+  YYSYMBOL_4_ = 4,                         /* '+'  */
+  YYSYMBOL_5_ = 5,                         /* '-'  */
+  YYSYMBOL_6_ = 6,                         /* '*'  */
+  YYSYMBOL_7_ = 7,                         /* '/'  */
+  YYSYMBOL_UNARYMINUS = 8,                 /* UNARYMINUS  */
+  YYSYMBOL_9_ = 9,                         /* '('  */
+  YYSYMBOL_10_ = 10,                       /* ')'  */
+  YYSYMBOL_11_ = 11,                       /* ','  */
+  YYSYMBOL_YYACCEPT = 12,                  /* $accept  */
+  YYSYMBOL_top = 13,                       /* top  */
+  YYSYMBOL_14_1 = 14,                      /* $@1  */
+  YYSYMBOL_e = 15,                         /* e  */
+  YYSYMBOL_arglist = 16,                   /* arglist  */
+  YYSYMBOL_arg = 17                        /* arg  */
+};
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+   <limits.h> and (if available) <stdint.h> are included
+   so that the code can choose integer types of a good width.  */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+#  define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+   signed or unsigned integer of at least N bits.  In tables they can
+   save space and decrease cache pressure.  Promoting to a signed type
+   helps avoid bugs in integer arithmetic.  */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+#  ifndef ptrdiff_t
+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  endif
+#  define YYPTRDIFF_T ptrdiff_t
+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+#  define YYPTRDIFF_T long
+#  define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM                                  \
+  YY_CAST (YYPTRDIFF_T,                                 \
+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
+            ? YYPTRDIFF_MAXIMUM                         \
+            : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int8 yy_state_t;
+
+/* State numbers in computations.  */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(E) /* empty */
+#endif
+
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
+# else
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# endif
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
+    _Pragma ("GCC diagnostic push")                            \
+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END            \
+    _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+             && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* !defined yyoverflow */
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yy_state_t yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYPTRDIFF_T yynewbytes;                                         \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
+      }                                                                 \
+    while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYPTRDIFF_T yyi;                      \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  3
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   37
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  12
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  6
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  16
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  27
+
+/* YYMAXUTOK -- Last valid token kind.  */
+#define YYMAXUTOK   259
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
+#define YYTRANSLATE(YYX)                                \
+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
+   : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex.  */
+static const yytype_int8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       9,    10,     6,     4,    11,     5,     2,     7,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     8
+};
+
+#if YYDEBUG
+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+static const yytype_uint8 yyrline[] =
+{
+       0,    48,    48,    48,    50,    51,    59,    64,    71,    84,
+     100,   117,   131,   134,   135,   141,   148
+};
+#endif
+
+/** Accessing symbol of state STATE.  */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+   YYSYMBOL.  No bounds checking.  */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "\"end of file\"", "error", "\"invalid token\"", "ATOM", "'+'", "'-'",
+  "'*'", "'/'", "UNARYMINUS", "'('", "')'", "','", "$accept", "top", "$@1",
+  "e", "arglist", "arg", YY_NULLPTR
+};
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+  return yytname[yysymbol];
+}
+#endif
+
+#define YYPACT_NINF (-11)
+
+#define yypact_value_is_default(Yyn) \
+  ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-1)
+
+#define yytable_value_is_error(Yyn) \
+  0
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+static const yytype_int8 yypact[] =
+{
+     -11,     5,    24,   -11,    -1,    24,    24,    30,    24,   -11,
+      18,    24,    24,    24,    24,    30,    10,   -11,   -11,    -5,
+      -5,   -11,   -11,   -11,    24,   -11,   -11
+};
+
+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE does not specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_int8 yydefact[] =
+{
+       2,     0,     0,     1,     4,     0,     0,     3,    12,     7,
+       0,     0,     0,     0,     0,    16,     0,    13,     5,     8,
+       9,    10,    11,     6,     0,    14,    15
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int8 yypgoto[] =
+{
+     -11,   -11,   -11,    -2,   -11,   -10
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int8 yydefgoto[] =
+{
+       0,     1,     2,    15,    16,    17
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule whose
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+static const yytype_int8 yytable[] =
+{
+       7,    13,    14,     9,    10,     3,    25,     0,     8,    19,
+      20,    21,    22,     4,    26,     5,     0,     0,     0,     6,
+      23,    24,    11,    12,    13,    14,     0,     4,    18,     5,
+       0,     0,     0,     6,    11,    12,    13,    14
+};
+
+static const yytype_int8 yycheck[] =
+{
+       2,     6,     7,     5,     6,     0,    16,    -1,     9,    11,
+      12,    13,    14,     3,    24,     5,    -1,    -1,    -1,     9,
+      10,    11,     4,     5,     6,     7,    -1,     3,    10,     5,
+      -1,    -1,    -1,     9,     4,     5,     6,     7
+};
+
+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
+   state STATE-NUM.  */
+static const yytype_int8 yystos[] =
+{
+       0,    13,    14,     0,     3,     5,     9,    15,     9,    15,
+      15,     4,     5,     6,     7,    15,    16,    17,    10,    15,
+      15,    15,    15,    10,    11,    17,    17
+};
+
+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
+static const yytype_int8 yyr1[] =
+{
+       0,    12,    14,    13,    15,    15,    15,    15,    15,    15,
+      15,    15,    16,    16,    16,    16,    17
+};
+
+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
+static const yytype_int8 yyr2[] =
+{
+       0,     2,     0,     2,     1,     3,     4,     2,     3,     3,
+       3,     3,     0,     1,     2,     3,     1
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+#define YYNOMEM         goto yyexhaustedlab
+
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
+
+/* Backward compatibility with an undocumented macro.
+   Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Kind, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  FILE *yyoutput = yyo;
+  YY_USE (yyoutput);
+  if (!yyvaluep)
+    return;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  YYFPRINTF (yyo, "%s %s (",
+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+  yy_symbol_value_print (yyo, yykind, yyvaluep);
+  YYFPRINTF (yyo, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+                 int yyrule)
+{
+  int yylno = yyrline[yyrule];
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+             yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr,
+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+                       &yyvsp[(yyi + 1) - (yynrhs)]);
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+{
+  YY_USE (yyvaluep);
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/* Lookahead token kind.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+int
+yyparse (void)
+{
+    yy_state_fast_t yystate = 0;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus = 0;
+
+    /* Refer to the stacks through separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* Their size.  */
+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+    /* The state stack: array, bottom, top.  */
+    yy_state_t yyssa[YYINITDEPTH];
+    yy_state_t *yyss = yyssa;
+    yy_state_t *yyssp = yyss;
+
+    /* The semantic value stack: array, bottom, top.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs = yyvsa;
+    YYSTYPE *yyvsp = yyvs;
+
+  int yyn;
+  /* The return value of yyparse.  */
+  int yyresult;
+  /* Lookahead symbol kind.  */
+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+  YY_IGNORE_USELESS_CAST_BEGIN
+  *yyssp = YY_CAST (yy_state_t, yystate);
+  YY_IGNORE_USELESS_CAST_END
+  YY_STACK_PRINT (yyss, yyssp);
+
+  if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    YYNOMEM;
+#else
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+# if defined yyoverflow
+      {
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        yy_state_t *yyss1 = yyss;
+        YYSTYPE *yyvs1 = yyvs;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * YYSIZEOF (*yyssp),
+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
+                    &yystacksize);
+        yyss = yyss1;
+        yyvs = yyvs1;
+      }
+# else /* defined YYSTACK_RELOCATE */
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+        YYNOMEM;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+        yystacksize = YYMAXDEPTH;
+
+      {
+        yy_state_t *yyss1 = yyss;
+        union yyalloc *yyptr =
+          YY_CAST (union yyalloc *,
+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+        if (! yyptr)
+          YYNOMEM;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
+      }
+# endif
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YY_IGNORE_USELESS_CAST_BEGIN
+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+                  YY_CAST (long, yystacksize)));
+      YY_IGNORE_USELESS_CAST_END
+
+      if (yyss + yystacksize - 1 <= yyssp)
+        YYABORT;
+    }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token\n"));
+      yychar = yylex ();
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = YYEOF;
+      yytoken = YYSYMBOL_YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else if (yychar == YYerror)
+    {
+      /* The scanner already issued an error message, process directly
+         to error recovery.  But do not keep the error token as
+         lookahead, it is too special and may lead us to an endless
+         loop in error recovery. */
+      yychar = YYUNDEF;
+      yytoken = YYSYMBOL_YYerror;
+      goto yyerrlab1;
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     '$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+  case 2: /* $@1: %empty  */
+#line 48 "../../../../src/nmodl/diffeq.ypp"
+     {d_invalid = 0; eq_invalid = 0; }
+#line 1111 "diffeq.cpp"
+    break;
+
+  case 3: /* top: $@1 e  */
+#line 48 "../../../../src/nmodl/diffeq.ypp"
+                                         {result = (yyvsp[0].list);}
+#line 1117 "diffeq.cpp"
+    break;
+
+  case 4: /* e: ATOM  */
+#line 50 "../../../../src/nmodl/diffeq.ypp"
+               {(yyval.list) = (yyvsp[0].list);}
+#line 1123 "diffeq.cpp"
+    break;
+
+  case 5: /* e: '(' e ')'  */
+#line 51 "../../../../src/nmodl/diffeq.ypp"
+                    { (yyval.list) = (yyvsp[-1].list); initbuf();
+		b1 "( %s )", expr((yyval.list)));
+		if (!zero(de((yyval.list)))) {b2 "( %s )", de((yyval.list)));}
+		if (!zero(a((yyval.list)))) {b3 "( %s )", a((yyval.list)));}
+		if (!zero(b((yyval.list)))) {b4 "( %s )", b((yyval.list)));}
+		replace((yyval.list));
+	    }
+#line 1135 "diffeq.cpp"
+    break;
+
+  case 6: /* e: ATOM '(' arglist ')'  */
+#line 59 "../../../../src/nmodl/diffeq.ypp"
+                               { (yyval.list) = (yyvsp[-1].list); initbuf();
+		b1 "%s ( %s )", expr((yyvsp[-3].list)), expr((yyval.list)));
+		{b4 "%s ( %s )", expr((yyvsp[-3].list)), expr((yyval.list)));}
+		free4((yyvsp[-3].list)); replace((yyval.list));
+	    }
+#line 1145 "diffeq.cpp"
+    break;
+
+  case 7: /* e: '-' e  */
+#line 64 "../../../../src/nmodl/diffeq.ypp"
+                                 { (yyval.list) = (yyvsp[0].list); initbuf();
+		b1 "- %s", expr((yyval.list)));
+		if (!zero(de((yyval.list)))) {b2 "- %s", de((yyval.list)));}
+		if (!zero(a((yyval.list)))) {b3 "- %s", a((yyval.list)));}
+		if (!zero(b((yyval.list)))) {b4 "- %s", b((yyval.list)));}
+		replace((yyval.list));
+	    }
+#line 1157 "diffeq.cpp"
+    break;
+
+  case 8: /* e: e '+' e  */
+#line 71 "../../../../src/nmodl/diffeq.ypp"
+                  { (yyval.list) = (yyvsp[-2].list); initbuf();
+		b1 "%s + %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+		if (!zero(de((yyvsp[-2].list))) && !zero(de((yyvsp[0].list)))) {b2 "%s + %s", de((yyvsp[-2].list)), de((yyvsp[0].list)));
+		}else if (!zero(de((yyvsp[-2].list)))) {b2 "%s", de((yyvsp[-2].list)));
+		}else if (!zero(de((yyvsp[0].list)))) {b2 "%s", de((yyvsp[0].list)));}
+		if (!zero(a((yyvsp[-2].list))) && !zero(a((yyvsp[0].list)))) {b3 "%s + %s", a((yyvsp[-2].list)), a((yyvsp[0].list)));
+		}else if (!zero(a((yyvsp[-2].list)))) {b3 "%s", a((yyvsp[-2].list)));
+		}else if (!zero(a((yyvsp[0].list)))) {b3 "%s", a((yyvsp[0].list)));}
+		if (!zero(b((yyvsp[-2].list))) && !zero(b((yyvsp[0].list)))) {b4 "%s + %s", b((yyvsp[-2].list)), b((yyvsp[0].list)));
+		}else if (!zero(b((yyvsp[-2].list)))) {b4 "%s", b((yyvsp[-2].list)));
+		}else if (!zero(b((yyvsp[0].list)))) {b4 "%s", b((yyvsp[0].list)));}
+		free4((yyvsp[0].list)); replace((yyval.list));
+	    }
+#line 1175 "diffeq.cpp"
+    break;
+
+  case 9: /* e: e '-' e  */
+#line 84 "../../../../src/nmodl/diffeq.ypp"
+                  { (yyval.list) = (yyvsp[-2].list); initbuf();
+		b1 "%s - %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+
+		if (!zero(de((yyvsp[-2].list))) && !zero(de((yyvsp[0].list)))) {b2 "%s - %s", de((yyvsp[-2].list)), de((yyvsp[0].list)));
+		}else if (!zero(de((yyvsp[-2].list)))) {b2 "%s", de((yyvsp[-2].list)));
+		}else if (!zero(de((yyvsp[0].list)))) {b2 "( - %s )", de((yyvsp[0].list)));}
+
+		if (!zero(a((yyvsp[-2].list))) && !zero(a((yyvsp[0].list)))) {b3 "%s - %s", a((yyvsp[-2].list)), a((yyvsp[0].list)));
+		}else if (!zero(a((yyvsp[-2].list)))) {b3 "%s", a((yyvsp[-2].list)));
+		}else if (!zero(a((yyvsp[0].list)))) {b3 "( - %s )", a((yyvsp[0].list)));}
+
+		if (!zero(b((yyvsp[-2].list))) && !zero(b((yyvsp[0].list)))) {b4 "%s - %s", b((yyvsp[-2].list)), b((yyvsp[0].list)));
+		}else if (!zero(b((yyvsp[-2].list)))) {b4 "%s", b((yyvsp[-2].list)));
+		}else if (!zero(b((yyvsp[0].list)))) {b4 "( - %s )", b((yyvsp[0].list)));}
+		free4((yyvsp[0].list)); replace((yyval.list));
+	    }
+#line 1196 "diffeq.cpp"
+    break;
+
+  case 10: /* e: e '*' e  */
+#line 100 "../../../../src/nmodl/diffeq.ypp"
+                  { (yyval.list) = (yyvsp[-2].list); initbuf();
+		b1 "%s * %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+		if (!zero(de((yyvsp[-2].list))) && !zero(de((yyvsp[0].list)))) {
+b2 "(( %s )*( %s ) + ( %s )*( %s ))", de((yyvsp[-2].list)), expr((yyvsp[0].list)), expr((yyvsp[-2].list)), de((yyvsp[0].list)));
+		}else if (!zero(de((yyvsp[-2].list)))) {b2 "( %s )*( %s )", de((yyvsp[-2].list)), expr((yyvsp[0].list)));
+		}else if (!zero(de((yyvsp[0].list)))) {b2 "( %s )*( %s )", expr((yyvsp[-2].list)), de((yyvsp[0].list)));}
+
+		if (!zero(a((yyvsp[-2].list))) && !zero(a((yyvsp[0].list)))) {eq_invalid = 1;
+		}else if (!zero(a((yyvsp[-2].list)))) {
+			if (!zero(b((yyvsp[0].list)))) {b3 "( %s )*( %s )", a((yyvsp[-2].list)),b((yyvsp[0].list)));}
+		}else if (!zero(a((yyvsp[0].list)))) {
+			if (!zero(b((yyvsp[-2].list)))) {b3 "( %s )*( %s )", b((yyvsp[-2].list)),a((yyvsp[0].list)));}}
+
+		if (!zero(b((yyvsp[-2].list))) && !zero(b((yyvsp[0].list)))) {
+			b4 "( %s )*( %s )", b( (yyvsp[-2].list) ), b( (yyvsp[0].list) ));}
+		free4((yyvsp[0].list)); replace((yyval.list));
+	    }
+#line 1218 "diffeq.cpp"
+    break;
+
+  case 11: /* e: e '/' e  */
+#line 117 "../../../../src/nmodl/diffeq.ypp"
+                  { (yyval.list) = (yyvsp[-2].list); initbuf();
+		b1 "%s / %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+
+		if (!zero(de((yyvsp[0].list)))) { d_invalid = 1;
+		}else if (!zero(de((yyvsp[-2].list)))) { b2 "( %s ) / %s", de((yyvsp[-2].list)), expr((yyvsp[0].list)));}
+
+		if (!zero(a((yyvsp[0].list)))) { eq_invalid = 1;
+		}else if (!zero(a((yyvsp[-2].list)))) { b3 "( %s ) / %s", a((yyvsp[-2].list)), expr((yyvsp[0].list)));}
+
+		if (!zero(b((yyvsp[-2].list)))) { b4 "( %s ) / %s", b((yyvsp[-2].list)), expr((yyvsp[0].list)));}
+		free4((yyvsp[0].list)); replace((yyval.list));
+	    }
+#line 1235 "diffeq.cpp"
+    break;
+
+  case 12: /* arglist: %empty  */
+#line 131 "../../../../src/nmodl/diffeq.ypp"
+                     {
+		(yyval.list) = list4("", "0.0", "0.0", "");
+		}
+#line 1243 "diffeq.cpp"
+    break;
+
+  case 13: /* arglist: arg  */
+#line 134 "../../../../src/nmodl/diffeq.ypp"
+              { (yyval.list) = (yyvsp[0].list); }
+#line 1249 "diffeq.cpp"
+    break;
+
+  case 14: /* arglist: arglist arg  */
+#line 135 "../../../../src/nmodl/diffeq.ypp"
+                      {
+		(yyval.list) = (yyvsp[0].list);
+		b1 "%s %s", expr((yyvsp[-1].list)), expr((yyvsp[0].list)));
+		b4 "%s %s", expr((yyvsp[-1].list)), expr((yyvsp[0].list)));
+		free4((yyvsp[-1].list)); replace((yyval.list));
+		}
+#line 1260 "diffeq.cpp"
+    break;
+
+  case 15: /* arglist: arglist ',' arg  */
+#line 141 "../../../../src/nmodl/diffeq.ypp"
+                          {
+		(yyval.list) = (yyvsp[0].list);
+		b1 "%s , %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+		b4 "%s , %s", expr((yyvsp[-2].list)), expr((yyvsp[0].list)));
+		free4((yyvsp[-2].list)); replace((yyval.list));
+		}
+#line 1271 "diffeq.cpp"
+    break;
+
+  case 16: /* arg: e  */
+#line 148 "../../../../src/nmodl/diffeq.ypp"
+          { (yyval.list) = (yyvsp[0].list); initbuf();
+		b1 "%s", expr((yyvsp[0].list)));
+		if (!zero(de((yyval.list)))) { d_invalid = 1; }
+		if (!zero(de((yyval.list)))) { eq_invalid = 1; }
+		{b4 "%s", expr((yyval.list)));}
+	    }
+#line 1282 "diffeq.cpp"
+    break;
+
+
+#line 1286 "diffeq.cpp"
+
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+
+  *++yyvsp = yyval;
+
+  /* Now 'shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
+
+  goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+      yyerror (YY_("syntax error"));
+    }
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+         error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
+      else
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
+  ++yynerrs;
+
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+
+  /* Pop stack until we find a state that shifts the error token.  */
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYSYMBOL_YYerror;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+        YYABORT;
+
+
+      yydestruct ("Error: popping",
+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturnlab;
+
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturnlab;
+
+
+/*-----------------------------------------------------------.
+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
+`-----------------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  goto yyreturnlab;
+
+
+/*----------------------------------------------------------.
+| yyreturnlab -- parsing is finished, clean up and return.  |
+`----------------------------------------------------------*/
+yyreturnlab:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+
+  return yyresult;
+}
+
+#line 155 "../../../../src/nmodl/diffeq.ypp"
+
+
+ int zero(char* cp) {
+	return (strcmp(cp, "0.0") == 0) ? 1 : 0;
+}
+
+ char* expr(List* lst) {
+	Item* q = lst->next;
+	return STR(q);
+}
+ char* de(List* lst) {
+	Item* q = lst->next->next;
+	return STR(q);
+}
+ char* a(List* lst) {
+	Item* q = lst->next->next->next;
+	return STR(q);
+}
+char* b(List* lst) {
+	Item* q = lst->next->next->next->next;
+	return STR(q);
+}
+
+void replace(List* lst) {
+	int i;
+	Item* q = lst->next;
+	for (i=0; i < 4; ++i) {
+		free(STR(q));
+		replacstr(q, lbuf[i]);
+		q = q->next;
+	}
+#if 0
+fprintf(stderr,
+"replace expr|%s| de|%s| a|%s| b|%s|\n",
+lbuf[0], lbuf[1], lbuf[2], lbuf[3]);
+#endif
+}
+
+void initbuf() {
+	int i;
+	for (i=0; i < 4; ++i) {
+		strcpy(lbuf[i], "0.0");
+	}
+}
+
+List* list4(char *s1, char *s2, char *s3, char *s4) {
+	List* lst = newlist();
+	lappendstr(lst, s1);
+	lappendstr(lst, s2);
+	lappendstr(lst, s3);
+	lappendstr(lst, s4);
+	return lst;
+}
+
+void free4(List* lst) {
+	Item* q;
+	List* ls = lst;
+	ITERATE(q, lst) {
+		free(STR(q));
+	}
+	freelist(&ls);
+}
+
+void yyerror(char* s) { assert(0); }
+
+static void fullname(char* buf) {
+	/* handle case of name [...] with qexpr pointing to final item */
+	Item* q = qexpr;
+	strcpy(buf, SYM(q)->name);
+	if (q->next->itemtype == SYMBOL && strcmp(SYM(q->next)->name, "[") == 0) {
+		q = q->next;
+		strcat(buf, "[");
+		for (;;) {
+			q = q->next;
+			if (q->itemtype == SYMBOL) {
+				strcat(buf, SYM(q)->name);
+				if (strcmp(SYM(q)->name, "]") == 0) {
+					break;
+				}
+			}else if (q->itemtype == ITEM || q->itemtype == LIST) {
+				assert(0);
+			}else{ /* had better be a STRING */
+				strcat(buf, STR(q));
+			}
+		}
+	}
+	qexpr = q;
+}
+
+static int yylex() {
+	Symbol* s;
+	char buf[256];
+	int rval = 0;
+	if (qexpr->itemtype == 0) {
+		return 0;
+	}
+	switch (qexpr->itemtype) {
+	case SYMBOL:
+		s = SYM(qexpr);
+		if (s == state) {
+			fullname(buf);
+			yylval.list = list4(buf, "1.0", "1.0", "0.0");
+			rval = ATOM;
+		}else{
+			switch (s->name[0]) {
+			case '+':
+			case '-':
+			case '*':
+			case '/':
+			case '(':
+			case ')':
+			case ',':
+				rval = s->name[0];
+				break;
+			default:
+				fullname(buf);
+				yylval.list = list4(buf, "0.0", "0.0", buf);
+				rval = ATOM;
+				break;
+			}
+		}
+		break;
+	default: /* had better be a STRING */
+		if (strcmp(STR(qexpr), "") == 0) {
+			qexpr = qexpr->next;
+			return yylex();
+		}
+		yylval.list = list4(STR(qexpr), "0.0", "0.0", STR(qexpr));
+		rval = ATOM;
+		break;
+	}
+
+#if 0
+if (rval == ATOM) {
+fprintf(stderr,
+"expr|%s| de|%s| a|%s| b|%s|\n",
+expr(yylval.list), de(yylval.list),
+a(yylval.list), b(yylval.list));
+}else{
+fprintf(stderr, "|%s|\n", SYM(qexpr)->name);
+}
+#endif
+	qexpr = qexpr->next;
+	return rval;
+}
+
+/*----------- interface to outside world -------------*/
+void cvode_parse(Symbol* s, List* e) {
+	state = s;
+	qexpr = e->next;
+	yyparse();
+#if 0
+fprintf(stderr,
+"cvode_parse d_invalid=%d eq_invalid=%d\nexpr|%s|\nde|%s|\na|%s|\nb|%s|\n",
+d_invalid, eq_invalid, expr(result), de(result), a(result), b(result));
+#endif
+	b4 "- ( %s ) / ( %s )", b(result), a(result));
+	replacstr(result->prev, lbuf[3]);
+}
+char* cvode_deriv() {
+	if (result && !d_invalid) {
+		return de(result);
+	}else{
+		return (char*)0;
+	}
+}
+char* cvode_eqnrhs() {
+	if (result && !eq_invalid) {
+		return b(result);
+	}else{
+		return (char*)0;
+	}
+}
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/diffeq.hpp
@@ -0,0 +1,87 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+#ifndef YY_YY_DIFFEQ_HPP_INCLUDED
+# define YY_YY_DIFFEQ_HPP_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token kinds.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    YYEMPTY = -2,
+    YYEOF = 0,                     /* "end of file"  */
+    YYerror = 256,                 /* error  */
+    YYUNDEF = 257,                 /* "invalid token"  */
+    ATOM = 258,                    /* ATOM  */
+    UNARYMINUS = 259               /* UNARYMINUS  */
+  };
+  typedef enum yytokentype yytoken_kind_t;
+#endif
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+union YYSTYPE
+{
+#line 35 "../../../../src/nmodl/diffeq.ypp"
+
+	char* cp;
+	List* list; /*  expression, d(expression)/dstate, a*state, b */
+
+#line 73 "diffeq.hpp"
+
+};
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+
+int yyparse (void);
+
+
+#endif /* !YY_YY_DIFFEQ_HPP_INCLUDED  */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/lex.cpp
@@ -0,0 +1,2167 @@
+#line 2 "lex.cpp"
+
+#line 4 "lex.cpp"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#ifndef SIZE_MAX
+#define SIZE_MAX               (~(size_t)0)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+/* begin standard C++ headers. */
+
+/* TODO: this is always defined, so inline it */
+#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
+#else
+#define yynoreturn
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an
+ *   integer in range [0..255] for use as an array index.
+ */
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin  )
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
+#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+    
+    #define YY_LESS_LINENO(n)
+    #define YY_LINENO_REWIND_TO(ptr)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	int yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = NULL;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart ( FILE *input_file  );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
+void yy_delete_buffer ( YY_BUFFER_STATE b  );
+void yy_flush_buffer ( YY_BUFFER_STATE b  );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state ( void );
+
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
+
+void *yyalloc ( yy_size_t  );
+void *yyrealloc ( void *, yy_size_t  );
+void yyfree ( void *  );
+
+#define yy_new_buffer yy_create_buffer
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+typedef flex_uint8_t YY_CHAR;
+
+FILE *yyin = NULL, *yyout = NULL;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+int yylineno = 1;
+
+extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (int) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+#define YY_NUM_RULES 35
+#define YY_END_OF_BUFFER 36
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static const flex_int16_t yy_accept[91] =
+    {   0,
+        0,    0,    0,    0,   36,   34,   26,   29,   28,   20,
+       34,   34,   34,    9,   30,   16,   34,   14,   31,    7,
+        7,    7,    7,    7,   32,   34,   33,   25,   35,    6,
+       35,   35,   27,   19,    0,   13,   21,   11,   10,    9,
+        0,   30,    0,   17,   18,   15,   31,    1,    7,    7,
+        3,    7,    7,   22,   24,    0,    8,    0,    0,   10,
+        0,    0,   12,   23,    7,    7,    7,    8,    0,    0,
+        0,   11,    0,    0,   10,    4,    7,    7,    0,    8,
+        0,   10,    7,    2,    7,    7,    7,    7,    5,    0
+    } ;
+
+static const YY_CHAR yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    5,    6,    1,    1,    1,    7,    8,    1,
+        1,    1,    9,    1,   10,   11,    1,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12,   13,    1,   14,
+       15,   16,   17,    1,   18,   18,   18,   18,   19,   20,
+       18,   21,   22,   18,   18,   23,   18,   24,   18,   25,
+       18,   26,   27,   28,   18,   18,   29,   18,   18,   18,
+       30,    1,   31,    1,   32,    1,   18,   18,   18,   18,
+
+       33,   18,   18,   18,   18,   18,   18,   18,   18,   18,
+       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
+       18,   18,   34,   35,   36,   37,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static const YY_CHAR yy_meta[38] =
+    {   0,
+        1,    1,    2,    1,    1,    1,    1,    3,    1,    1,
+        1,    4,    5,    1,    1,    1,    1,    6,    6,    6,
+        6,    6,    6,    6,    6,    6,    6,    6,    6,    1,
+        7,    4,    6,    1,    1,    1,    1
+    } ;
+
+static const flex_int16_t yy_base[100] =
+    {   0,
+        0,    0,   37,    0,  206,  207,  207,  207,  202,  189,
+      197,  195,  189,   64,    0,   67,  185,  184,    0,  190,
+       70,   71,   73,   77,  207,  162,  207,  187,  207,  207,
+      180,    0,  207,  207,  181,  207,  207,   68,   76,   88,
+       93,    0,  165,  207,  207,  207,    0,  165,  158,   81,
+      147,   86,   82,  207,  207,  141,    0,  140,  103,   98,
+      110,  140,  139,  207,  106,   98,  110,    0,  137,  118,
+      135,  134,  117,  133,  132,  135,  115,  120,  111,  207,
+      128,  125,  108,   88,  122,  124,  128,  130,   78,  207,
+      157,  164,  171,  176,  179,   78,  182,  185,  188
+
+    } ;
+
+static const flex_int16_t yy_def[100] =
+    {   0,
+       90,    1,   90,    3,   90,   90,   90,   90,   90,   90,
+       91,   90,   90,   90,   92,   90,   90,   90,   93,   94,
+       94,   94,   94,   94,   90,   90,   90,   90,   90,   90,
+       95,   96,   90,   90,   91,   90,   90,   90,   90,   90,
+       90,   92,   90,   90,   90,   90,   93,   90,   94,   94,
+       94,   94,   94,   90,   90,   95,   97,   98,   90,   90,
+       90,   90,   90,   90,   94,   94,   94,   97,   98,   99,
+       90,   90,   90,   90,   90,   94,   94,   94,   99,   90,
+       90,   90,   94,   94,   94,   94,   94,   94,   94,    0,
+       90,   90,   90,   90,   90,   90,   90,   90,   90
+
+    } ;
+
+static const flex_int16_t yy_nxt[245] =
+    {   0,
+        6,    7,    8,    9,   10,   11,   12,    6,    6,    6,
+       13,   14,   15,   16,   17,   18,   19,   20,   21,   20,
+       20,   22,   20,   20,   20,   23,   20,   20,   24,    6,
+        6,    6,   20,   25,   26,   27,   28,   29,   29,   30,
+       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
+       29,   29,   29,   29,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   32,   29,   29,   31,
+       29,   29,   29,   29,   39,   40,   43,   48,   48,   38,
+       48,   44,   41,   58,   48,   48,   59,   60,   48,   48,
+       51,   52,   50,   48,   61,   48,   41,   53,   39,   40,
+
+       59,   62,   62,   67,   63,   48,   41,   65,   61,   60,
+       66,   71,   71,   48,   72,   48,   73,   48,   74,   74,
+       41,   75,   48,   77,   76,   81,   81,   48,   82,   48,
+       73,   48,   78,   83,   85,   48,   82,   48,   84,   82,
+       86,   80,   48,   75,   75,   72,   72,   87,   80,   70,
+       63,   63,   70,   57,   48,   88,   89,   35,   35,   35,
+       35,   35,   35,   35,   42,   48,   42,   42,   42,   42,
+       42,   47,   48,   47,   47,   47,   47,   47,   49,   49,
+       64,   49,   56,   56,   56,   68,   36,   68,   69,   69,
+       69,   79,   57,   79,   79,   55,   54,   48,   46,   45,
+
+       38,   37,   36,   34,   33,   90,    5,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90
+    } ;
+
+static const flex_int16_t yy_chk[245] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,   14,   14,   16,   21,   22,   38,
+       23,   16,   14,   96,   24,   89,   38,   39,   50,   53,
+       22,   23,   21,   52,   39,   84,   14,   24,   40,   40,
+
+       38,   41,   41,   53,   41,   66,   40,   50,   39,   60,
+       52,   59,   59,   65,   59,   83,   60,   67,   61,   61,
+       40,   61,   77,   66,   65,   73,   73,   78,   73,   85,
+       60,   86,   67,   77,   83,   87,   82,   88,   78,   81,
+       85,   79,   76,   75,   74,   72,   71,   86,   70,   69,
+       63,   62,   58,   56,   51,   87,   88,   91,   91,   91,
+       91,   91,   91,   91,   92,   49,   92,   92,   92,   92,
+       92,   93,   48,   93,   93,   93,   93,   93,   94,   94,
+       43,   94,   95,   95,   95,   97,   35,   97,   98,   98,
+       98,   99,   31,   99,   99,   28,   26,   20,   18,   17,
+
+       13,   12,   11,   10,    9,    5,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "../../../../src/nmodl/lex.lpp"
+#line 2 "../../../../src/nmodl/lex.lpp"
+/* /local/src/master/nrn/src/nmodl/lex.lpp,v 4.2 1997/11/05 17:59:02 hines Exp */
+
+#include <../../nmodlconf.h>
+
+#undef output
+#undef unput
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	{ \
+	int c = Getc(); \
+	result = (c==EOF) ? YY_NULL : (buf[0]=c, 1); \
+	}
+#else
+#undef input
+#endif
+
+
+#include "modl.h"
+#include "parse1.hpp"
+
+int lexcontext = 0;
+extern int Getc();
+extern int unGetc(int);
+extern int unput(int);
+static int input();
+static int yyinput();
+int newinput() {
+    #ifdef __cplusplus
+    return yyinput();
+    #else
+    return input ();
+    #endif
+}
+
+
+#define debug(arg1,arg2) /*printf("lex:arg1|%s|\n", arg2);*/
+
+#ifndef FLEX_SCANNER
+int input()
+{
+	int c;
+	c = Getc();
+	if (c == EOF) {
+		c = 0;
+	}
+	return c;
+}
+#endif
+
+
+int unput(int c) {
+	return unGetc(c);
+}
+
+
+int output(int c) {
+#if LINT
+	IGNORE(c);
+#endif
+	diag("internal error: ", "called output");
+	return 0;
+}
+
+extern "C" int yywrap() {
+	return 1;
+}
+
+char * inputtopar()
+{				/* returns string up to and not including
+				 * next closing parenthesis */
+	/* main usage is to read the units string */
+	char            *cp;
+	int             c;
+
+	cp = buf;
+	while ((c = newinput()) != ')' && c != '\n' && c != 0) {
+		*cp++ = c;
+	}
+	if (c != ')')
+		diag("Syntax error:", " no closing ')'");
+	*cp = '\0';
+	unput(c);
+	return stralloc(buf, (char *) 0);
+}
+
+
+#line 614 "lex.cpp"
+
+#line 616 "lex.cpp"
+
+#define INITIAL 0
+#define ontology 1
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals ( void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy ( void );
+
+int yyget_debug ( void );
+
+void yyset_debug ( int debug_flag  );
+
+YY_EXTRA_TYPE yyget_extra ( void );
+
+void yyset_extra ( YY_EXTRA_TYPE user_defined  );
+
+FILE *yyget_in ( void );
+
+void yyset_in  ( FILE * _in_str  );
+
+FILE *yyget_out ( void );
+
+void yyset_out  ( FILE * _out_str  );
+
+			int yyget_leng ( void );
+
+char *yyget_text ( void );
+
+int yyget_lineno ( void );
+
+void yyset_lineno ( int _line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap ( void );
+#else
+extern int yywrap ( void );
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+    
+    static void yyunput ( int c, char *buf_ptr  );
+    
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy ( char *, const char *, int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen ( const char * );
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput ( void );
+#else
+static int input ( void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
+#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		int n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK /*LINTED*/break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	yy_state_type yy_current_state;
+	char *yy_cp, *yy_bp;
+	int yy_act;
+    
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer( yyin, YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state(  );
+		}
+
+	{
+#line 96 "../../../../src/nmodl/lex.lpp"
+
+#line 836 "lex.cpp"
+
+	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		do
+			{
+			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 91 )
+					yy_c = yy_meta[yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 207 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 97 "../../../../src/nmodl/lex.lpp"
+{ /*PRIME possibly high order*/
+	char *cp, buf[256];
+	int i;
+	Symbol *base;
+
+	/* count the primes  and create SCoP name*/
+#if __TURBOC__ || SYSV || VMS || defined(MINGW)
+#define index strchr
+#endif
+	cp = index(yytext, '\'');
+	i = strlen(yytext) - (cp - yytext);
+	*cp = '\0';
+	if (i > 1) {
+		Sprintf(buf, "D%d%s", i, yytext);
+	}else{
+		Sprintf(buf, "D%s", yytext);
+	}
+	/* determine if really a constant */
+	if ((i = newinput()) == '0') {
+		Strcat(buf, "0");
+		yylval.qp = putintoken(buf, NAME);
+		return NAME;
+	}else{
+		unput(i);
+	}
+			
+	/*create symbol if needed and store in intoken list*/
+	yylval.qp = putintoken(buf, PRIME);
+	if (SYM(yylval.qp)->type != PRIME) {
+		diag(yytext, " needed as derivative variable");
+#if LINT
+goto yyfussy;
+#endif
+	}
+	/* the high order prime might not be explicitly declared at this
+	time. But the base state may be an array. If it is, then make
+	the PRIME an array of the same dimension. */
+	if ((base = lookup(yytext))) {
+		if (base->subtype & ARRAY) {
+			SYM(yylval.qp)->subtype |= ARRAY;
+			SYM(yylval.qp)->araydim = base->araydim;
+		}
+	}
+	return PRIME;
+}
+	YY_BREAK
+case 2:
+#line 144 "../../../../src/nmodl/lex.lpp"
+case 3:
+#line 145 "../../../../src/nmodl/lex.lpp"
+case 4:
+YY_RULE_SETUP
+#line 145 "../../../../src/nmodl/lex.lpp"
+{ /* translate to lower case */
+	char *cp;
+	for (cp = yytext; *cp; cp++) {
+		*cp += 'a' - 'A';
+	}
+	yylval.qp = putintoken(yytext, NAME);
+	return SYM(yylval.qp)->type;
+	}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 154 "../../../../src/nmodl/lex.lpp"
+{
+	BEGIN(ontology);
+	Symbol *s;
+
+	yylval.qp = putintoken(yytext, NAME);
+	s = SYM(yylval.qp);
+	return s->type;
+}
+	YY_BREAK
+case 6:
+/* rule 6 can match eol */
+YY_RULE_SETUP
+#line 163 "../../../../src/nmodl/lex.lpp"
+{
+	BEGIN(INITIAL);
+}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 167 "../../../../src/nmodl/lex.lpp"
+{ /*NAME*/
+	Symbol *s;
+
+	yylval.qp = putintoken(yytext, NAME);
+	s = SYM(yylval.qp);
+	if (s->type == PRIME)
+		diag(yytext, " being used as derivative variable");
+	return s->type;
+}
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 177 "../../../../src/nmodl/lex.lpp"
+{ /*ONTOLOGY_ID*/
+	Symbol *s;
+
+	yylval.qp = putintoken(yytext, ONTOLOGY_ID);
+	s = SYM(yylval.qp);
+	BEGIN(INITIAL);
+	return s->type;
+}
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 186 "../../../../src/nmodl/lex.lpp"
+{ /*INTEGER*/
+	yylval.qp = putintoken(yytext, INTEGER); /* Numbers are not looked for */
+	return INTEGER;
+}
+	YY_BREAK
+case 10:
+#line 193 "../../../../src/nmodl/lex.lpp"
+case 11:
+#line 194 "../../../../src/nmodl/lex.lpp"
+case 12:
+YY_RULE_SETUP
+#line 194 "../../../../src/nmodl/lex.lpp"
+{ /*REAL*/
+	yylval.qp = putintoken(yytext, REAL); /* Numbers are not looked for */
+	return REAL;
+}
+	YY_BREAK
+case 13:
+/* rule 13 can match eol */
+YY_RULE_SETUP
+#line 199 "../../../../src/nmodl/lex.lpp"
+{ /* STRING */
+	yylval.qp = putintoken(yytext, STRING);
+	return STRING;
+		/* can't quote \" */
+}
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 205 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return GT;}
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 206 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return GE;}
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 207 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return LT;}
+	YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 208 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return LE;}
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 209 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return EQ;}
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 210 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return NE;}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 211 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return NOT;}
+	YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 212 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return AND;}
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 213 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return OR;}
+	YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 215 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return REACT1;}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 217 "../../../../src/nmodl/lex.lpp"
+{ /* syntactic sugar for equation addition */
+	yylval.qp = putintoken(yytext, 0);
+	if (lexcontext == NONLINEAR) return NONLIN1;
+	if (lexcontext == LINEAR) return LIN1;
+	diag("equation addition can't occur in this type of block", (char *)0);
+	}
+	YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 224 "../../../../src/nmodl/lex.lpp"
+{ /* syntactic sugar for equations */
+	yylval.qp = putintoken(yytext, 0);
+	if (lexcontext == NONLINEAR) return NONLIN1;
+	if (lexcontext == LINEAR) return LIN1;
+	if (lexcontext == PARTIAL) return yytext[0];
+	if (lexcontext == INT) return yytext[0];
+	if (lexcontext == KINETIC) return REACTION;
+	diag("equations can't occur in this type of block", (char *)0);
+	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+#line 234 "../../../../src/nmodl/lex.lpp"
+{/*ignore spacing characters*/;}
+	YY_BREAK
+case 27:
+/* rule 27 can match eol */
+YY_RULE_SETUP
+#line 236 "../../../../src/nmodl/lex.lpp"
+{/*ignore newline*/}
+	YY_BREAK
+case 28:
+YY_RULE_SETUP
+#line 237 "../../../../src/nmodl/lex.lpp"
+{/*ignore newline*/}
+	YY_BREAK
+case 29:
+/* rule 29 can match eol */
+YY_RULE_SETUP
+#line 238 "../../../../src/nmodl/lex.lpp"
+{/*ignore newline*/}
+	YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 240 "../../../../src/nmodl/lex.lpp"
+{/*ignore inline comments*/;}
+	YY_BREAK
+case 31:
+YY_RULE_SETUP
+#line 242 "../../../../src/nmodl/lex.lpp"
+{/*ignore inline comments*/;}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+#line 244 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken("{", 0); return yytext[0]; }
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+#line 245 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken("}", 0); return yytext[0]; }
+	YY_BREAK
+case 34:
+YY_RULE_SETUP
+#line 246 "../../../../src/nmodl/lex.lpp"
+{ yylval.qp = putintoken(yytext, 0); return yytext[0]; }
+	YY_BREAK
+case 35:
+YY_RULE_SETUP
+#line 248 "../../../../src/nmodl/lex.lpp"
+ECHO;
+	YY_BREAK
+#line 1158 "lex.cpp"
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(ontology):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap(  ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+	} /* end of user's declarations */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	char *source = (yytext_ptr);
+	int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc( (void *) b->yy_ch_buf,
+							 (yy_size_t) (b->yy_buf_size + 2)  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = NULL;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart( yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+		/* "- 2" to take care of EOB's */
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	yy_state_type yy_current_state;
+	char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 91 )
+				yy_c = yy_meta[yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	int yy_is_jam;
+    	char *yy_cp = (yy_c_buf_p);
+
+	YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 91 )
+			yy_c = yy_meta[yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+	yy_is_jam = (yy_current_state == 90);
+
+		return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_UNPUT
+
+    static void yyunput (int c, char * yy_bp )
+{
+	char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up yytext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		int number_to_move = (yy_n_chars) + 2;
+		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart( yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap(  ) )
+						return 0;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer( yyin, YY_BUF_SIZE );
+	}
+
+	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+	yy_load_buffer_state(  );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state(  );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer( b, file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree( (void *) b->yy_ch_buf  );
+
+	yyfree( (void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer( b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state(  );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state(  );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state(  );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	yy_size_t num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		yy_size_t grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return NULL;
+
+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = NULL;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer( b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
+{
+    
+	return yy_scan_bytes( yystr, (int) strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = (yy_size_t) (_yybytes_len + 2);
+	buf = (char *) yyalloc( n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer( buf, n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yynoreturn yy_fatal_error (const char* msg )
+{
+			fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+    
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param _line_number line number
+ * 
+ */
+void yyset_lineno (int  _line_number )
+{
+    
+    yylineno = _line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param _in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  _in_str )
+{
+        yyin = _in_str ;
+}
+
+void yyset_out (FILE *  _out_str )
+{
+        yyout = _out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  _bdebug )
+{
+        yy_flex_debug = _bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = NULL;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = NULL;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = NULL;
+    yyout = NULL;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer( YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
+{
+		
+	int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (const char * s )
+{
+	int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+			return malloc(size);
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+		
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return realloc(ptr, size);
+}
+
+void yyfree (void * ptr )
+{
+			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 248 "../../../../src/nmodl/lex.lpp"
+
+
+
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.cpp
@@ -0,0 +1,4424 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output, and Bison version.  */
+#define YYBISON 30802
+
+/* Bison version string.  */
+#define YYBISON_VERSION "3.8.2"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+
+
+
+/* First part of user prologue.  */
+#line 1 "../../../../src/nmodl/parse1.ypp"
+
+/* /local/src/master/nrn/src/nmodl/parse1.ypp,v 4.11 1999/03/24 18:34:08 hines Exp */
+
+#include <../../nmodlconf.h>
+#include "modl.h"
+#include <stdlib.h>
+
+#if defined(__STDC__)
+#define sdebug(arg1,arg2) {}
+#define qdebug(arg1,arg2) {}
+#else
+#define sdebug(arg1,arg2) {Fprintf(stderr,"arg1:%s\n", arg2); Fflush(stderr);}
+#define qdebug(arg1,arg2) {Item *q; Fprintf(stderr,"arg1:");Fflush(stderr);\
+	for (q=arg2; q->type != 0; q=q->next){\
+		if (q->type == SYMBOL)\
+			Fprintf(stderr,"%s\n", SYM(q)->name);\
+		else if (q->type == STRING)\
+			Fprintf(stderr,"%s\n", STR(q);\
+		else\
+			Fprintf(stderr,"Illegal Item type\n");\
+		Fflush(stderr);}\
+		Fprintf(stderr,"\n");Fflush(stderr);}
+#endif
+
+#define ldebug(arg1, arg2) qdebug(arg1, arg2->next)
+
+extern int yylex(), yyparse();
+void yyerror(char*);
+
+#if YYBISON
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++))yyerror(arg); --yyssp; --yyvsp; YYERROR
+#else
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++))yyerror(arg); --yyps; --yypv; YYERROR
+#endif
+
+int brkpnt_exists;
+int assert_threadsafe;
+int usederivstatearray;
+extern int protect_;
+extern int vectorize;
+extern int in_comment_; /* allow non-ascii in a COMMENT */
+extern char *modelline;
+extern Item* protect_astmt(Item*, Item*);
+extern List* toplocal_;
+static List* toplocal1_;
+extern List *firstlist; /* NAME symbols in order that they appear in file */
+extern int lexcontext; /* ':' can return 3 different tokens */
+extern List *solveforlist; /* List of symbols that are actually to be solved
+				for in a block. See in_solvefor() */
+static int stateblock; /* 0 if dependent, 1 if state */
+static int blocktype;
+static int saw_verbatim_; /* only print the notice once */
+static int inequation; /* inside an equation?*/
+static int nstate;	/* number of states seen in an expression */
+static int leftside;	/* inside left hand side of equation? */
+static int pstate;	/* number of state in a primary expression */
+static int tstate;	/* number of states in a term */
+static Item *lastok;	/* last token accepted by expr */
+static int sensused;	/* a SENS statement occurred in this block */
+static Symbol *matchindex; /* local symbol for implied MATCH loop */
+static int model_level = 0; /* the model level prepended to declaration
+				blocks by merge */
+static int scopindep = 0;/* SCoP independent explicitly declared if 1 */
+static int extdef2 = 0; /* flag that says we are in an EXTDEF2 function */
+static List *table_list = LIST0; /* table information for TABLE statement */
+static int forallindex = 0;	/* 0 not in FORALL, -1 just starting, 
+					>0 index of arrays used (must all
+					be the same */
+static Item* astmt_end_;	/* see kinetic.c vectorizing */
+static int nr_argcnt_, argcnt_; /* for matching number of args in NET_RECEIVE
+				 and FOR_NETCONS */
+
+#line 146 "parse1.cpp"
+
+# ifndef YY_CAST
+#  ifdef __cplusplus
+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+#  else
+#   define YY_CAST(Type, Val) ((Type) (Val))
+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+#  endif
+# endif
+# ifndef YY_NULLPTR
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
+#  else
+#   define YY_NULLPTR ((void*)0)
+#  endif
+# endif
+
+#include "parse1.hpp"
+/* Symbol kind.  */
+enum yysymbol_kind_t
+{
+  YYSYMBOL_YYEMPTY = -2,
+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+  YYSYMBOL_YYerror = 1,                    /* error  */
+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+  YYSYMBOL_VERBATIM = 3,                   /* VERBATIM  */
+  YYSYMBOL_COMMENT = 4,                    /* COMMENT  */
+  YYSYMBOL_MODEL = 5,                      /* MODEL  */
+  YYSYMBOL_CONSTANT = 6,                   /* CONSTANT  */
+  YYSYMBOL_INDEPENDENT = 7,                /* INDEPENDENT  */
+  YYSYMBOL_DEPENDENT = 8,                  /* DEPENDENT  */
+  YYSYMBOL_STATE = 9,                      /* STATE  */
+  YYSYMBOL_INITIAL1 = 10,                  /* INITIAL1  */
+  YYSYMBOL_DERIVATIVE = 11,                /* DERIVATIVE  */
+  YYSYMBOL_SOLVE = 12,                     /* SOLVE  */
+  YYSYMBOL_USING = 13,                     /* USING  */
+  YYSYMBOL_WITH = 14,                      /* WITH  */
+  YYSYMBOL_STEPPED = 15,                   /* STEPPED  */
+  YYSYMBOL_DISCRETE = 16,                  /* DISCRETE  */
+  YYSYMBOL_FROM = 17,                      /* FROM  */
+  YYSYMBOL_FORALL1 = 18,                   /* FORALL1  */
+  YYSYMBOL_TO = 19,                        /* TO  */
+  YYSYMBOL_BY = 20,                        /* BY  */
+  YYSYMBOL_WHILE = 21,                     /* WHILE  */
+  YYSYMBOL_IF = 22,                        /* IF  */
+  YYSYMBOL_ELSE = 23,                      /* ELSE  */
+  YYSYMBOL_START1 = 24,                    /* START1  */
+  YYSYMBOL_STEP = 25,                      /* STEP  */
+  YYSYMBOL_SENS = 26,                      /* SENS  */
+  YYSYMBOL_SOLVEFOR = 27,                  /* SOLVEFOR  */
+  YYSYMBOL_PROCEDURE = 28,                 /* PROCEDURE  */
+  YYSYMBOL_PARTIAL = 29,                   /* PARTIAL  */
+  YYSYMBOL_DEL = 30,                       /* DEL  */
+  YYSYMBOL_DEL2 = 31,                      /* DEL2  */
+  YYSYMBOL_DEFINE1 = 32,                   /* DEFINE1  */
+  YYSYMBOL_IFERROR = 33,                   /* IFERROR  */
+  YYSYMBOL_PARAMETER = 34,                 /* PARAMETER  */
+  YYSYMBOL_INT = 35,                       /* INT  */
+  YYSYMBOL_DERFUNC = 36,                   /* DERFUNC  */
+  YYSYMBOL_EQUATION = 37,                  /* EQUATION  */
+  YYSYMBOL_TERMINAL = 38,                  /* TERMINAL  */
+  YYSYMBOL_LINEAR = 39,                    /* LINEAR  */
+  YYSYMBOL_NONLINEAR = 40,                 /* NONLINEAR  */
+  YYSYMBOL_FUNCTION1 = 41,                 /* FUNCTION1  */
+  YYSYMBOL_LOCAL = 42,                     /* LOCAL  */
+  YYSYMBOL_METHOD = 43,                    /* METHOD  */
+  YYSYMBOL_LIN1 = 44,                      /* LIN1  */
+  YYSYMBOL_NONLIN1 = 45,                   /* NONLIN1  */
+  YYSYMBOL_PUTQ = 46,                      /* PUTQ  */
+  YYSYMBOL_GETQ = 47,                      /* GETQ  */
+  YYSYMBOL_TABLE = 48,                     /* TABLE  */
+  YYSYMBOL_DEPEND = 49,                    /* DEPEND  */
+  YYSYMBOL_BREAKPOINT = 50,                /* BREAKPOINT  */
+  YYSYMBOL_INCLUDE1 = 51,                  /* INCLUDE1  */
+  YYSYMBOL_FUNCTION_TABLE = 52,            /* FUNCTION_TABLE  */
+  YYSYMBOL_PROTECT = 53,                   /* PROTECT  */
+  YYSYMBOL_NRNMUTEXLOCK = 54,              /* NRNMUTEXLOCK  */
+  YYSYMBOL_NRNMUTEXUNLOCK = 55,            /* NRNMUTEXUNLOCK  */
+  YYSYMBOL_56_ = 56,                       /* '{'  */
+  YYSYMBOL_57_ = 57,                       /* '}'  */
+  YYSYMBOL_58_ = 58,                       /* '('  */
+  YYSYMBOL_59_ = 59,                       /* ')'  */
+  YYSYMBOL_60_ = 60,                       /* '['  */
+  YYSYMBOL_61_ = 61,                       /* ']'  */
+  YYSYMBOL_62_ = 62,                       /* '@'  */
+  YYSYMBOL_63_ = 63,                       /* '+'  */
+  YYSYMBOL_64_ = 64,                       /* '*'  */
+  YYSYMBOL_65_ = 65,                       /* '-'  */
+  YYSYMBOL_66_ = 66,                       /* '/'  */
+  YYSYMBOL_67_ = 67,                       /* '='  */
+  YYSYMBOL_68_ = 68,                       /* '^'  */
+  YYSYMBOL_69_ = 69,                       /* ':'  */
+  YYSYMBOL_70_ = 70,                       /* ','  */
+  YYSYMBOL_71_ = 71,                       /* '~'  */
+  YYSYMBOL_OR = 72,                        /* OR  */
+  YYSYMBOL_AND = 73,                       /* AND  */
+  YYSYMBOL_GT = 74,                        /* GT  */
+  YYSYMBOL_LT = 75,                        /* LT  */
+  YYSYMBOL_LE = 76,                        /* LE  */
+  YYSYMBOL_EQ = 77,                        /* EQ  */
+  YYSYMBOL_NE = 78,                        /* NE  */
+  YYSYMBOL_NOT = 79,                       /* NOT  */
+  YYSYMBOL_NAME = 80,                      /* NAME  */
+  YYSYMBOL_PRIME = 81,                     /* PRIME  */
+  YYSYMBOL_REAL = 82,                      /* REAL  */
+  YYSYMBOL_INTEGER = 83,                   /* INTEGER  */
+  YYSYMBOL_DEFINEDVAR = 84,                /* DEFINEDVAR  */
+  YYSYMBOL_ONTOLOGY_ID = 85,               /* ONTOLOGY_ID  */
+  YYSYMBOL_STRING = 86,                    /* STRING  */
+  YYSYMBOL_PLOT = 87,                      /* PLOT  */
+  YYSYMBOL_VS = 88,                        /* VS  */
+  YYSYMBOL_LAG = 89,                       /* LAG  */
+  YYSYMBOL_RESET = 90,                     /* RESET  */
+  YYSYMBOL_MATCH = 91,                     /* MATCH  */
+  YYSYMBOL_MODEL_LEVEL = 92,               /* MODEL_LEVEL  */
+  YYSYMBOL_SWEEP = 93,                     /* SWEEP  */
+  YYSYMBOL_FIRST = 94,                     /* FIRST  */
+  YYSYMBOL_LAST = 95,                      /* LAST  */
+  YYSYMBOL_KINETIC = 96,                   /* KINETIC  */
+  YYSYMBOL_CONSERVE = 97,                  /* CONSERVE  */
+  YYSYMBOL_REACTION = 98,                  /* REACTION  */
+  YYSYMBOL_REACT1 = 99,                    /* REACT1  */
+  YYSYMBOL_COMPARTMENT = 100,              /* COMPARTMENT  */
+  YYSYMBOL_UNITS = 101,                    /* UNITS  */
+  YYSYMBOL_UNITSON = 102,                  /* UNITSON  */
+  YYSYMBOL_UNITSOFF = 103,                 /* UNITSOFF  */
+  YYSYMBOL_LONGDIFUS = 104,                /* LONGDIFUS  */
+  YYSYMBOL_NEURON = 105,                   /* NEURON  */
+  YYSYMBOL_SUFFIX = 106,                   /* SUFFIX  */
+  YYSYMBOL_NONSPECIFIC = 107,              /* NONSPECIFIC  */
+  YYSYMBOL_READ = 108,                     /* READ  */
+  YYSYMBOL_WRITE = 109,                    /* WRITE  */
+  YYSYMBOL_USEION = 110,                   /* USEION  */
+  YYSYMBOL_VALENCE = 111,                  /* VALENCE  */
+  YYSYMBOL_THREADSAFE = 112,               /* THREADSAFE  */
+  YYSYMBOL_REPRESENTS = 113,               /* REPRESENTS  */
+  YYSYMBOL_GLOBAL = 114,                   /* GLOBAL  */
+  YYSYMBOL_SECTION = 115,                  /* SECTION  */
+  YYSYMBOL_RANGE = 116,                    /* RANGE  */
+  YYSYMBOL_POINTER = 117,                  /* POINTER  */
+  YYSYMBOL_BBCOREPOINTER = 118,            /* BBCOREPOINTER  */
+  YYSYMBOL_EXTERNAL = 119,                 /* EXTERNAL  */
+  YYSYMBOL_BEFORE = 120,                   /* BEFORE  */
+  YYSYMBOL_AFTER = 121,                    /* AFTER  */
+  YYSYMBOL_WATCH = 122,                    /* WATCH  */
+  YYSYMBOL_ELECTRODE_CURRENT = 123,        /* ELECTRODE_CURRENT  */
+  YYSYMBOL_CONSTRUCTOR = 124,              /* CONSTRUCTOR  */
+  YYSYMBOL_DESTRUCTOR = 125,               /* DESTRUCTOR  */
+  YYSYMBOL_NETRECEIVE = 126,               /* NETRECEIVE  */
+  YYSYMBOL_FOR_NETCONS = 127,              /* FOR_NETCONS  */
+  YYSYMBOL_CONDUCTANCE = 128,              /* CONDUCTANCE  */
+  YYSYMBOL_GE = 129,                       /* GE  */
+  YYSYMBOL_130_ = 130,                     /* '%'  */
+  YYSYMBOL_UNARYMINUS = 131,               /* UNARYMINUS  */
+  YYSYMBOL_YYACCEPT = 132,                 /* $accept  */
+  YYSYMBOL_top = 133,                      /* top  */
+  YYSYMBOL_all = 134,                      /* all  */
+  YYSYMBOL_135_1 = 135,                    /* $@1  */
+  YYSYMBOL_136_2 = 136,                    /* $@2  */
+  YYSYMBOL_model = 137,                    /* model  */
+  YYSYMBOL_line = 138,                     /* line  */
+  YYSYMBOL_define1 = 139,                  /* define1  */
+  YYSYMBOL_Name = 140,                     /* Name  */
+  YYSYMBOL_declare = 141,                  /* declare  */
+  YYSYMBOL_parmblk = 142,                  /* parmblk  */
+  YYSYMBOL_parmbody = 143,                 /* parmbody  */
+  YYSYMBOL_parmasgn = 144,                 /* parmasgn  */
+  YYSYMBOL_units = 145,                    /* units  */
+  YYSYMBOL_unit = 146,                     /* unit  */
+  YYSYMBOL_147_3 = 147,                    /* @3  */
+  YYSYMBOL_uniton = 148,                   /* uniton  */
+  YYSYMBOL_limits = 149,                   /* limits  */
+  YYSYMBOL_stepblk = 150,                  /* stepblk  */
+  YYSYMBOL_stepbdy = 151,                  /* stepbdy  */
+  YYSYMBOL_stepped = 152,                  /* stepped  */
+  YYSYMBOL_numlist = 153,                  /* numlist  */
+  YYSYMBOL_name = 154,                     /* name  */
+  YYSYMBOL_number = 155,                   /* number  */
+  YYSYMBOL_NUMBER = 156,                   /* NUMBER  */
+  YYSYMBOL_integer = 157,                  /* integer  */
+  YYSYMBOL_real = 158,                     /* real  */
+  YYSYMBOL_indepblk = 159,                 /* indepblk  */
+  YYSYMBOL_indepbody = 160,                /* indepbody  */
+  YYSYMBOL_161_4 = 161,                    /* $@4  */
+  YYSYMBOL_indepdef = 162,                 /* indepdef  */
+  YYSYMBOL_withby = 163,                   /* withby  */
+  YYSYMBOL_depblk = 164,                   /* depblk  */
+  YYSYMBOL_165_5 = 165,                    /* $@5  */
+  YYSYMBOL_depbody = 166,                  /* depbody  */
+  YYSYMBOL_depdef = 167,                   /* depdef  */
+  YYSYMBOL_opstart = 168,                  /* opstart  */
+  YYSYMBOL_abstol = 169,                   /* abstol  */
+  YYSYMBOL_stateblk = 170,                 /* stateblk  */
+  YYSYMBOL_171_6 = 171,                    /* $@6  */
+  YYSYMBOL_plotdecl = 172,                 /* plotdecl  */
+  YYSYMBOL_pvlist = 173,                   /* pvlist  */
+  YYSYMBOL_optindex = 174,                 /* optindex  */
+  YYSYMBOL_proc = 175,                     /* proc  */
+  YYSYMBOL_176_7 = 176,                    /* $@7  */
+  YYSYMBOL_177_8 = 177,                    /* $@8  */
+  YYSYMBOL_178_9 = 178,                    /* $@9  */
+  YYSYMBOL_179_10 = 179,                   /* $@10  */
+  YYSYMBOL_180_11 = 180,                   /* $@11  */
+  YYSYMBOL_181_12 = 181,                   /* $@12  */
+  YYSYMBOL_182_13 = 182,                   /* $@13  */
+  YYSYMBOL_183_14 = 183,                   /* $@14  */
+  YYSYMBOL_184_15 = 184,                   /* $@15  */
+  YYSYMBOL_185_16 = 185,                   /* $@16  */
+  YYSYMBOL_186_17 = 186,                   /* $@17  */
+  YYSYMBOL_187_18 = 187,                   /* $@18  */
+  YYSYMBOL_188_19 = 188,                   /* $@19  */
+  YYSYMBOL_189_20 = 189,                   /* $@20  */
+  YYSYMBOL_190_21 = 190,                   /* $@21  */
+  YYSYMBOL_191_22 = 191,                   /* $@22  */
+  YYSYMBOL_192_23 = 192,                   /* $@23  */
+  YYSYMBOL_initblk = 193,                  /* initblk  */
+  YYSYMBOL_constructblk = 194,             /* constructblk  */
+  YYSYMBOL_destructblk = 195,              /* destructblk  */
+  YYSYMBOL_stmtlist = 196,                 /* stmtlist  */
+  YYSYMBOL_197_24 = 197,                   /* $@24  */
+  YYSYMBOL_conducthint = 198,              /* conducthint  */
+  YYSYMBOL_locallist = 199,                /* locallist  */
+  YYSYMBOL_200_25 = 200,                   /* $@25  */
+  YYSYMBOL_locallist1 = 201,               /* locallist1  */
+  YYSYMBOL_locoptarray = 202,              /* locoptarray  */
+  YYSYMBOL_stmtlist1 = 203,                /* stmtlist1  */
+  YYSYMBOL_204_26 = 204,                   /* $@26  */
+  YYSYMBOL_ostmt = 205,                    /* ostmt  */
+  YYSYMBOL_astmt = 206,                    /* astmt  */
+  YYSYMBOL_207_27 = 207,                   /* $@27  */
+  YYSYMBOL_208_28 = 208,                   /* $@28  */
+  YYSYMBOL_asgn = 209,                     /* asgn  */
+  YYSYMBOL_varname = 210,                  /* varname  */
+  YYSYMBOL_intexpr = 211,                  /* intexpr  */
+  YYSYMBOL_expr = 212,                     /* expr  */
+  YYSYMBOL_nonlineqn = 213,                /* nonlineqn  */
+  YYSYMBOL_lineqn = 214,                   /* lineqn  */
+  YYSYMBOL_leftlinexpr = 215,              /* leftlinexpr  */
+  YYSYMBOL_linexpr = 216,                  /* linexpr  */
+  YYSYMBOL_primary = 217,                  /* primary  */
+  YYSYMBOL_term = 218,                     /* term  */
+  YYSYMBOL_funccall = 219,                 /* funccall  */
+  YYSYMBOL_220_29 = 220,                   /* $@29  */
+  YYSYMBOL_exprlist = 221,                 /* exprlist  */
+  YYSYMBOL_fromstmt = 222,                 /* fromstmt  */
+  YYSYMBOL_223_30 = 223,                   /* $@30  */
+  YYSYMBOL_opinc = 224,                    /* opinc  */
+  YYSYMBOL_forallstmt = 225,               /* forallstmt  */
+  YYSYMBOL_226_31 = 226,                   /* $@31  */
+  YYSYMBOL_whilestmt = 227,                /* whilestmt  */
+  YYSYMBOL_ifstmt = 228,                   /* ifstmt  */
+  YYSYMBOL_optelseif = 229,                /* optelseif  */
+  YYSYMBOL_optelse = 230,                  /* optelse  */
+  YYSYMBOL_derivblk = 231,                 /* derivblk  */
+  YYSYMBOL_linblk = 232,                   /* linblk  */
+  YYSYMBOL_233_32 = 233,                   /* $@32  */
+  YYSYMBOL_nonlinblk = 234,                /* nonlinblk  */
+  YYSYMBOL_discretblk = 235,               /* discretblk  */
+  YYSYMBOL_partialblk = 236,               /* partialblk  */
+  YYSYMBOL_pareqn = 237,                   /* pareqn  */
+  YYSYMBOL_firstlast = 238,                /* firstlast  */
+  YYSYMBOL_functableblk = 239,             /* functableblk  */
+  YYSYMBOL_funcblk = 240,                  /* funcblk  */
+  YYSYMBOL_241_33 = 241,                   /* $@33  */
+  YYSYMBOL_arglist = 242,                  /* arglist  */
+  YYSYMBOL_243_34 = 243,                   /* $@34  */
+  YYSYMBOL_arglist1 = 244,                 /* arglist1  */
+  YYSYMBOL_procedblk = 245,                /* procedblk  */
+  YYSYMBOL_netrecblk = 246,                /* netrecblk  */
+  YYSYMBOL_247_35 = 247,                   /* $@35  */
+  YYSYMBOL_initstmt = 248,                 /* initstmt  */
+  YYSYMBOL_solveblk = 249,                 /* solveblk  */
+  YYSYMBOL_ifsolerr = 250,                 /* ifsolerr  */
+  YYSYMBOL_solvefor = 251,                 /* solvefor  */
+  YYSYMBOL_solvefor1 = 252,                /* solvefor1  */
+  YYSYMBOL_brkptblk = 253,                 /* brkptblk  */
+  YYSYMBOL_terminalblk = 254,              /* terminalblk  */
+  YYSYMBOL_bablk = 255,                    /* bablk  */
+  YYSYMBOL_watchstmt = 256,                /* watchstmt  */
+  YYSYMBOL_watch1 = 257,                   /* watch1  */
+  YYSYMBOL_watchdir = 258,                 /* watchdir  */
+  YYSYMBOL_fornetcon = 259,                /* fornetcon  */
+  YYSYMBOL_260_36 = 260,                   /* $@36  */
+  YYSYMBOL_aexpr = 261,                    /* aexpr  */
+  YYSYMBOL_sens = 262,                     /* sens  */
+  YYSYMBOL_senslist = 263,                 /* senslist  */
+  YYSYMBOL_conserve = 264,                 /* conserve  */
+  YYSYMBOL_265_37 = 265,                   /* $@37  */
+  YYSYMBOL_compart = 266,                  /* compart  */
+  YYSYMBOL_267_38 = 267,                   /* $@38  */
+  YYSYMBOL_ldifus = 268,                   /* ldifus  */
+  YYSYMBOL_269_39 = 269,                   /* $@39  */
+  YYSYMBOL_namelist = 270,                 /* namelist  */
+  YYSYMBOL_kineticblk = 271,               /* kineticblk  */
+  YYSYMBOL_reaction = 272,                 /* reaction  */
+  YYSYMBOL_273_40 = 273,                   /* $@40  */
+  YYSYMBOL_react = 274,                    /* react  */
+  YYSYMBOL_lagstmt = 275,                  /* lagstmt  */
+  YYSYMBOL_queuestmt = 276,                /* queuestmt  */
+  YYSYMBOL_matchblk = 277,                 /* matchblk  */
+  YYSYMBOL_278_41 = 278,                   /* $@41  */
+  YYSYMBOL_matchlist = 279,                /* matchlist  */
+  YYSYMBOL_match = 280,                    /* match  */
+  YYSYMBOL_matchname = 281,                /* matchname  */
+  YYSYMBOL_unitblk = 282,                  /* unitblk  */
+  YYSYMBOL_unitbody = 283,                 /* unitbody  */
+  YYSYMBOL_unitdef = 284,                  /* unitdef  */
+  YYSYMBOL_factordef = 285,                /* factordef  */
+  YYSYMBOL_constblk = 286,                 /* constblk  */
+  YYSYMBOL_conststmt = 287,                /* conststmt  */
+  YYSYMBOL_tablestmt = 288,                /* tablestmt  */
+  YYSYMBOL_tablst = 289,                   /* tablst  */
+  YYSYMBOL_tablst1 = 290,                  /* tablst1  */
+  YYSYMBOL_dependlst = 291,                /* dependlst  */
+  YYSYMBOL_neuronblk = 292,                /* neuronblk  */
+  YYSYMBOL_nrnstmt = 293,                  /* nrnstmt  */
+  YYSYMBOL_nrnuse = 294,                   /* nrnuse  */
+  YYSYMBOL_optontology = 295,              /* optontology  */
+  YYSYMBOL_nrnlist = 296,                  /* nrnlist  */
+  YYSYMBOL_optnrnlist = 297,               /* optnrnlist  */
+  YYSYMBOL_valence = 298                   /* valence  */
+};
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+   <limits.h> and (if available) <stdint.h> are included
+   so that the code can choose integer types of a good width.  */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+#  define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+   signed or unsigned integer of at least N bits.  In tables they can
+   save space and decrease cache pressure.  Promoting to a signed type
+   helps avoid bugs in integer arithmetic.  */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+#  ifndef ptrdiff_t
+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  endif
+#  define YYPTRDIFF_T ptrdiff_t
+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+#  define YYPTRDIFF_T long
+#  define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM                                  \
+  YY_CAST (YYPTRDIFF_T,                                 \
+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
+            ? YYPTRDIFF_MAXIMUM                         \
+            : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations.  */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(E) /* empty */
+#endif
+
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
+# else
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# endif
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
+    _Pragma ("GCC diagnostic push")                            \
+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END            \
+    _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+             && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* !defined yyoverflow */
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yy_state_t yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYPTRDIFF_T yynewbytes;                                         \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
+      }                                                                 \
+    while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYPTRDIFF_T yyi;                      \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  4
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   1333
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  132
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  167
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  396
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  780
+
+/* YYMAXUTOK -- Last valid token kind.  */
+#define YYMAXUTOK   369
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
+#define YYTRANSLATE(YYX)                                \
+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
+   : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,   130,     2,     2,
+      58,    59,    64,    63,    70,    65,     2,    66,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    69,     2,
+       2,    67,     2,     2,    62,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    60,     2,    61,    68,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    56,     2,    57,    71,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   131
+};
+
+#if YYDEBUG
+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+static const yytype_int16 yyrline[] =
+{
+       0,   133,   133,   134,   136,   137,   138,   151,   152,   153,
+     153,   156,   155,   161,   170,   177,   178,   181,   185,   187,
+     196,   198,   204,   204,   204,   204,   204,   205,   205,   205,
+     205,   207,   209,   210,   214,   218,   220,   225,   227,   228,
+     230,   230,   234,   235,   238,   239,   245,   247,   248,   251,
+     255,   256,   258,   259,   261,   262,   269,   269,   271,   272,
+     274,   275,   281,   283,   284,   286,   286,   291,   296,   298,
+     300,   300,   302,   303,   306,   310,   316,   320,   326,   330,
+     331,   334,   335,   340,   340,   342,   347,   349,   357,   361,
+     362,   365,   365,   367,   367,   368,   368,   369,   369,   370,
+     370,   371,   371,   372,   372,   373,   373,   374,   374,   375,
+     375,   376,   376,   377,   377,   378,   378,   379,   379,   380,
+     380,   381,   381,   382,   382,   384,   387,   390,   393,   393,
+     394,   397,   399,   403,   402,   412,   414,   429,   444,   445,
+     448,   449,   449,   451,   453,   454,   455,   456,   457,   458,
+     459,   460,   470,   472,   473,   474,   475,   476,   477,   478,
+     480,   481,   482,   486,   487,   488,   489,   490,   491,   492,
+     495,   498,   498,   502,   502,   505,   509,   533,   542,   549,
+     564,   587,   590,   594,   602,   603,   604,   605,   606,   607,
+     608,   612,   614,   615,   616,   617,   618,   619,   620,   621,
+     622,   625,   626,   627,   628,   629,   630,   631,   632,   633,
+     634,   635,   637,   639,   644,   646,   649,   652,   655,   659,
+     665,   671,   677,   678,   679,   681,   684,   689,   688,   706,
+     707,   708,   709,   710,   712,   712,   735,   738,   739,   741,
+     741,   760,   763,   765,   767,   768,   775,   776,   783,   787,
+     787,   793,   799,   803,   808,   812,   814,   816,   819,   819,
+     821,   849,   848,   877,   878,   878,   880,   884,   889,   908,
+     907,   925,   927,   935,   938,   940,   943,   944,   948,   952,
+     954,   958,   960,   962,   966,   969,   971,   973,   975,   977,
+     979,   981,   983,   985,   988,   989,   991,   991,  1001,  1003,
+    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1014,  1015,
+    1018,  1023,  1025,  1028,  1032,  1032,  1036,  1039,  1038,  1042,
+    1046,  1045,  1049,  1052,  1053,  1055,  1062,  1062,  1064,  1066,
+    1068,  1070,  1071,  1072,  1073,  1075,  1077,  1079,  1080,  1082,
+    1082,  1085,  1086,  1088,  1090,  1097,  1101,  1103,  1108,  1112,
+    1113,  1114,  1116,  1118,  1120,  1126,  1132,  1138,  1144,  1146,
+    1147,  1154,  1169,  1172,  1173,  1175,  1177,  1181,  1182,  1185,
+    1188,  1189,  1191,  1192,  1193,  1195,  1197,  1199,  1201,  1203,
+    1205,  1207,  1209,  1212,  1214,  1216,  1218,  1221,  1222,  1224,
+    1225,  1227,  1231,  1232,  1235,  1236,  1238
+};
+#endif
+
+/** Accessing symbol of state STATE.  */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+   YYSYMBOL.  No bounds checking.  */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "\"end of file\"", "error", "\"invalid token\"", "VERBATIM", "COMMENT",
+  "MODEL", "CONSTANT", "INDEPENDENT", "DEPENDENT", "STATE", "INITIAL1",
+  "DERIVATIVE", "SOLVE", "USING", "WITH", "STEPPED", "DISCRETE", "FROM",
+  "FORALL1", "TO", "BY", "WHILE", "IF", "ELSE", "START1", "STEP", "SENS",
+  "SOLVEFOR", "PROCEDURE", "PARTIAL", "DEL", "DEL2", "DEFINE1", "IFERROR",
+  "PARAMETER", "INT", "DERFUNC", "EQUATION", "TERMINAL", "LINEAR",
+  "NONLINEAR", "FUNCTION1", "LOCAL", "METHOD", "LIN1", "NONLIN1", "PUTQ",
+  "GETQ", "TABLE", "DEPEND", "BREAKPOINT", "INCLUDE1", "FUNCTION_TABLE",
+  "PROTECT", "NRNMUTEXLOCK", "NRNMUTEXUNLOCK", "'{'", "'}'", "'('", "')'",
+  "'['", "']'", "'@'", "'+'", "'*'", "'-'", "'/'", "'='", "'^'", "':'",
+  "','", "'~'", "OR", "AND", "GT", "LT", "LE", "EQ", "NE", "NOT", "NAME",
+  "PRIME", "REAL", "INTEGER", "DEFINEDVAR", "ONTOLOGY_ID", "STRING",
+  "PLOT", "VS", "LAG", "RESET", "MATCH", "MODEL_LEVEL", "SWEEP", "FIRST",
+  "LAST", "KINETIC", "CONSERVE", "REACTION", "REACT1", "COMPARTMENT",
+  "UNITS", "UNITSON", "UNITSOFF", "LONGDIFUS", "NEURON", "SUFFIX",
+  "NONSPECIFIC", "READ", "WRITE", "USEION", "VALENCE", "THREADSAFE",
+  "REPRESENTS", "GLOBAL", "SECTION", "RANGE", "POINTER", "BBCOREPOINTER",
+  "EXTERNAL", "BEFORE", "AFTER", "WATCH", "ELECTRODE_CURRENT",
+  "CONSTRUCTOR", "DESTRUCTOR", "NETRECEIVE", "FOR_NETCONS", "CONDUCTANCE",
+  "GE", "'%'", "UNARYMINUS", "$accept", "top", "all", "$@1", "$@2",
+  "model", "line", "define1", "Name", "declare", "parmblk", "parmbody",
+  "parmasgn", "units", "unit", "@3", "uniton", "limits", "stepblk",
+  "stepbdy", "stepped", "numlist", "name", "number", "NUMBER", "integer",
+  "real", "indepblk", "indepbody", "$@4", "indepdef", "withby", "depblk",
+  "$@5", "depbody", "depdef", "opstart", "abstol", "stateblk", "$@6",
+  "plotdecl", "pvlist", "optindex", "proc", "$@7", "$@8", "$@9", "$@10",
+  "$@11", "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19",
+  "$@20", "$@21", "$@22", "$@23", "initblk", "constructblk", "destructblk",
+  "stmtlist", "$@24", "conducthint", "locallist", "$@25", "locallist1",
+  "locoptarray", "stmtlist1", "$@26", "ostmt", "astmt", "$@27", "$@28",
+  "asgn", "varname", "intexpr", "expr", "nonlineqn", "lineqn",
+  "leftlinexpr", "linexpr", "primary", "term", "funccall", "$@29",
+  "exprlist", "fromstmt", "$@30", "opinc", "forallstmt", "$@31",
+  "whilestmt", "ifstmt", "optelseif", "optelse", "derivblk", "linblk",
+  "$@32", "nonlinblk", "discretblk", "partialblk", "pareqn", "firstlast",
+  "functableblk", "funcblk", "$@33", "arglist", "$@34", "arglist1",
+  "procedblk", "netrecblk", "$@35", "initstmt", "solveblk", "ifsolerr",
+  "solvefor", "solvefor1", "brkptblk", "terminalblk", "bablk", "watchstmt",
+  "watch1", "watchdir", "fornetcon", "$@36", "aexpr", "sens", "senslist",
+  "conserve", "$@37", "compart", "$@38", "ldifus", "$@39", "namelist",
+  "kineticblk", "reaction", "$@40", "react", "lagstmt", "queuestmt",
+  "matchblk", "$@41", "matchlist", "match", "matchname", "unitblk",
+  "unitbody", "unitdef", "factordef", "constblk", "conststmt", "tablestmt",
+  "tablst", "tablst1", "dependlst", "neuronblk", "nrnstmt", "nrnuse",
+  "optontology", "nrnlist", "optnrnlist", "valence", YY_NULLPTR
+};
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+  return yytname[yysymbol];
+}
+#endif
+
+#define YYPACT_NINF (-566)
+
+#define yypact_value_is_default(Yyn) \
+  ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-393)
+
+#define yytable_value_is_error(Yyn) \
+  0
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+static const yytype_int16 yypact[] =
+{
+     685,  -566,    60,   789,  -566,  -566,  -566,  -566,    73,   111,
+    -566,  -566,   180,    30,   200,    34,   182,    61,   118,   244,
+    -566,  -566,   275,   533,  -566,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
+    -566,   294,   323,  -566,  -566,   298,  -566,  -566,   333,  -566,
+    -566,  -566,  -566,  -566,   359,   -30,  -566,  -566,  -566,  -566,
+     413,   416,   384,   401,   418,   426,   464,   354,   456,   504,
+     495,   442,   417,   431,   518,   461,   479,   115,    22,  -566,
+    -566,   155,  -566,   175,   551,   544,   537,  -566,   204,   204,
+     320,   163,  1140,   560,  -566,   555,  -566,   560,  -566,   558,
+    -566,   561,  -566,   591,  -566,   593,  -566,    20,  -566,   560,
+    -566,   604,  -566,    58,  -566,   619,  -566,   560,  -566,   560,
+    -566,   623,  -566,   574,   574,  -566,   615,  -566,  -566,   605,
+    -566,  -566,    76,    98,  -566,   638,  -566,  -566,  -566,   366,
+    -566,   449,  -566,   627,   648,   359,   359,  -566,  -566,  -566,
+    -566,   645,     8,  -566,  -566,  -566,   640,   134,   189,   201,
+     633,   134,   134,   134,   134,   134,   134,   134,  -566,   680,
+     686,   560,   688,   713,   713,   684,   692,  -566,   693,   696,
+     560,  -566,   560,   713,   705,   707,   709,  -566,   560,   560,
+     560,   560,  -566,  -566,   322,   322,   232,  -566,  -566,    44,
+    -566,  -566,   322,   449,   322,   695,  -566,  -566,  -566,   710,
+     551,  -566,  -566,  -566,   714,   407,  -566,   717,  -566,  -566,
+    -566,   698,  -566,   427,   698,  -566,  -566,   698,   698,   698,
+     698,   698,   698,   698,  -566,  -566,  -566,   722,  -566,   241,
+    -566,   706,   560,   693,   693,   732,   204,  -566,   742,   743,
+     560,  -566,  -566,   693,   746,   751,   760,   765,   367,  -566,
+     717,  -566,  -566,   788,  -566,   322,   322,   449,   717,   149,
+     758,   769,   717,   483,  -566,  -566,  -566,  -566,  -566,    66,
+    -566,   717,  -566,   749,   134,   134,   630,   721,  -566,  -566,
+    -566,   560,   752,   781,   796,   805,  -566,   717,   798,  -566,
+    -566,   809,   808,  -566,  -566,  -566,  -566,  -566,  -566,   322,
+     858,  -566,   817,   804,   322,  -566,   322,   717,   695,   810,
+     811,  -566,  -566,  -566,   255,    14,  -566,  -566,  -566,   -26,
+     822,   542,  -566,   785,  -566,   819,   650,   293,  -566,   827,
+    -566,  -566,   717,   717,   560,  -566,   204,  -566,   717,   873,
+     322,   374,   483,  -566,  -566,  -566,   695,  -566,   483,   717,
+     134,   371,   776,   776,   316,  -566,   449,   196,  -566,  -566,
+    -566,   560,   258,   261,   269,   835,   841,   106,   204,   204,
+     212,  -566,  -566,    40,   143,  -566,  -566,    25,   762,   768,
+      23,    32,   821,  -566,   845,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,   833,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,    68,  -566,   650,  -566,   650,   650,
+     650,   717,  -566,  1116,  -566,  -566,   650,   364,  -566,  -566,
+     846,    33,   240,  -566,  -566,  -566,  -566,   560,   857,   717,
+    -566,  -566,   449,   888,   322,   717,   842,  -566,   843,  -566,
+      14,   483,  -566,   830,  -566,  -566,   860,  -566,   207,   864,
+    -566,   867,   196,  -566,  -566,   719,   879,  -566,    21,  -566,
+    -566,  -566,  -566,   650,   650,  -566,  -566,   865,  -566,  -566,
+    -566,  -566,   889,   869,   868,   877,   880,  -566,   920,   893,
+    -566,   467,   350,   797,   452,   832,  -566,   511,  -566,  -566,
+     693,   847,  -566,   887,  -566,   497,  -566,   315,  1158,   899,
+     891,   891,  -566,   650,   650,   650,   650,   650,   650,   650,
+     650,   650,   650,   650,   650,   650,   650,   922,   240,   293,
+     364,   364,   364,   364,   560,   903,  -566,  -566,   888,   717,
+     947,   804,  -566,  -566,   776,  -566,  -566,  -566,  1158,   178,
+     196,   650,   613,  -566,   196,   196,   196,   196,  -566,   925,
+     560,  -566,   902,   560,   945,   966,   497,   821,   953,   821,
+     918,   515,   900,   909,   145,    13,  -566,   911,  -566,   911,
+    -566,   511,   511,   717,  -566,  -566,   750,   923,   912,  -566,
+    -566,   467,   905,   908,  -566,  -566,   447,   891,   447,   891,
+    1158,   891,   453,  1204,   771,   771,   771,   771,   771,   771,
+    -566,    33,   240,   240,  -566,  -566,   936,  -566,   717,   804,
+     322,  -566,  -566,  -566,   522,   793,   989,  -566,   273,  -566,
+     273,  -566,   968,   946,   196,   948,   560,   560,  -566,   869,
+     650,  -566,   515,  -566,  -566,   941,   942,  -566,  -566,   181,
+     165,  -566,   954,   650,   650,  -566,   276,   650,   279,   562,
+     956,  -566,   511,   511,   511,   511,   511,  -566,  -566,   511,
+    -566,  -566,   497,  -566,   957,   958,   467,  -566,  -566,  -566,
+     888,  -566,  1158,  -566,  -566,  -566,  -566,   420,  -566,   969,
+     970,   683,   972,   978,   983,   955,  -566,  -566,   650,  1158,
+     855,  -566,  -566,   878,  -566,  -566,   489,   956,   489,   956,
+     956,   584,   560,  -566,   650,   650,   430,   717,   196,  -566,
+    -566,   650,   979,   650,   991,   975,  1012,   911,   911,   483,
+     980,  1033,  1056,   650,   804,   597,  1024,   396,   650,  1158,
+     976,  -566,   992,   312,   313,  -566,  -566,  -566,  -566,  1137,
+    -566,   196,   560,    15,  -566,   967,  1158,   999,   650,  -566,
+    -566,   650,   602,  1003,  1010,  1013,  -566,  1006,  1158,  1079,
+    -566,   650,  -566,   993,  -566,  1100,  -566,   560,  1015,  -566
+};
+
+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE does not specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_int16 yydefact[] =
+{
+       0,     3,     0,    11,     1,    13,    14,    18,     0,     0,
+      70,    83,     0,     0,     0,     0,     0,     0,     0,     0,
+      42,    43,     0,    91,     5,     7,     8,    22,    15,    26,
+      23,    24,    25,    27,     6,    29,    30,    28,    17,   359,
+      63,     0,     0,    47,    20,     0,    32,   135,     0,    16,
+      86,    21,    53,    52,    89,     0,     9,   349,   370,    12,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
+      72,     0,    19,     0,   138,   134,     0,    87,     0,     0,
+       0,     0,     0,     0,    92,     0,    94,     0,    96,     0,
+      98,     0,   100,     0,   102,     0,   104,     0,   106,     0,
+     108,     0,   110,     0,   112,     0,   114,     0,   116,     0,
+     118,     0,   120,     0,     0,   358,     0,    68,    62,     0,
+      65,    64,     0,     0,    46,     0,    48,    37,    31,    38,
+      33,     0,   136,     0,     0,    89,    89,    10,   357,   348,
+      40,     0,     0,   350,   351,   369,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   372,   128,
+       0,     0,     0,   278,   278,     0,     0,   271,   264,     0,
+       0,   254,     0,   278,     0,     0,     0,   289,     0,     0,
+       0,     0,   122,   124,     0,     0,     0,    78,    71,    79,
+      73,    84,     0,     0,     0,    44,    39,    58,    59,     0,
+     138,    90,    88,    85,     0,     0,   353,     0,   371,   391,
+     389,   374,   386,     0,   393,   382,   373,   378,   376,   377,
+     379,   380,   381,   375,   140,   140,   125,     0,   283,     0,
+     249,   279,     0,   264,   264,     0,     0,   284,     0,     0,
+       0,   126,   127,   264,     0,     0,     0,     0,     0,    57,
+      38,    54,    56,     0,    66,     0,     0,     0,    38,    38,
+       0,     0,    38,     0,    35,   139,   137,    41,    60,     0,
+      61,     0,   352,     0,     0,     0,   141,   141,   248,   282,
+     280,     0,     0,     0,     0,     0,   269,    38,   265,   252,
+     253,     0,     0,   287,   286,   288,   285,    55,   360,     0,
+       0,    80,     0,    81,     0,    49,     0,    38,    44,     0,
+       0,   355,   354,   390,   394,   394,   213,   212,   171,    21,
+     179,     0,   143,     0,   170,     0,     0,     0,   175,     0,
+     281,   251,    38,    38,     0,   266,     0,   325,    38,     0,
+       0,    79,     0,    74,    51,    50,    44,    34,     0,     0,
+       0,     0,   387,   387,     0,   227,     0,     0,   169,   151,
+     152,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   167,   168,     0,     0,   159,   339,     0,     0,     0,
+       0,     0,     0,   163,     0,   150,   142,   144,   145,   146,
+     147,   161,   164,   149,   165,   166,   153,   156,   154,   155,
+     157,   158,   160,   162,     0,   174,     0,   211,     0,     0,
+       0,    38,   192,     0,   194,   226,     0,     0,   223,   222,
+       0,   214,   215,   219,   224,   250,   261,     0,     0,    38,
+     260,    69,     0,    79,     0,    38,     0,    36,     0,   356,
+     394,     0,   395,     0,   383,   384,    21,   172,     0,   181,
+     191,     0,     0,   183,   184,     0,     0,   275,   276,   236,
+     234,   241,   239,     0,     0,   311,   312,   310,   337,   338,
+     362,   365,   367,   364,     0,     0,     0,   336,     0,     0,
+     316,     0,    21,     0,    21,     0,   292,     0,   290,   298,
+     264,   131,   148,     0,   330,     0,   331,     0,   176,     0,
+     210,   209,   193,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
+       0,     0,     0,     0,     0,     0,   270,   267,    79,    38,
+       0,    81,    82,    45,   387,   396,   388,   231,   230,     0,
+       0,     0,     0,   180,     0,     0,     0,     0,   272,     0,
+       0,   273,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   317,     0,   320,     0,
+     309,     0,     0,    38,   299,   301,     0,     0,     0,   291,
+     332,     0,     0,     0,   326,   195,   196,   198,   197,   199,
+     177,   200,   201,   202,   203,   204,   206,   207,   208,   205,
+     225,   178,   217,   218,   220,   221,     0,   268,    38,    81,
+       0,    75,   385,   228,     0,     0,     0,   185,   186,   188,
+     187,   189,   276,     0,     0,     0,     0,     0,   313,   368,
+       0,   366,     0,   258,   259,     0,     0,   335,   345,   343,
+       0,   341,     0,     0,     0,   323,     0,     0,     0,     0,
+     308,   300,     0,     0,     0,     0,     0,   294,   295,     0,
+     296,   132,     0,   333,     0,     0,     0,   262,    67,    76,
+      79,   233,   232,   182,   190,   274,   277,     0,   240,     0,
+       0,     0,     0,     0,     0,     0,   340,   342,     0,   315,
+       0,   319,   324,     0,   322,   302,   303,   305,   304,   306,
+     307,     0,     0,   334,     0,     0,     0,    38,     0,   242,
+     244,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    81,   237,   246,     0,     0,   257,
+       0,   347,     0,     0,     0,   293,   297,   329,   328,     0,
+      77,     0,     0,     0,   243,     0,   256,     0,     0,   318,
+     321,     0,   238,     0,     0,     0,   361,     0,   344,     0,
+     235,     0,   247,     0,   327,     0,   255,     0,     0,   245
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -351,  1001,
+    -566,  -566,  -566,  -230,   -81,  -566,   748,  -274,  -566,  -566,
+    -566,  -566,   -16,  -177,   823,  -139,  -187,  -566,  -566,  -566,
+     886,  -566,  -566,  -566,  1014,  -566,  -346,  -524,  -566,  -566,
+    -566,  -566,   473,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,   -97,  -566,  -566,   914,  -566,  -566,
+     883,   881,  -566,  -566,  -566,  -566,  -566,   736,  -234,  -396,
+     -17,  -566,  -566,  -566,   573,  -408,   206,  -280,  -566,  -566,
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,
+    -566,  -566,  -566,  -566,  -566,  -566,   462,  -566,  -566,  -566,
+    -240,  -566,  -566,  -566,  -566,  -566,  -566,  -566,   471,    99,
+    -566,  -566,  -566,   988,  -566,   610,  -566,  -566,  -566,  -481,
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,  -565,  -566,
+    -566,  -566,  -480,  -566,  -566,  -566,  -566,  -566,   475,  -566,
+    -566,  -566,  -566,  -566,  -566,  -566,  -566,  -566,   547,  -566,
+    -566,  -566,  -566,  -355,  -116,  -566,  -310
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+       0,     2,     3,    90,    23,    24,    38,    25,    53,    26,
+      27,    83,   140,   205,   206,   214,    28,   274,    29,    81,
+     136,   269,   330,   260,   261,   280,   421,    30,    78,   196,
+     131,   442,    31,    41,   132,   200,   268,   353,    32,    42,
+      33,    55,    87,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    94,   118,   120,   170,   234,   395,    34,    48,    85,
+     142,   286,   331,   396,   332,   364,   333,   334,   422,   465,
+     423,   336,   337,   430,   431,   432,   433,   424,   458,   549,
+     397,   562,   752,   398,   563,   399,   400,   736,   754,    96,
+     100,   291,   102,   112,   114,   401,   645,   122,   104,   534,
+     245,   246,   298,   106,   108,   344,   402,   403,   561,   240,
+     241,    98,   110,   192,   404,   498,   669,   405,   712,   586,
+     406,   477,   407,   491,   408,   654,   409,   657,   656,   116,
+     415,   676,   507,   410,   411,   412,   489,   650,   651,   652,
+      35,    91,   153,   154,    36,    77,   413,   482,   483,   568,
+      37,    92,   168,   454,   221,   225,   362
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule whose
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+static const yytype_int16 yytable[] =
+{
+     172,    54,   209,   294,   295,   445,   338,   338,   455,   216,
+     152,   575,   179,   302,   658,   363,   463,   621,   263,   528,
+     184,   177,   185,   127,   496,   270,   490,   272,   281,   481,
+     308,    44,   365,   499,   559,    47,   366,   764,   313,   315,
+      88,   501,   318,   224,   357,   227,   228,   229,   230,   231,
+     232,   233,   335,   335,   560,   262,   262,   434,    89,   181,
+       4,   265,    50,   262,   271,   262,   552,   345,   266,   504,
+     484,   169,   145,   146,   237,   217,   591,   197,   178,   128,
+     653,   497,   447,   248,   283,   249,   319,   356,   310,   311,
+     500,   254,   255,   256,   257,   679,   530,   539,   531,   197,
+     659,   660,   129,   429,   267,  -314,  -314,   475,  -314,  -314,
+      45,   463,   436,   437,  -133,   130,   199,   199,   440,   262,
+     485,   486,   612,   613,   150,   361,   262,   262,   312,    39,
+     335,   320,   349,   198,   279,   219,   282,   354,   182,   355,
+     544,    51,    52,   476,   487,   293,   648,   434,   456,    52,
+     428,   207,   208,   301,   625,   201,    51,    52,   628,   629,
+     630,   631,   743,   744,   148,   446,   648,    40,   324,   325,
+     262,   448,   125,   443,   452,   262,   137,   262,    51,    52,
+     506,   706,   707,   708,   709,   710,   456,    52,   711,   622,
+     222,   512,   618,   429,   339,   126,   716,   460,   321,   463,
+     322,    56,   219,   463,   463,   463,   463,   150,   417,   537,
+     750,   262,   134,   480,   220,   541,   481,   585,   641,   314,
+     149,   150,   696,    51,    52,    51,    52,   459,   464,  -363,
+     297,   461,   138,   127,   394,   135,    43,   623,   687,  -346,
+     428,   695,   289,   151,   450,    51,    52,   438,   624,   434,
+     434,   434,   434,   434,   462,   139,    46,   506,  -392,   467,
+     587,  -363,   469,   584,   545,   418,  -229,   540,    49,   223,
+     471,   590,   419,   242,   466,   505,    51,  -229,   449,   207,
+     208,   220,   250,   463,    51,    52,   420,   329,    52,   278,
+     207,   208,    51,   547,   425,   429,   429,   429,   429,   429,
+      57,   585,   585,   538,   532,   262,   533,  -392,  -392,   619,
+     583,  -392,   129,  -392,  -392,  -392,  -392,  -392,  -392,  -392,
+    -392,   290,   735,   464,  -392,   283,     8,     9,    10,    11,
+     439,    58,   638,   701,   717,    12,   704,   555,   468,   557,
+     535,   470,   428,   428,   428,   428,   428,   584,   584,   472,
+      79,   426,   505,   661,    14,   762,   702,   673,   427,   702,
+     326,   327,   478,   479,   360,   425,   361,   463,   488,   759,
+     760,   493,   495,   329,    52,   278,   207,   208,   591,    80,
+     592,    82,   585,   585,   585,   585,   585,   258,   678,   585,
+     593,   444,   702,   702,   583,   583,   456,    52,   266,   508,
+     463,   509,   510,   511,   259,   207,   208,    17,   365,   527,
+     755,   464,   366,    84,   594,   464,   464,   464,   464,    86,
+     576,    19,   426,    93,   150,    22,   203,    95,   584,   584,
+     584,   584,   584,   204,    97,   584,   451,   616,   713,   718,
+      99,   548,   506,   680,   329,    52,   278,   207,   208,   259,
+     207,   208,   672,   278,   207,   208,   564,   565,   101,   513,
+     514,   515,   516,   633,   518,   150,   635,   103,   519,   520,
+     521,   522,   523,   524,   525,   583,   583,   583,   583,   583,
+     107,   262,   583,   554,   555,   556,   557,   734,   733,   278,
+     207,   208,   105,   591,   109,   464,   596,   597,   598,   599,
+     600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
+     365,   514,   580,   516,   366,   518,   513,   514,   515,   516,
+     111,   518,   578,   417,   113,   526,   520,   521,   522,   523,
+     524,   525,   207,   208,   626,   284,   285,   505,   115,   689,
+     690,   117,   745,   368,   -93,   369,   370,   456,    52,  -109,
+     207,   208,   371,   663,   372,   665,   119,   666,   649,   373,
+     374,  -103,  -111,   375,   376,   278,   207,   208,   377,   581,
+     121,  -107,   -97,   -99,  -101,   187,   582,   456,    52,   464,
+     418,   123,   526,   -95,   188,  -119,   189,   419,   378,   379,
+     380,   329,    52,   278,   207,   208,   381,   382,   169,   190,
+     124,   420,   329,    52,   278,   207,   208,   682,   681,   643,
+     644,   141,   464,   383,   143,   730,   169,   751,   212,   213,
+     144,   705,   195,   691,   191,   662,   663,   664,   665,  -113,
+     666,   384,   385,   386,   649,   171,   699,   700,   173,   387,
+     703,   174,   388,   729,    20,    21,   389,   662,   663,   664,
+     665,   417,   666,  -121,  -123,   763,   765,  -115,  -117,  -105,
+     554,   555,   556,   557,   390,   554,   555,   556,   557,   391,
+     392,   175,   627,   176,   326,   327,   554,   555,   556,   557,
+     778,   726,   194,   328,   180,    -4,     1,  -129,    -4,    -4,
+      -4,    -4,    -4,    -4,    -4,    -4,    -4,   731,   732,   183,
+      -4,    -4,   721,   186,   737,   202,   739,   210,   418,   211,
+     329,    52,   215,    -4,    -4,   419,   749,    -4,   226,    -4,
+     218,   756,    15,    -4,    -4,    -4,    -4,    -4,  -173,   420,
+     329,    52,   278,   207,   208,    -4,    -4,    -4,   614,   615,
+     239,   768,   243,   236,   769,   238,   513,   514,   515,   516,
+     244,   518,  -263,   247,   775,   519,   520,   521,   522,   523,
+     524,   525,   251,   417,   252,   326,   327,   253,   283,   417,
+     273,   275,    -4,   277,   328,   150,   292,    -4,  -130,   288,
+     553,    -4,   554,   555,   556,   557,    -4,    -4,    -4,    -2,
+      -4,   296,     5,     6,     7,     8,     9,    10,    11,   299,
+     300,   329,    52,   303,    12,    -4,    -4,   309,   304,    -4,
+      -4,    -4,   526,   662,   663,   664,   665,   305,   666,  -173,
+     418,    13,   306,    14,   667,   668,   418,   419,   316,   323,
+     317,    15,   340,   419,   513,   514,   515,   516,   341,   518,
+      16,   420,   492,    52,   278,   207,   208,   420,   494,    52,
+     278,   207,   208,   577,   683,   342,   554,   555,   556,   557,
+     513,   514,   515,   516,   343,   518,   347,   348,   346,   519,
+     520,   521,   522,   523,   524,   525,    17,   350,   351,   352,
+     358,    18,   367,   414,   435,   359,   416,   441,   579,   453,
+      19,    20,    21,   473,    22,   513,   514,   515,   516,   474,
+     518,    51,   502,   503,   519,   520,   521,   522,   523,   524,
+     525,   727,   266,   529,   536,   546,   542,   543,   513,   514,
+     515,   516,   366,   518,   550,   551,   526,   519,   520,   521,
+     522,   523,   524,   525,   728,   566,   558,   571,   567,   569,
+     573,   513,   514,   515,   516,   497,   518,   572,   570,   574,
+     519,   520,   521,   522,   523,   524,   525,   588,   595,   518,
+     617,   526,   513,   514,   515,   516,   620,   518,   632,   634,
+     640,   519,   520,   521,   522,   523,   524,   525,   642,   674,
+     646,   610,   670,   675,   526,   513,   514,   515,   516,   647,
+     518,   655,   671,   677,   519,   520,   521,   522,   523,   524,
+     525,   560,   693,   686,   636,   688,   694,   526,   513,   514,
+     515,   516,   698,   518,   724,   714,   715,   519,   520,   521,
+     522,   523,   524,   525,   666,   637,   719,   720,   526,   513,
+     514,   515,   516,   722,   518,   725,   741,   746,   519,   520,
+     521,   522,   523,   524,   525,   723,   738,   753,   684,   740,
+     766,   526,   513,   514,   515,   516,   757,   518,   767,   758,
+     770,   519,   520,   521,   522,   523,   524,   525,   771,   773,
+     772,   742,   779,   776,   526,   513,   514,   515,   516,   393,
+     518,   307,   264,   235,   519,   520,   521,   522,   523,   524,
+     525,   147,   747,   276,   133,   526,   513,   514,   515,   516,
+     457,   518,   611,   685,   692,   519,   520,   521,   522,   523,
+     524,   525,   193,   589,   639,   748,   287,     0,   526,   513,
+     514,   515,   516,     0,   518,   697,     0,     0,   519,   520,
+     521,   522,   523,   524,   525,     0,     0,     0,   774,     0,
+       0,   526,   513,   514,   515,   516,     0,   518,     0,     0,
+       0,   519,   520,   521,   522,   523,   524,   525,     0,   777,
+       0,     0,   526,   513,   514,   515,   516,     0,   518,     0,
+       0,     0,   519,   520,   521,   522,   523,   524,   525,   513,
+     514,   515,   516,   517,   518,   526,     0,     0,   519,   520,
+     521,   522,   523,   524,   525,     0,     0,   155,     0,     0,
+     513,   514,   515,   516,     0,   518,     0,   761,   526,   519,
+     520,   521,   522,   523,   524,   525,     0,     0,     0,     0,
+       0,   513,   514,   515,   516,     0,   518,     0,     0,   526,
+     519,   520,   521,   522,   523,   524,   525,     0,     0,     0,
+       0,     0,     0,     0,     0,   526,   156,   157,     0,     0,
+     158,     0,   159,   160,   161,   162,   163,   164,   165,   166,
+       0,     0,     0,   167,     0,     0,   526,   513,   514,   515,
+     516,     0,   518,     0,     0,     0,     0,     0,   521,   522,
+     523,   524,   525,     0,     0,     0,     0,   526,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   526
+};
+
+static const yytype_int16 yycheck[] =
+{
+      97,    17,   141,   243,   244,   351,   286,   287,   363,     1,
+      91,   491,   109,   253,   579,   325,   367,   541,   195,   427,
+     117,     1,   119,     1,     1,   202,     1,   204,   215,   380,
+     260,     1,    58,     1,    13,     1,    62,    22,   268,   269,
+      70,   392,   272,   159,   318,   161,   162,   163,   164,   165,
+     166,   167,   286,   287,    33,   194,   195,   337,    88,     1,
+       0,    17,     1,   202,   203,   204,   462,   297,    24,     1,
+      30,    56,    88,    89,   171,    67,    63,     1,    58,    57,
+      67,    58,   356,   180,    70,   182,   273,   317,   265,   266,
+      58,   188,   189,   190,   191,   619,    63,   443,    65,     1,
+     581,   582,    80,   337,    60,    80,    81,     1,    83,    84,
+      80,   462,   342,   343,    80,    93,   132,   133,   348,   258,
+      80,    81,   530,   531,    58,   111,   265,   266,   267,    56,
+     364,    65,   309,    57,   215,     1,   217,   314,    80,   316,
+     450,    80,    81,   377,     1,   242,     1,   427,    80,    81,
+     337,    83,    84,   250,   550,    57,    80,    81,   554,   555,
+     556,   557,   727,   728,     1,   352,     1,    56,   284,   285,
+     309,   358,    57,   350,   361,   314,     1,   316,    80,    81,
+     414,   662,   663,   664,   665,   666,    80,    81,   669,   544,
+       1,   421,   538,   427,   291,    80,   676,     1,   279,   550,
+     281,    83,     1,   554,   555,   556,   557,    58,     1,   439,
+     734,   350,    57,     1,    80,   445,   567,   497,   569,    70,
+      57,    58,    57,    80,    81,    80,    81,   366,   367,    17,
+     246,    35,    57,     1,   331,    80,    56,    59,   634,    58,
+     427,    60,     1,    80,   360,    80,    81,   344,    70,   529,
+     530,   531,   532,   533,    58,    80,    56,   491,    57,     1,
+     500,    49,     1,   497,   451,    58,    59,   444,    86,    80,
+       1,   505,    65,   174,   371,   414,    80,    70,   359,    83,
+      84,    80,   183,   634,    80,    81,    79,    80,    81,    82,
+      83,    84,    80,    86,     1,   529,   530,   531,   532,   533,
+      56,   581,   582,   442,    64,   444,    66,   106,   107,   539,
+     497,   110,    80,   112,   113,   114,   115,   116,   117,   118,
+     119,    80,   718,   462,   123,    70,     6,     7,     8,     9,
+     346,    56,   566,    57,   680,    15,    57,    64,    80,    66,
+     437,    80,   529,   530,   531,   532,   533,   581,   582,    80,
+      56,    58,   491,   583,    34,   751,    80,   591,    65,    80,
+      44,    45,   378,   379,   109,     1,   111,   718,   384,    57,
+      57,   388,   389,    80,    81,    82,    83,    84,    63,    56,
+      65,    83,   662,   663,   664,   665,   666,    65,   618,   669,
+      75,    17,    80,    80,   581,   582,    80,    81,    24,   416,
+     751,   418,   419,   420,    82,    83,    84,    87,    58,   426,
+      14,   550,    62,    80,    99,   554,   555,   556,   557,    60,
+      70,   101,    58,    10,    58,   105,    60,    11,   662,   663,
+     664,   665,   666,    67,    50,   669,    65,   534,   672,    19,
+      39,   458,   676,   620,    80,    81,    82,    83,    84,    82,
+      83,    84,   591,    82,    83,    84,   473,   474,    40,    63,
+      64,    65,    66,   560,    68,    58,   563,    41,    72,    73,
+      74,    75,    76,    77,    78,   662,   663,   664,   665,   666,
+     126,   620,   669,    63,    64,    65,    66,   717,    58,    82,
+      83,    84,    28,    63,    38,   634,   513,   514,   515,   516,
+     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
+      58,    64,     1,    66,    62,    68,    63,    64,    65,    66,
+      16,    68,    70,     1,    29,   129,    73,    74,    75,    76,
+      77,    78,    83,    84,   551,   108,   109,   676,    96,   636,
+     637,   124,   729,     1,    11,     3,     4,    80,    81,    16,
+      83,    84,    10,    64,    12,    66,   125,    68,   574,    17,
+      18,    28,    29,    21,    22,    82,    83,    84,    26,    58,
+      52,    38,    39,    40,    41,     1,    65,    80,    81,   718,
+      58,   120,   129,    50,    10,    52,    12,    65,    46,    47,
+      48,    80,    81,    82,    83,    84,    54,    55,    56,    25,
+     121,    79,    80,    81,    82,    83,    84,   624,    86,    94,
+      95,    60,   751,    71,    70,   712,    56,    20,   145,   146,
+      83,    59,    17,   640,    50,    63,    64,    65,    66,    96,
+      68,    89,    90,    91,   650,    80,   653,   654,    80,    97,
+     657,    80,   100,    59,   102,   103,   104,    63,    64,    65,
+      66,     1,    68,   120,   121,   752,   753,   124,   125,   126,
+      63,    64,    65,    66,   122,    63,    64,    65,    66,   127,
+     128,    80,    59,    80,    44,    45,    63,    64,    65,    66,
+     777,   698,    67,    53,    80,     0,     1,    57,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,   714,   715,    80,
+      15,    16,    19,    80,   721,    67,   723,    80,    58,    61,
+      80,    81,    67,    28,    29,    65,   733,    32,    85,    34,
+      80,   738,    42,    38,    39,    40,    41,    42,    98,    79,
+      80,    81,    82,    83,    84,    50,    51,    52,   532,   533,
+      27,   758,    58,    57,   761,    57,    63,    64,    65,    66,
+      58,    68,    59,    57,   771,    72,    73,    74,    75,    76,
+      77,    78,    57,     1,    57,    44,    45,    58,    70,     1,
+      75,    61,    87,    59,    53,    58,    70,    92,    57,    57,
+      61,    96,    63,    64,    65,    66,   101,   102,   103,     0,
+     105,    59,     3,     4,     5,     6,     7,     8,     9,    57,
+      57,    80,    81,    57,    15,   120,   121,    19,    57,   124,
+     125,   126,   129,    63,    64,    65,    66,    57,    68,    98,
+      58,    32,    57,    34,    74,    75,    58,    65,    70,    80,
+      61,    42,    80,    65,    63,    64,    65,    66,    57,    68,
+      51,    79,    80,    81,    82,    83,    84,    79,    80,    81,
+      82,    83,    84,    56,    61,    59,    63,    64,    65,    66,
+      63,    64,    65,    66,    59,    68,    57,    59,    70,    72,
+      73,    74,    75,    76,    77,    78,    87,    19,    61,    75,
+      70,    92,    60,    98,    57,    74,    67,    14,    56,   113,
+     101,   102,   103,    58,   105,    63,    64,    65,    66,    58,
+      68,    80,    57,    70,    72,    73,    74,    75,    76,    77,
+      78,    56,    24,    67,    57,    85,    74,    74,    63,    64,
+      65,    66,    62,    68,    60,    58,   129,    72,    73,    74,
+      75,    76,    77,    78,    56,    70,    57,    60,    49,    70,
+      20,    63,    64,    65,    66,    58,    68,    67,    80,    56,
+      72,    73,    74,    75,    76,    77,    78,   110,    59,    68,
+      57,   129,    63,    64,    65,    66,    19,    68,    43,    67,
+      17,    72,    73,    74,    75,    76,    77,    78,    60,    74,
+      80,    59,    59,    75,   129,    63,    64,    65,    66,    80,
+      68,    80,    80,    57,    72,    73,    74,    75,    76,    77,
+      78,    33,    61,    57,    59,    57,    64,   129,    63,    64,
+      65,    66,    58,    68,    31,    58,    58,    72,    73,    74,
+      75,    76,    77,    78,    68,    59,    57,    57,   129,    63,
+      64,    65,    66,    61,    68,    80,    61,    57,    72,    73,
+      74,    75,    76,    77,    78,    67,    67,    23,    59,    58,
+      83,   129,    63,    64,    65,    66,    80,    68,    59,    67,
+      57,    72,    73,    74,    75,    76,    77,    78,    58,    63,
+      57,    59,    57,    80,   129,    63,    64,    65,    66,   331,
+      68,   258,   196,   169,    72,    73,    74,    75,    76,    77,
+      78,    90,    59,   210,    80,   129,    63,    64,    65,    66,
+     364,    68,   529,   632,   642,    72,    73,    74,    75,    76,
+      77,    78,   124,   503,   567,    59,   235,    -1,   129,    63,
+      64,    65,    66,    -1,    68,   650,    -1,    -1,    72,    73,
+      74,    75,    76,    77,    78,    -1,    -1,    -1,    59,    -1,
+      -1,   129,    63,    64,    65,    66,    -1,    68,    -1,    -1,
+      -1,    72,    73,    74,    75,    76,    77,    78,    -1,    59,
+      -1,    -1,   129,    63,    64,    65,    66,    -1,    68,    -1,
+      -1,    -1,    72,    73,    74,    75,    76,    77,    78,    63,
+      64,    65,    66,    67,    68,   129,    -1,    -1,    72,    73,
+      74,    75,    76,    77,    78,    -1,    -1,    57,    -1,    -1,
+      63,    64,    65,    66,    -1,    68,    -1,    70,   129,    72,
+      73,    74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,
+      -1,    63,    64,    65,    66,    -1,    68,    -1,    -1,   129,
+      72,    73,    74,    75,    76,    77,    78,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   129,   106,   107,    -1,    -1,
+     110,    -1,   112,   113,   114,   115,   116,   117,   118,   119,
+      -1,    -1,    -1,   123,    -1,    -1,   129,    63,    64,    65,
+      66,    -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,
+      76,    77,    78,    -1,    -1,    -1,    -1,   129,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   129
+};
+
+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
+   state STATE-NUM.  */
+static const yytype_int16 yystos[] =
+{
+       0,     1,   133,   134,     0,     3,     4,     5,     6,     7,
+       8,     9,    15,    32,    34,    42,    51,    87,    92,   101,
+     102,   103,   105,   136,   137,   139,   141,   142,   148,   150,
+     159,   164,   170,   172,   199,   282,   286,   292,   138,    56,
+      56,   165,   171,    56,     1,    80,    56,     1,   200,    86,
+       1,    80,    81,   140,   154,   173,    83,    56,    56,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   287,   160,    56,
+      56,   151,    83,   143,    80,   201,    60,   174,    70,    88,
+     135,   283,   293,    10,   193,    11,   231,    50,   253,    39,
+     232,    40,   234,    41,   240,    28,   245,   126,   246,    38,
+     254,    16,   235,    29,   236,    96,   271,   124,   194,   125,
+     195,    52,   239,   120,   121,    57,    80,     1,    57,    80,
+      93,   162,   166,   166,    57,    80,   152,     1,    57,    80,
+     144,    60,   202,    70,    83,   154,   154,   141,     1,    57,
+      58,    80,   146,   284,   285,    57,   106,   107,   110,   112,
+     113,   114,   115,   116,   117,   118,   119,   123,   294,    56,
+     196,    80,   196,    80,    80,    80,    80,     1,    58,   196,
+      80,     1,    80,    80,   196,   196,    80,     1,    10,    12,
+      25,    50,   255,   255,    67,    17,   161,     1,    57,   154,
+     167,    57,    67,    60,    67,   145,   146,    83,    84,   157,
+      80,    61,   174,   174,   147,    67,     1,    67,    80,     1,
+      80,   296,     1,    80,   296,   297,    85,   296,   296,   296,
+     296,   296,   296,   296,   197,   199,    57,   196,    57,    27,
+     251,   252,   251,    58,    58,   242,   243,    57,   196,   196,
+     251,    57,    57,    58,   196,   196,   196,   196,    65,    82,
+     155,   156,   157,   155,   162,    17,    24,    60,   168,   153,
+     155,   157,   155,    75,   149,    61,   202,    59,    82,   146,
+     157,   158,   146,    70,   108,   109,   203,   203,    57,     1,
+      80,   233,    70,   196,   242,   242,    59,   154,   244,    57,
+      57,   196,   242,    57,    57,    57,    57,   156,   145,    19,
+     155,   155,   157,   145,    70,   145,    70,    61,   145,   158,
+      65,   146,   146,    80,   296,   296,    44,    45,    53,    80,
+     154,   204,   206,   208,   209,   210,   213,   214,   219,   196,
+      80,    57,    59,    59,   247,   145,    70,    57,    59,   155,
+      19,    61,    75,   169,   155,   155,   145,   149,    70,    74,
+     109,   111,   298,   298,   207,    58,    62,    60,     1,     3,
+       4,    10,    12,    17,    18,    21,    22,    26,    46,    47,
+      48,    54,    55,    71,    89,    90,    91,    97,   100,   104,
+     122,   127,   128,   148,   196,   198,   205,   222,   225,   227,
+     228,   237,   248,   249,   256,   259,   262,   264,   266,   268,
+     275,   276,   277,   288,    98,   272,    67,     1,    58,    65,
+      79,   158,   210,   212,   219,     1,    58,    65,   158,   210,
+     215,   216,   217,   218,   219,    57,   145,   145,   196,   154,
+     145,    14,   163,   155,    17,   168,   158,   149,   158,   146,
+     296,    65,   158,   113,   295,   295,    80,   209,   220,   157,
+       1,    35,    58,   140,   157,   211,   196,     1,    80,     1,
+      80,     1,    80,    58,    58,     1,   210,   263,   154,   154,
+       1,   140,   289,   290,    30,    80,    81,     1,   154,   278,
+       1,   265,    80,   212,    80,   212,     1,    58,   257,     1,
+      58,   140,    57,    70,     1,   157,   210,   274,   212,   212,
+     212,   212,   145,    63,    64,    65,    66,    67,    68,    72,
+      73,    74,    75,    76,    77,    78,   129,   212,   217,    67,
+      63,    65,    64,    66,   241,   196,    57,   145,   157,   168,
+     155,   145,    74,    74,   298,   158,    85,    86,   212,   221,
+      60,    58,   211,    61,    63,    64,    65,    66,    57,    13,
+      33,   250,   223,   226,   212,   212,    70,    49,   291,    70,
+      80,    60,    67,    20,    56,   274,    70,    56,    70,    56,
+       1,    58,    65,   158,   210,   219,   261,   242,   110,   257,
+     210,    63,    65,    75,    99,    59,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+      59,   216,   217,   217,   218,   218,   196,    57,   168,   145,
+      19,   169,   295,    59,    70,   211,   212,    59,   211,   211,
+     211,   211,    43,   196,    67,   196,    59,    59,   210,   290,
+      17,   140,    60,    94,    95,   238,    80,    80,     1,   154,
+     279,   280,   281,    67,   267,    80,   270,   269,   270,   261,
+     261,   145,    63,    64,    65,    66,    68,    74,    75,   258,
+      59,    80,   157,   210,    74,    75,   273,    57,   145,   169,
+     155,    86,   212,    61,    59,   250,    57,   211,    57,   196,
+     196,   212,   238,    61,    64,    60,    57,   280,    58,   212,
+     212,    57,    80,   212,    57,    59,   261,   261,   261,   261,
+     261,   261,   260,   210,    58,    58,   274,   168,    19,    57,
+      57,    19,    61,    67,    31,    80,   212,    56,    56,    59,
+     196,   212,   212,    58,   145,   211,   229,   212,    67,   212,
+      58,    61,    59,   270,   270,   158,    57,    59,    59,   212,
+     169,    20,   224,    23,   230,    14,   212,    80,    67,    57,
+      57,    70,   211,   196,    22,   196,    83,    59,   212,   212,
+      57,    58,    57,    63,    59,   212,    80,    59,   196,    57
+};
+
+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
+static const yytype_int16 yyr1[] =
+{
+       0,   132,   133,   133,   134,   134,   134,   134,   134,   135,
+     134,   136,   134,   134,   134,   134,   134,   137,   138,   139,
+     139,   140,   141,   141,   141,   141,   141,   141,   141,   141,
+     141,   142,   143,   143,   144,   144,   144,   144,   145,   145,
+     147,   146,   148,   148,   149,   149,   150,   151,   151,   152,
+     153,   153,   154,   154,   155,   155,   156,   156,   157,   157,
+     158,   158,   159,   160,   160,   161,   160,   162,   162,   163,
+     165,   164,   166,   166,   167,   167,   167,   167,   167,   168,
+     168,   169,   169,   171,   170,   172,   172,   173,   173,   174,
+     174,   176,   175,   177,   175,   178,   175,   179,   175,   180,
+     175,   181,   175,   182,   175,   183,   175,   184,   175,   185,
+     175,   186,   175,   187,   175,   188,   175,   189,   175,   190,
+     175,   191,   175,   192,   175,   193,   194,   195,   197,   196,
+     196,   198,   198,   200,   199,   199,   201,   201,   202,   202,
+     203,   204,   203,   203,   205,   205,   205,   205,   205,   205,
+     205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
+     205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
+     206,   207,   206,   208,   206,   206,   209,   209,   209,   210,
+     210,   210,   210,   211,   211,   211,   211,   211,   211,   211,
+     211,   211,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   213,   214,   215,   216,   216,   216,   216,   217,
+     217,   217,   218,   218,   218,   218,   218,   220,   219,   221,
+     221,   221,   221,   221,   223,   222,   222,   224,   224,   226,
+     225,   225,   227,   228,   229,   229,   230,   230,   231,   233,
+     232,   234,   235,   236,   236,   237,   237,   237,   238,   238,
+     239,   241,   240,   242,   243,   242,   244,   244,   245,   247,
+     246,   246,   248,   249,   249,   249,   250,   250,   251,   251,
+     252,   252,   252,   253,   254,   255,   255,   255,   255,   255,
+     256,   256,   256,   257,   258,   258,   260,   259,   259,   261,
+     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
+     262,   262,   263,   263,   265,   264,   264,   267,   266,   266,
+     269,   268,   268,   270,   270,   271,   273,   272,   272,   272,
+     272,   274,   274,   274,   274,   275,   275,   276,   276,   278,
+     277,   279,   279,   280,   280,   280,   281,   281,   282,   283,
+     283,   283,   284,   284,   285,   285,   285,   285,   286,   287,
+     287,   288,   288,   289,   289,   290,   290,   291,   291,   292,
+     293,   293,   293,   293,   293,   293,   293,   293,   293,   293,
+     293,   293,   293,   294,   294,   294,   294,   295,   295,   296,
+     296,   296,   297,   297,   298,   298,   298
+};
+
+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
+static const yytype_int8 yyr2[] =
+{
+       0,     2,     1,     1,     0,     2,     2,     2,     2,     0,
+       5,     0,     3,     2,     2,     2,     3,     2,     0,     3,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     4,     0,     2,     5,     3,     6,     1,     0,     1,
+       0,     3,     1,     1,     0,     5,     4,     0,     2,     4,
+       3,     3,     1,     1,     1,     2,     1,     1,     1,     1,
+       1,     1,     4,     0,     2,     0,     4,     9,     1,     1,
+       0,     5,     0,     2,     4,     7,     8,    11,     1,     0,
+       2,     0,     3,     0,     5,     5,     2,     2,     4,     0,
+       3,     0,     2,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     2,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     2,     0,     2,     0,     2,     0,     2,     0,
+       2,     0,     3,     0,     3,     3,     3,     3,     0,     3,
+       3,     2,     4,     0,     3,     2,     2,     4,     0,     3,
+       0,     0,     3,     2,     1,     1,     1,     1,     2,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     3,     0,     2,     1,     3,     4,     4,     1,
+       4,     3,     6,     1,     1,     3,     3,     3,     3,     3,
+       4,     1,     1,     2,     1,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
+       2,     1,     1,     1,     1,     1,     2,     3,     3,     1,
+       3,     3,     1,     1,     1,     3,     1,     0,     5,     0,
+       1,     1,     3,     3,     0,    10,     2,     0,     2,     0,
+       5,     2,     6,     8,     0,     8,     0,     3,     4,     0,
+       6,     5,     4,     4,     2,    11,     8,     7,     1,     1,
+       6,     0,     9,     0,     0,     2,     2,     4,     8,     0,
+       7,     2,     3,     3,     5,     2,     0,     3,     0,     1,
+       2,     3,     2,     3,     3,     3,     3,     3,     3,     1,
+       2,     3,     2,     6,     1,     1,     0,     7,     2,     1,
+       2,     1,     3,     3,     3,     3,     3,     3,     2,     1,
+       2,     2,     1,     3,     0,     5,     2,     0,     8,     5,
+       0,     8,     5,     1,     2,     5,     0,    10,     7,     7,
+       2,     1,     2,     3,     4,     4,     2,     2,     2,     0,
+       5,     1,     2,     1,     6,     1,     1,     4,     4,     0,
+       2,     2,     3,     2,     4,     4,     6,     1,     4,     0,
+       5,     9,     2,     0,     1,     1,     3,     0,     2,     4,
+       0,     3,     2,     3,     3,     3,     3,     3,     3,     3,
+       3,     3,     3,     6,     6,     8,     2,     0,     2,     1,
+       3,     1,     0,     1,     0,     2,     3
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+#define YYNOMEM         goto yyexhaustedlab
+
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
+
+/* Backward compatibility with an undocumented macro.
+   Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Kind, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  FILE *yyoutput = yyo;
+  YY_USE (yyoutput);
+  if (!yyvaluep)
+    return;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  YYFPRINTF (yyo, "%s %s (",
+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+  yy_symbol_value_print (yyo, yykind, yyvaluep);
+  YYFPRINTF (yyo, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+                 int yyrule)
+{
+  int yylno = yyrline[yyrule];
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+             yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr,
+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+                       &yyvsp[(yyi + 1) - (yynrhs)]);
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+{
+  YY_USE (yyvaluep);
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/* Lookahead token kind.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+int
+yyparse (void)
+{
+    yy_state_fast_t yystate = 0;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus = 0;
+
+    /* Refer to the stacks through separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* Their size.  */
+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+    /* The state stack: array, bottom, top.  */
+    yy_state_t yyssa[YYINITDEPTH];
+    yy_state_t *yyss = yyssa;
+    yy_state_t *yyssp = yyss;
+
+    /* The semantic value stack: array, bottom, top.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs = yyvsa;
+    YYSTYPE *yyvsp = yyvs;
+
+  int yyn;
+  /* The return value of yyparse.  */
+  int yyresult;
+  /* Lookahead symbol kind.  */
+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+  YY_IGNORE_USELESS_CAST_BEGIN
+  *yyssp = YY_CAST (yy_state_t, yystate);
+  YY_IGNORE_USELESS_CAST_END
+  YY_STACK_PRINT (yyss, yyssp);
+
+  if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    YYNOMEM;
+#else
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+# if defined yyoverflow
+      {
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        yy_state_t *yyss1 = yyss;
+        YYSTYPE *yyvs1 = yyvs;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * YYSIZEOF (*yyssp),
+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
+                    &yystacksize);
+        yyss = yyss1;
+        yyvs = yyvs1;
+      }
+# else /* defined YYSTACK_RELOCATE */
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+        YYNOMEM;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+        yystacksize = YYMAXDEPTH;
+
+      {
+        yy_state_t *yyss1 = yyss;
+        union yyalloc *yyptr =
+          YY_CAST (union yyalloc *,
+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+        if (! yyptr)
+          YYNOMEM;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
+      }
+# endif
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YY_IGNORE_USELESS_CAST_BEGIN
+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+                  YY_CAST (long, yystacksize)));
+      YY_IGNORE_USELESS_CAST_END
+
+      if (yyss + yystacksize - 1 <= yyssp)
+        YYABORT;
+    }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token\n"));
+      yychar = yylex ();
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = YYEOF;
+      yytoken = YYSYMBOL_YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else if (yychar == YYerror)
+    {
+      /* The scanner already issued an error message, process directly
+         to error recovery.  But do not keep the error token as
+         lookahead, it is too special and may lead us to an endless
+         loop in error recovery. */
+      yychar = YYUNDEF;
+      yytoken = YYSYMBOL_YYerror;
+      goto yyerrlab1;
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     '$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+  case 2: /* top: all  */
+#line 133 "../../../../src/nmodl/parse1.ypp"
+            {/*ldebug(top, intoken)*/;}
+#line 2117 "parse1.cpp"
+    break;
+
+  case 3: /* top: error  */
+#line 134 "../../../../src/nmodl/parse1.ypp"
+               {diag("Illegal block", (char *)0);}
+#line 2123 "parse1.cpp"
+    break;
+
+  case 6: /* all: all locallist  */
+#line 140 "../../../../src/nmodl/parse1.ypp"
+                {Item* q; replacstr((yyvsp[0].qp), "static double");
+		vectorize_substitute((yyvsp[0].qp), "/*Top LOCAL");
+		vectorize_substitute(lastok->next, "*/\n");
+		movelist((yyvsp[0].qp), lastok->next, firstlist);
+		if (!toplocal_) {toplocal_ = newlist();}
+		ITERATE(q, toplocal1_) {
+			assert(SYM(q)->name[0] == '_' && SYM(q)->name[1] == 'l');
+			SYM(q)->name[1] = 'z';
+		}
+		movelist(toplocal1_->next, toplocal1_->prev, toplocal_);
+		}
+#line 2139 "parse1.cpp"
+    break;
+
+  case 9: /* $@1: %empty  */
+#line 153 "../../../../src/nmodl/parse1.ypp"
+                                  {model_level = atoi(STR((yyvsp[0].qp)));}
+#line 2145 "parse1.cpp"
+    break;
+
+  case 10: /* all: all MODEL_LEVEL INTEGER $@1 declare  */
+#line 154 "../../../../src/nmodl/parse1.ypp"
+                        {model_level = 0;}
+#line 2151 "parse1.cpp"
+    break;
+
+  case 11: /* $@2: %empty  */
+#line 156 "../../../../src/nmodl/parse1.ypp"
+                {if (sensused)
+			diag("sensitivity analysis not implemented for",
+				" this block type");
+		}
+#line 2160 "parse1.cpp"
+    break;
+
+  case 13: /* all: all VERBATIM  */
+#line 163 "../../../../src/nmodl/parse1.ypp"
+                {inblock(SYM((yyvsp[0].qp))->name); replacstr((yyvsp[0].qp), "\n/*VERBATIM*/\n");
+		if (!assert_threadsafe && !saw_verbatim_) {
+ 		 fprintf(stderr, "Notice: VERBATIM blocks are not thread safe\n");
+		 saw_verbatim_ = 1;
+		 vectorize = 0;
+		}
+		movelist((yyvsp[0].qp),intoken->prev, procfunc);}
+#line 2172 "parse1.cpp"
+    break;
+
+  case 14: /* all: all COMMENT  */
+#line 172 "../../../../src/nmodl/parse1.ypp"
+                {
+		in_comment_ = 1;
+		inblock(SYM((yyvsp[0].qp))->name); deltokens((yyvsp[0].qp), intoken->prev);
+		in_comment_ = 0;
+		}
+#line 2182 "parse1.cpp"
+    break;
+
+  case 16: /* all: all INCLUDE1 STRING  */
+#line 179 "../../../../src/nmodl/parse1.ypp"
+                {include_file((yyvsp[0].qp));}
+#line 2188 "parse1.cpp"
+    break;
+
+  case 17: /* model: MODEL line  */
+#line 182 "../../../../src/nmodl/parse1.ypp"
+                {if (modelline == NULL) modelline = (yyvsp[0].str);
+			deltokens((yyvsp[-1].qp), intoken->prev);}
+#line 2195 "parse1.cpp"
+    break;
+
+  case 18: /* line: %empty  */
+#line 185 "../../../../src/nmodl/parse1.ypp"
+        {(yyval.str) = inputline();}
+#line 2201 "parse1.cpp"
+    break;
+
+  case 19: /* define1: DEFINE1 NAME INTEGER  */
+#line 190 "../../../../src/nmodl/parse1.ypp"
+        { Symbol *sp = SYM((yyvsp[-1].qp));
+	 if (sp->subtype)
+		diag(sp->name, " used before DEFINEed");
+	 sp->u.str = STR((yyvsp[0].qp));
+	 sp->type = DEFINEDVAR;
+	 deltokens((yyvsp[-2].qp), (yyvsp[0].qp));}
+#line 2212 "parse1.cpp"
+    break;
+
+  case 20: /* define1: DEFINE1 error  */
+#line 196 "../../../../src/nmodl/parse1.ypp"
+                        {myerr("syntax: DEFINE name integer");}
+#line 2218 "parse1.cpp"
+    break;
+
+  case 21: /* Name: NAME  */
+#line 199 "../../../../src/nmodl/parse1.ypp"
+                { Symbol *checklocal(Symbol*);
+		  SYM((yyvsp[0].qp)) = checklocal(SYM((yyvsp[0].qp)));  /* it was a bug
+			when this was done to the lookahead token in lex */
+		}
+#line 2227 "parse1.cpp"
+    break;
+
+  case 31: /* parmblk: PARAMETER '{' parmbody '}'  */
+#line 207 "../../../../src/nmodl/parse1.ypp"
+                                    {deltokens((yyvsp[-3].qp), (yyvsp[0].qp));}
+#line 2233 "parse1.cpp"
+    break;
+
+  case 33: /* parmbody: parmbody parmasgn  */
+#line 211 "../../../../src/nmodl/parse1.ypp"
+                { explicit_decl(model_level, (yyvsp[0].qp));}
+#line 2239 "parse1.cpp"
+    break;
+
+  case 34: /* parmasgn: NAME '=' number units limits  */
+#line 217 "../../../../src/nmodl/parse1.ypp"
+                {parminstall(SYM((yyvsp[-4].qp)), STR((yyvsp[-2].qp)), (yyvsp[-1].str), (yyvsp[0].str));}
+#line 2245 "parse1.cpp"
+    break;
+
+  case 35: /* parmasgn: NAME units limits  */
+#line 219 "../../../../src/nmodl/parse1.ypp"
+                {parminstall(SYM((yyvsp[-2].qp)), "0", (yyvsp[-1].str), (yyvsp[0].str));}
+#line 2251 "parse1.cpp"
+    break;
+
+  case 36: /* parmasgn: NAME '[' integer ']' units limits  */
+#line 221 "../../../../src/nmodl/parse1.ypp"
+                { int i = atoi(STR((yyvsp[-3].qp)));
+		  if (i < 1) diag("Array index must be > 0", (char*)0);
+		  parm_array_install(SYM((yyvsp[-5].qp)), "0", (yyvsp[-1].str), (yyvsp[0].str), i);
+		}
+#line 2260 "parse1.cpp"
+    break;
+
+  case 37: /* parmasgn: error  */
+#line 225 "../../../../src/nmodl/parse1.ypp"
+                {diag("name = number", (char *)0);}
+#line 2266 "parse1.cpp"
+    break;
+
+  case 38: /* units: %empty  */
+#line 227 "../../../../src/nmodl/parse1.ypp"
+                    {(yyval.str) = stralloc("", (char *)0);}
+#line 2272 "parse1.cpp"
+    break;
+
+  case 40: /* @3: %empty  */
+#line 230 "../../../../src/nmodl/parse1.ypp"
+            {(yyval.str) = inputtopar();}
+#line 2278 "parse1.cpp"
+    break;
+
+  case 41: /* unit: '(' @3 ')'  */
+#line 232 "../../../../src/nmodl/parse1.ypp"
+                 {(yyval.str) = (yyvsp[-1].str); remove((yyvsp[-2].qp)); remove((yyvsp[0].qp));}
+#line 2284 "parse1.cpp"
+    break;
+
+  case 42: /* uniton: UNITSON  */
+#line 234 "../../../../src/nmodl/parse1.ypp"
+                {replacstr((yyvsp[0].qp), "");}
+#line 2290 "parse1.cpp"
+    break;
+
+  case 43: /* uniton: UNITSOFF  */
+#line 235 "../../../../src/nmodl/parse1.ypp"
+                   {replacstr((yyvsp[0].qp), "");}
+#line 2296 "parse1.cpp"
+    break;
+
+  case 44: /* limits: %empty  */
+#line 238 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.str) = stralloc("", (char*)0);}
+#line 2302 "parse1.cpp"
+    break;
+
+  case 45: /* limits: LT real ',' real GT  */
+#line 240 "../../../../src/nmodl/parse1.ypp"
+                {
+		 Sprintf(buf, "%s %s", STR((yyvsp[-3].qp)), STR((yyvsp[-1].qp)));
+		 (yyval.str) = stralloc(buf, (char*)0);
+		}
+#line 2311 "parse1.cpp"
+    break;
+
+  case 46: /* stepblk: STEPPED '{' stepbdy '}'  */
+#line 245 "../../../../src/nmodl/parse1.ypp"
+                                 {deltokens((yyvsp[-3].qp), (yyvsp[0].qp));}
+#line 2317 "parse1.cpp"
+    break;
+
+  case 48: /* stepbdy: stepbdy stepped  */
+#line 249 "../../../../src/nmodl/parse1.ypp"
+                { explicit_decl(model_level, (yyvsp[0].qp)); }
+#line 2323 "parse1.cpp"
+    break;
+
+  case 49: /* stepped: NAME '=' numlist units  */
+#line 253 "../../../../src/nmodl/parse1.ypp"
+                {steppedinstall(SYM((yyvsp[-3].qp)), (yyvsp[-1].qp), lastok, (yyvsp[0].str));}
+#line 2329 "parse1.cpp"
+    break;
+
+  case 54: /* number: NUMBER  */
+#line 261 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);}
+#line 2335 "parse1.cpp"
+    break;
+
+  case 55: /* number: '-' NUMBER  */
+#line 264 "../../../../src/nmodl/parse1.ypp"
+                { Sprintf(buf, "-%s", STR((yyvsp[0].qp)));
+		 STR((yyvsp[0].qp)) = stralloc(buf, STR((yyvsp[0].qp))); (yyval.qp) = (yyvsp[0].qp);
+		remove((yyvsp[-1].qp)); lastok = (yyvsp[0].qp);
+		}
+#line 2344 "parse1.cpp"
+    break;
+
+  case 59: /* integer: DEFINEDVAR  */
+#line 272 "../../../../src/nmodl/parse1.ypp"
+                     {replacstr((yyvsp[0].qp), SYM((yyvsp[0].qp))->u.str);}
+#line 2350 "parse1.cpp"
+    break;
+
+  case 60: /* real: REAL  */
+#line 274 "../../../../src/nmodl/parse1.ypp"
+             {lastok = (yyvsp[0].qp);}
+#line 2356 "parse1.cpp"
+    break;
+
+  case 61: /* real: integer  */
+#line 276 "../../../../src/nmodl/parse1.ypp"
+                {Sprintf(buf, "%s.0", STR((yyvsp[0].qp)));
+		STR((yyvsp[0].qp)) = stralloc(buf, STR((yyvsp[0].qp)));
+		lastok = (yyvsp[0].qp);
+		}
+#line 2365 "parse1.cpp"
+    break;
+
+  case 62: /* indepblk: INDEPENDENT '{' indepbody '}'  */
+#line 281 "../../../../src/nmodl/parse1.ypp"
+                                        {deltokens((yyvsp[-3].qp), (yyvsp[0].qp));}
+#line 2371 "parse1.cpp"
+    break;
+
+  case 64: /* indepbody: indepbody indepdef  */
+#line 285 "../../../../src/nmodl/parse1.ypp"
+                { explicit_decl(model_level, (yyvsp[0].qp)); }
+#line 2377 "parse1.cpp"
+    break;
+
+  case 65: /* $@4: %empty  */
+#line 286 "../../../../src/nmodl/parse1.ypp"
+                          {scopindep = 1;}
+#line 2383 "parse1.cpp"
+    break;
+
+  case 66: /* indepbody: indepbody SWEEP $@4 indepdef  */
+#line 287 "../../../../src/nmodl/parse1.ypp"
+                { explicit_decl(model_level, (yyvsp[0].qp));
+		  scopindep = 0;
+		}
+#line 2391 "parse1.cpp"
+    break;
+
+  case 67: /* indepdef: NAME FROM number TO number withby integer opstart units  */
+#line 293 "../../../../src/nmodl/parse1.ypp"
+                {indepinstall(SYM((yyvsp[-8].qp)), STR((yyvsp[-6].qp)),
+		 STR((yyvsp[-4].qp)), STR((yyvsp[-2].qp)), (yyvsp[-1].qp), (yyvsp[0].str), scopindep);
+		}
+#line 2399 "parse1.cpp"
+    break;
+
+  case 68: /* indepdef: error  */
+#line 296 "../../../../src/nmodl/parse1.ypp"
+                {diag("name FROM number TO number WITH integer\n", (char *)0);}
+#line 2405 "parse1.cpp"
+    break;
+
+  case 70: /* $@5: %empty  */
+#line 300 "../../../../src/nmodl/parse1.ypp"
+                  {stateblock = 0;}
+#line 2411 "parse1.cpp"
+    break;
+
+  case 71: /* depblk: DEPENDENT $@5 '{' depbody '}'  */
+#line 300 "../../../../src/nmodl/parse1.ypp"
+                                                    {deltokens((yyvsp[-4].qp), (yyvsp[0].qp));}
+#line 2417 "parse1.cpp"
+    break;
+
+  case 73: /* depbody: depbody depdef  */
+#line 304 "../../../../src/nmodl/parse1.ypp"
+                { explicit_decl(model_level, (yyvsp[0].qp));}
+#line 2423 "parse1.cpp"
+    break;
+
+  case 74: /* depdef: name opstart units abstol  */
+#line 308 "../../../../src/nmodl/parse1.ypp"
+                {depinstall(stateblock, SYM((yyvsp[-3].qp)), 0, "0", "1", (yyvsp[-1].str), (yyvsp[-2].qp), 1, (yyvsp[0].str));
+		 }
+#line 2430 "parse1.cpp"
+    break;
+
+  case 75: /* depdef: name '[' integer ']' opstart units abstol  */
+#line 311 "../../../../src/nmodl/parse1.ypp"
+                {int i = atoi(STR((yyvsp[-4].qp)));
+		 if (i < 1) diag("Array index must be > 0", (char *)0);
+		 depinstall(stateblock, SYM((yyvsp[-6].qp)), i,
+			 "0", "1", (yyvsp[-1].str), (yyvsp[-2].qp), 1, (yyvsp[0].str));
+		}
+#line 2440 "parse1.cpp"
+    break;
+
+  case 76: /* depdef: name FROM number TO number opstart units abstol  */
+#line 317 "../../../../src/nmodl/parse1.ypp"
+                {depinstall(stateblock, SYM((yyvsp[-7].qp)), 0, STR((yyvsp[-5].qp)),
+		 STR((yyvsp[-3].qp)), (yyvsp[-1].str), (yyvsp[-2].qp), 1, (yyvsp[0].str));
+		}
+#line 2448 "parse1.cpp"
+    break;
+
+  case 77: /* depdef: name '[' integer ']' FROM number TO number opstart units abstol  */
+#line 321 "../../../../src/nmodl/parse1.ypp"
+                {int i = atoi(STR((yyvsp[-8].qp)));
+		 if (i < 1) diag("Array index must be > 0", (char *)0);
+		 depinstall(stateblock, SYM((yyvsp[-10].qp)), i,
+		 STR((yyvsp[-5].qp)), STR((yyvsp[-3].qp)), (yyvsp[-1].str), (yyvsp[-2].qp), 1, (yyvsp[0].str));
+		}
+#line 2458 "parse1.cpp"
+    break;
+
+  case 78: /* depdef: error  */
+#line 326 "../../../../src/nmodl/parse1.ypp"
+                {
+diag("name FROM number TO number START number\n",
+"FROM...TO and START are optional, name can be name[integer]\n");}
+#line 2466 "parse1.cpp"
+    break;
+
+  case 79: /* opstart: %empty  */
+#line 330 "../../../../src/nmodl/parse1.ypp"
+                     {(yyval.qp) = ITEM0;}
+#line 2472 "parse1.cpp"
+    break;
+
+  case 80: /* opstart: START1 number  */
+#line 331 "../../../../src/nmodl/parse1.ypp"
+                        {(yyval.qp) = (yyvsp[0].qp);}
+#line 2478 "parse1.cpp"
+    break;
+
+  case 81: /* abstol: %empty  */
+#line 334 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.str) = stralloc("", (char*)0);}
+#line 2484 "parse1.cpp"
+    break;
+
+  case 82: /* abstol: LT real GT  */
+#line 336 "../../../../src/nmodl/parse1.ypp"
+                {
+			(yyval.str) = stralloc(STR((yyvsp[-1].qp)), (char*)0);
+		}
+#line 2492 "parse1.cpp"
+    break;
+
+  case 83: /* $@6: %empty  */
+#line 340 "../../../../src/nmodl/parse1.ypp"
+                 {stateblock = 1;}
+#line 2498 "parse1.cpp"
+    break;
+
+  case 84: /* stateblk: STATE $@6 '{' depbody '}'  */
+#line 340 "../../../../src/nmodl/parse1.ypp"
+                                                   {deltokens((yyvsp[-4].qp), (yyvsp[0].qp));}
+#line 2504 "parse1.cpp"
+    break;
+
+  case 85: /* plotdecl: PLOT pvlist VS name optindex  */
+#line 344 "../../../../src/nmodl/parse1.ypp"
+                { Item *q;
+		 q = linsertsym(plotlist, SYM((yyvsp[-1].qp))); Insertstr(q->next, (yyvsp[0].str)); }
+#line 2511 "parse1.cpp"
+    break;
+
+  case 86: /* plotdecl: PLOT error  */
+#line 347 "../../../../src/nmodl/parse1.ypp"
+                     { diag("PLOT namelist VS name", (char *)0);}
+#line 2517 "parse1.cpp"
+    break;
+
+  case 87: /* pvlist: name optindex  */
+#line 350 "../../../../src/nmodl/parse1.ypp"
+                { if (plotlist->next == plotlist) {
+			Lappendsym(plotlist, SYM((yyvsp[-1].qp)));
+			Lappendstr(plotlist, (yyvsp[0].str));
+		  }else{
+			diag("Only one PLOT declaration allowed", (char *)0);
+		  }
+		}
+#line 2529 "parse1.cpp"
+    break;
+
+  case 88: /* pvlist: pvlist ',' name optindex  */
+#line 358 "../../../../src/nmodl/parse1.ypp"
+                { Lappendsym(plotlist, SYM((yyvsp[-1].qp))); Lappendstr(plotlist, (yyvsp[0].str));}
+#line 2535 "parse1.cpp"
+    break;
+
+  case 89: /* optindex: %empty  */
+#line 361 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.str) = "-1";}
+#line 2541 "parse1.cpp"
+    break;
+
+  case 90: /* optindex: '[' INTEGER ']'  */
+#line 363 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.str) = STR((yyvsp[-1].qp));}
+#line 2547 "parse1.cpp"
+    break;
+
+  case 91: /* $@7: %empty  */
+#line 365 "../../../../src/nmodl/parse1.ypp"
+         {blocktype = INITIAL1;}
+#line 2553 "parse1.cpp"
+    break;
+
+  case 93: /* $@8: %empty  */
+#line 367 "../../../../src/nmodl/parse1.ypp"
+          {lexcontext = NONLINEAR; blocktype = DERIVATIVE;}
+#line 2559 "parse1.cpp"
+    break;
+
+  case 95: /* $@9: %empty  */
+#line 368 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = BREAKPOINT;}
+#line 2565 "parse1.cpp"
+    break;
+
+  case 97: /* $@10: %empty  */
+#line 369 "../../../../src/nmodl/parse1.ypp"
+          {lexcontext = blocktype = LINEAR;}
+#line 2571 "parse1.cpp"
+    break;
+
+  case 99: /* $@11: %empty  */
+#line 370 "../../../../src/nmodl/parse1.ypp"
+          {lexcontext = blocktype = NONLINEAR;}
+#line 2577 "parse1.cpp"
+    break;
+
+  case 101: /* $@12: %empty  */
+#line 371 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = FUNCTION1;}
+#line 2583 "parse1.cpp"
+    break;
+
+  case 103: /* $@13: %empty  */
+#line 372 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = PROCEDURE;}
+#line 2589 "parse1.cpp"
+    break;
+
+  case 105: /* $@14: %empty  */
+#line 373 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = NETRECEIVE;}
+#line 2595 "parse1.cpp"
+    break;
+
+  case 107: /* $@15: %empty  */
+#line 374 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = TERMINAL;}
+#line 2601 "parse1.cpp"
+    break;
+
+  case 109: /* $@16: %empty  */
+#line 375 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = DISCRETE;}
+#line 2607 "parse1.cpp"
+    break;
+
+  case 111: /* $@17: %empty  */
+#line 376 "../../../../src/nmodl/parse1.ypp"
+          {lexcontext = blocktype = PARTIAL;}
+#line 2613 "parse1.cpp"
+    break;
+
+  case 113: /* $@18: %empty  */
+#line 377 "../../../../src/nmodl/parse1.ypp"
+          {lexcontext = blocktype = KINETIC;ostmt_start();}
+#line 2619 "parse1.cpp"
+    break;
+
+  case 114: /* proc: $@18 kineticblk  */
+#line 377 "../../../../src/nmodl/parse1.ypp"
+                                                                       {see_ostmt();}
+#line 2625 "parse1.cpp"
+    break;
+
+  case 115: /* $@19: %empty  */
+#line 378 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = CONSTRUCTOR;}
+#line 2631 "parse1.cpp"
+    break;
+
+  case 117: /* $@20: %empty  */
+#line 379 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = DESTRUCTOR;}
+#line 2637 "parse1.cpp"
+    break;
+
+  case 119: /* $@21: %empty  */
+#line 380 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = FUNCTION_TABLE;}
+#line 2643 "parse1.cpp"
+    break;
+
+  case 121: /* $@22: %empty  */
+#line 381 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = BEFORE;}
+#line 2649 "parse1.cpp"
+    break;
+
+  case 123: /* $@23: %empty  */
+#line 382 "../../../../src/nmodl/parse1.ypp"
+          {blocktype = AFTER;}
+#line 2655 "parse1.cpp"
+    break;
+
+  case 125: /* initblk: INITIAL1 stmtlist '}'  */
+#line 385 "../../../../src/nmodl/parse1.ypp"
+                {movelist((yyvsp[-1].qp), (yyvsp[0].qp), initfunc);}
+#line 2661 "parse1.cpp"
+    break;
+
+  case 126: /* constructblk: CONSTRUCTOR stmtlist '}'  */
+#line 388 "../../../../src/nmodl/parse1.ypp"
+                {movelist((yyvsp[-1].qp), (yyvsp[0].qp), constructorfunc);}
+#line 2667 "parse1.cpp"
+    break;
+
+  case 127: /* destructblk: DESTRUCTOR stmtlist '}'  */
+#line 391 "../../../../src/nmodl/parse1.ypp"
+                {movelist((yyvsp[-1].qp), (yyvsp[0].qp), destructorfunc);}
+#line 2673 "parse1.cpp"
+    break;
+
+  case 128: /* $@24: %empty  */
+#line 393 "../../../../src/nmodl/parse1.ypp"
+              {pushlocal();}
+#line 2679 "parse1.cpp"
+    break;
+
+  case 129: /* stmtlist: '{' $@24 stmtlist1  */
+#line 393 "../../../../src/nmodl/parse1.ypp"
+                                       {poplocal();}
+#line 2685 "parse1.cpp"
+    break;
+
+  case 130: /* stmtlist: '{' locallist stmtlist1  */
+#line 395 "../../../../src/nmodl/parse1.ypp"
+                {poplocal();}
+#line 2691 "parse1.cpp"
+    break;
+
+  case 131: /* conducthint: CONDUCTANCE Name  */
+#line 398 "../../../../src/nmodl/parse1.ypp"
+                {conductance_hint(blocktype, (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 2697 "parse1.cpp"
+    break;
+
+  case 132: /* conducthint: CONDUCTANCE Name USEION NAME  */
+#line 400 "../../../../src/nmodl/parse1.ypp"
+                {conductance_hint(blocktype, (yyvsp[-3].qp), (yyvsp[0].qp));}
+#line 2703 "parse1.cpp"
+    break;
+
+  case 133: /* $@25: %empty  */
+#line 403 "../../../../src/nmodl/parse1.ypp"
+                {
+		  if (toplocal1_) {freelist(&toplocal1_);}
+		  toplocal1_ = newlist();
+		}
+#line 2712 "parse1.cpp"
+    break;
+
+  case 134: /* locallist: LOCAL $@25 locallist1  */
+#line 408 "../../../../src/nmodl/parse1.ypp"
+                { replacstr((yyvsp[-2].qp), "double");
+		  Insertstr(lastok->next, ";\n");
+		  possible_local_current(blocktype, toplocal1_);
+		}
+#line 2721 "parse1.cpp"
+    break;
+
+  case 135: /* locallist: LOCAL error  */
+#line 412 "../../../../src/nmodl/parse1.ypp"
+                      {myerr("Illegal LOCAL declaration");}
+#line 2727 "parse1.cpp"
+    break;
+
+  case 136: /* locallist1: NAME locoptarray  */
+#line 417 "../../../../src/nmodl/parse1.ypp"
+                {int a2; pushlocal();
+		 a2 = SYM((yyvsp[-1].qp))->assigned_to_; /* in case marked threadsafe */
+		 SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp)));
+		 SYM((yyvsp[-1].qp))->assigned_to_ = a2;
+		 lappendsym(toplocal1_, SYM((yyvsp[-1].qp)));
+		 if ((yyvsp[0].i)) {
+			SYM((yyvsp[-1].qp))->araydim = (yyvsp[0].i);
+			SYM((yyvsp[-1].qp))->subtype |= ARRAY;
+		 }else{
+			lastok = (yyvsp[-1].qp);
+		 }
+		}
+#line 2744 "parse1.cpp"
+    break;
+
+  case 137: /* locallist1: locallist1 ',' NAME locoptarray  */
+#line 430 "../../../../src/nmodl/parse1.ypp"
+                {
+		 int a2 = SYM((yyvsp[-1].qp))->assigned_to_; /* in case marked threadsafe */
+		 SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp)));
+		 SYM((yyvsp[-1].qp))->assigned_to_ = a2;
+		 lappendsym(toplocal1_, SYM((yyvsp[-1].qp)));
+		 if ((yyvsp[0].i)) {
+			SYM((yyvsp[-1].qp))->araydim = (yyvsp[0].i);
+			SYM((yyvsp[-1].qp))->subtype |= ARRAY;
+		 }else{
+			lastok = (yyvsp[-1].qp);
+		 }
+		}
+#line 2761 "parse1.cpp"
+    break;
+
+  case 138: /* locoptarray: %empty  */
+#line 444 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.i) = 0;}
+#line 2767 "parse1.cpp"
+    break;
+
+  case 139: /* locoptarray: '[' integer ']'  */
+#line 446 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.i) = atoi(STR((yyvsp[-1].qp))); lastok = (yyvsp[0].qp);}
+#line 2773 "parse1.cpp"
+    break;
+
+  case 141: /* $@26: %empty  */
+#line 449 "../../../../src/nmodl/parse1.ypp"
+                    {if (blocktype == KINETIC) see_ostmt();}
+#line 2779 "parse1.cpp"
+    break;
+
+  case 142: /* stmtlist1: stmtlist1 $@26 ostmt  */
+#line 450 "../../../../src/nmodl/parse1.ypp"
+                {if (blocktype == KINETIC) see_ostmt();}
+#line 2785 "parse1.cpp"
+    break;
+
+  case 143: /* stmtlist1: stmtlist1 astmt  */
+#line 451 "../../../../src/nmodl/parse1.ypp"
+                          {if (blocktype == KINETIC) { see_astmt((yyvsp[0].qp), astmt_end_); }}
+#line 2791 "parse1.cpp"
+    break;
+
+  case 151: /* ostmt: VERBATIM  */
+#line 461 "../../../../src/nmodl/parse1.ypp"
+                {inblock(SYM((yyvsp[0].qp))->name);
+		replacstr((yyvsp[0].qp), "\n/*VERBATIM*/\n");
+		if (!assert_threadsafe && !saw_verbatim_) {
+ 		 fprintf(stderr, "Notice: VERBATIM blocks are not thread safe\n");
+		 saw_verbatim_ = 1;
+		 vectorize = 0;
+		}
+		}
+#line 2804 "parse1.cpp"
+    break;
+
+  case 152: /* ostmt: COMMENT  */
+#line 471 "../../../../src/nmodl/parse1.ypp"
+                {inblock(SYM((yyvsp[0].qp))->name); deltokens((yyvsp[0].qp), intoken->prev);}
+#line 2810 "parse1.cpp"
+    break;
+
+  case 154: /* ostmt: compart  */
+#line 473 "../../../../src/nmodl/parse1.ypp"
+                        {check_block(KINETIC, blocktype, "COMPARTMENT");}
+#line 2816 "parse1.cpp"
+    break;
+
+  case 155: /* ostmt: ldifus  */
+#line 474 "../../../../src/nmodl/parse1.ypp"
+                        {check_block(KINETIC, blocktype, "LONGDIFUS");}
+#line 2822 "parse1.cpp"
+    break;
+
+  case 156: /* ostmt: conserve  */
+#line 475 "../../../../src/nmodl/parse1.ypp"
+                        {check_block(KINETIC, blocktype, "CONSERVE");}
+#line 2828 "parse1.cpp"
+    break;
+
+  case 159: /* ostmt: RESET  */
+#line 479 "../../../../src/nmodl/parse1.ypp"
+                { replacstr((yyvsp[0].qp), " _reset = 1;\n"); }
+#line 2834 "parse1.cpp"
+    break;
+
+  case 162: /* ostmt: tablestmt  */
+#line 483 "../../../../src/nmodl/parse1.ypp"
+                {if (blocktype !=FUNCTION1 && blocktype != PROCEDURE) {
+			diag("TABLE valid only for FUNCTION or PROCEDURE", (char *)0);
+		}}
+#line 2842 "parse1.cpp"
+    break;
+
+  case 167: /* ostmt: NRNMUTEXLOCK  */
+#line 490 "../../../../src/nmodl/parse1.ypp"
+                       { nrnmutex(1,(yyvsp[0].qp)); }
+#line 2848 "parse1.cpp"
+    break;
+
+  case 168: /* ostmt: NRNMUTEXUNLOCK  */
+#line 491 "../../../../src/nmodl/parse1.ypp"
+                         { nrnmutex(0,(yyvsp[0].qp)); }
+#line 2854 "parse1.cpp"
+    break;
+
+  case 169: /* ostmt: error  */
+#line 493 "../../../../src/nmodl/parse1.ypp"
+                {myerr("Illegal statement");}
+#line 2860 "parse1.cpp"
+    break;
+
+  case 170: /* astmt: asgn  */
+#line 497 "../../../../src/nmodl/parse1.ypp"
+                {astmt_end_ = insertsym(lastok->next, semi);}
+#line 2866 "parse1.cpp"
+    break;
+
+  case 171: /* $@27: %empty  */
+#line 498 "../../../../src/nmodl/parse1.ypp"
+                  {protect_ = 1;}
+#line 2872 "parse1.cpp"
+    break;
+
+  case 172: /* astmt: PROTECT $@27 asgn  */
+#line 499 "../../../../src/nmodl/parse1.ypp"
+                {protect_ = 0; astmt_end_ = insertsym(lastok->next, semi);
+			astmt_end_ = protect_astmt((yyvsp[-2].qp), astmt_end_);
+		}
+#line 2880 "parse1.cpp"
+    break;
+
+  case 173: /* $@28: %empty  */
+#line 502 "../../../../src/nmodl/parse1.ypp"
+          {inequation = 1;}
+#line 2886 "parse1.cpp"
+    break;
+
+  case 174: /* astmt: $@28 reaction  */
+#line 502 "../../../../src/nmodl/parse1.ypp"
+                                     {
+		(yyval.qp) = (yyvsp[0].qp); inequation = 0;
+		astmt_end_ = insertstr(lastok->next->next->next, "");}
+#line 2894 "parse1.cpp"
+    break;
+
+  case 175: /* astmt: funccall  */
+#line 506 "../../../../src/nmodl/parse1.ypp"
+                {astmt_end_ = insertsym(lastok->next, semi);}
+#line 2900 "parse1.cpp"
+    break;
+
+  case 176: /* asgn: varname '=' expr  */
+#line 511 "../../../../src/nmodl/parse1.ypp"
+                { if (blocktype == DERIVATIVE && SYM((yyvsp[-2].qp))->type == PRIME) {
+			/* put Dvar in a derivative used list */
+			deriv_used(SYM((yyvsp[-2].qp)), (yyvsp[0].qp), lastok);
+			}
+		  if (blocktype == DERIVATIVE && (SYM((yyvsp[-2].qp))->subtype & STAT)) {
+			Fprintf(stderr,
+"WARNING: %s (a STATE) is assigned a value\
+ in a DERIVATIVE block.\n Multistep integrators (such as Runge) may not\
+ work correctly.\n", SYM((yyvsp[-2].qp))->name);
+		  }
+		  if (blocktype == DISCRETE && SYM((yyvsp[-2].qp))->type == NAME
+			&& (SYM((yyvsp[-2].qp))->subtype & STAT)) {
+			SYM((yyvsp[-2].qp))->used++;
+			}
+		  if (blocktype == NETRECEIVE) {
+			/* STATE discontinuity adjustment */
+			netrec_asgn((yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp), lastok);
+		  }
+#if NOCMODL
+		  nrn_var_assigned(SYM((yyvsp[-2].qp)));
+#endif
+		}
+#line 2927 "parse1.cpp"
+    break;
+
+  case 177: /* asgn: nonlineqn expr '=' expr  */
+#line 535 "../../../../src/nmodl/parse1.ypp"
+                { inequation = 0;
+		Insertstr((yyvsp[-2].qp), " -(");
+		replacstr((yyvsp[-1].qp), ") + ");
+		if (nstate == 0)
+{yyerror("previous equation contains no state variables"); YYERROR;}
+		 eqnqueue((yyvsp[-3].qp));
+		}
+#line 2939 "parse1.cpp"
+    break;
+
+  case 178: /* asgn: lineqn leftlinexpr '=' linexpr  */
+#line 543 "../../../../src/nmodl/parse1.ypp"
+                { inequation = 0;
+		remove((yyvsp[-1].qp));
+		if (nstate == 0)
+{yyerror("previous equation contains no state variables"); YYERROR;}
+		}
+#line 2949 "parse1.cpp"
+    break;
+
+  case 179: /* varname: name  */
+#line 551 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		if (!extdef2){SYM((yyvsp[0].qp))->usage |= DEP;}
+		if (SYM((yyvsp[0].qp))->subtype & ARRAY && !extdef2)
+			{myerr("variable needs an index");}
+		if (inequation && (SYM((yyvsp[0].qp))->subtype & STAT) && in_solvefor(SYM((yyvsp[0].qp)))) {
+			SYM((yyvsp[0].qp))->used++;
+			nstate++; pstate++; tstate++;
+		}
+		if (SYM((yyvsp[0].qp))->subtype & INTGER) {
+			lastok = insertstr((yyvsp[0].qp)->next, ")");
+			(yyvsp[0].qp) = insertstr((yyvsp[0].qp), "((double)");
+		}
+		}
+#line 2967 "parse1.cpp"
+    break;
+
+  case 180: /* varname: name '[' intexpr ']'  */
+#line 565 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		if (SYM((yyvsp[-3].qp))->type == PRIME) {
+			usederivstatearray = 1;
+		}
+		SYM((yyvsp[-3].qp))->usage |= DEP;
+		if ((SYM((yyvsp[-3].qp))->subtype & ARRAY) == 0)
+			{myerr("variable is not an array");}
+		if (inequation && (SYM((yyvsp[-3].qp))->subtype & STAT) && in_solvefor(SYM((yyvsp[-3].qp)))) {
+			SYM((yyvsp[-3].qp))->used++;
+			nstate++; pstate++; tstate++;
+		}
+		  if (forallindex) {
+			if (forallindex == -1) {
+				forallindex = SYM((yyvsp[-3].qp))->araydim;
+			}
+			if (forallindex != SYM((yyvsp[-3].qp))->araydim) {
+Sprintf(buf, "%s dimension not same as other dimensions used in FORALL statement",
+SYM((yyvsp[-3].qp))->name);
+				diag(buf, (char *)0);
+			}
+		  }
+		}
+#line 2994 "parse1.cpp"
+    break;
+
+  case 181: /* varname: NAME '@' integer  */
+#line 588 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		SYM((yyvsp[-2].qp))->usage |= DEP; disc_var_seen((yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp), 0);}
+#line 3001 "parse1.cpp"
+    break;
+
+  case 182: /* varname: NAME '@' integer '[' intexpr ']'  */
+#line 591 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		SYM((yyvsp[-5].qp))->usage |= DEP; disc_var_seen((yyvsp[-5].qp), (yyvsp[-4].qp), (yyvsp[-3].qp), ARRAY);}
+#line 3008 "parse1.cpp"
+    break;
+
+  case 183: /* intexpr: Name  */
+#line 595 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp);
+		 SYM((yyvsp[0].qp))->usage |= DEP;
+		 if (!(SYM((yyvsp[0].qp))->subtype & INTGER)) {
+		 	lastok = insertstr((yyvsp[0].qp)->next, ")");
+			(yyvsp[0].qp) = insertstr((yyvsp[0].qp), "((int)");
+		 }
+		}
+#line 3020 "parse1.cpp"
+    break;
+
+  case 184: /* intexpr: integer  */
+#line 602 "../../../../src/nmodl/parse1.ypp"
+                                { lastok = (yyvsp[0].qp);}
+#line 3026 "parse1.cpp"
+    break;
+
+  case 185: /* intexpr: '(' intexpr ')'  */
+#line 603 "../../../../src/nmodl/parse1.ypp"
+                                { lastok = (yyvsp[0].qp);}
+#line 3032 "parse1.cpp"
+    break;
+
+  case 190: /* intexpr: INT '(' expr ')'  */
+#line 608 "../../../../src/nmodl/parse1.ypp"
+                           {
+		lastok = (yyvsp[0].qp);
+		replacstr((yyvsp[-3].qp), " (int)");
+		}
+#line 3041 "parse1.cpp"
+    break;
+
+  case 191: /* intexpr: error  */
+#line 612 "../../../../src/nmodl/parse1.ypp"
+                {myerr("Illegal integer expression");}
+#line 3047 "parse1.cpp"
+    break;
+
+  case 195: /* expr: '(' expr ')'  */
+#line 617 "../../../../src/nmodl/parse1.ypp"
+                        {lastok = (yyvsp[0].qp);}
+#line 3053 "parse1.cpp"
+    break;
+
+  case 200: /* expr: expr '^' expr  */
+#line 623 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.qp) = insertstr((yyvsp[-2].qp), "pow("); replacstr((yyvsp[-1].qp), ",");
+			lastok = insertstr(lastok->next, ")"); }
+#line 3060 "parse1.cpp"
+    break;
+
+  case 201: /* expr: expr OR expr  */
+#line 625 "../../../../src/nmodl/parse1.ypp"
+                       {replacstr((yyvsp[-1].qp), " ||");}
+#line 3066 "parse1.cpp"
+    break;
+
+  case 202: /* expr: expr AND expr  */
+#line 626 "../../../../src/nmodl/parse1.ypp"
+                        {replacstr((yyvsp[-1].qp), " &&");}
+#line 3072 "parse1.cpp"
+    break;
+
+  case 207: /* expr: expr EQ expr  */
+#line 631 "../../../../src/nmodl/parse1.ypp"
+                       {replacstr((yyvsp[-1].qp), " ==");}
+#line 3078 "parse1.cpp"
+    break;
+
+  case 208: /* expr: expr NE expr  */
+#line 632 "../../../../src/nmodl/parse1.ypp"
+                       {replacstr((yyvsp[-1].qp), " !=");}
+#line 3084 "parse1.cpp"
+    break;
+
+  case 209: /* expr: NOT expr  */
+#line 633 "../../../../src/nmodl/parse1.ypp"
+                         {replacstr((yyvsp[-1].qp), " !");}
+#line 3090 "parse1.cpp"
+    break;
+
+  case 211: /* expr: error  */
+#line 635 "../../../../src/nmodl/parse1.ypp"
+                {myerr("Illegal expression");}
+#line 3096 "parse1.cpp"
+    break;
+
+  case 212: /* nonlineqn: NONLIN1  */
+#line 637 "../../../../src/nmodl/parse1.ypp"
+                   {inequation = 1; nstate = 0;}
+#line 3102 "parse1.cpp"
+    break;
+
+  case 213: /* lineqn: LIN1  */
+#line 641 "../../../../src/nmodl/parse1.ypp"
+                {inequation = 1; nstate = 0;
+		pstate = 0; tstate = 0; init_lineq((yyvsp[0].qp)); leftside = -1;}
+#line 3109 "parse1.cpp"
+    break;
+
+  case 214: /* leftlinexpr: linexpr  */
+#line 644 "../../../../src/nmodl/parse1.ypp"
+                     {leftside = 1;}
+#line 3115 "parse1.cpp"
+    break;
+
+  case 215: /* linexpr: primary  */
+#line 648 "../../../../src/nmodl/parse1.ypp"
+                {linterm((yyvsp[0].qp), lastok, pstate, leftside); pstate = 0;}
+#line 3121 "parse1.cpp"
+    break;
+
+  case 216: /* linexpr: '-' primary  */
+#line 650 "../../../../src/nmodl/parse1.ypp"
+                {remove((yyvsp[-1].qp));
+		linterm((yyvsp[0].qp), lastok, pstate, -leftside); pstate = 0;}
+#line 3128 "parse1.cpp"
+    break;
+
+  case 217: /* linexpr: linexpr '+' primary  */
+#line 653 "../../../../src/nmodl/parse1.ypp"
+                {remove((yyvsp[-1].qp));
+		linterm((yyvsp[0].qp), lastok, pstate, leftside); pstate = 0;}
+#line 3135 "parse1.cpp"
+    break;
+
+  case 218: /* linexpr: linexpr '-' primary  */
+#line 656 "../../../../src/nmodl/parse1.ypp"
+                {remove((yyvsp[-1].qp));
+		linterm((yyvsp[0].qp), lastok, pstate, -leftside); pstate = 0;}
+#line 3142 "parse1.cpp"
+    break;
+
+  case 219: /* primary: term  */
+#line 660 "../../../../src/nmodl/parse1.ypp"
+                { if (tstate == 1) {
+			lin_state_term((yyvsp[0].qp), lastok);
+		  }
+		  tstate = 0;
+		}
+#line 3152 "parse1.cpp"
+    break;
+
+  case 220: /* primary: primary '*' term  */
+#line 666 "../../../../src/nmodl/parse1.ypp"
+                { if (tstate == 1) {
+			lin_state_term((yyvsp[0].qp), lastok);
+		  }
+		  tstate = 0;
+		}
+#line 3162 "parse1.cpp"
+    break;
+
+  case 221: /* primary: primary '/' term  */
+#line 672 "../../../../src/nmodl/parse1.ypp"
+                { if (tstate) {
+			diag("state ocurs in denominator", (char *)0);
+		  }
+		}
+#line 3171 "parse1.cpp"
+    break;
+
+  case 224: /* term: funccall  */
+#line 679 "../../../../src/nmodl/parse1.ypp"
+                   {if (tstate) diag("states not permitted in function calls",
+			(char *)0);}
+#line 3178 "parse1.cpp"
+    break;
+
+  case 225: /* term: '(' expr ')'  */
+#line 681 "../../../../src/nmodl/parse1.ypp"
+                       { lastok = (yyvsp[0].qp);
+			if (tstate) diag("states not permitted between ",
+				"parentheses");}
+#line 3186 "parse1.cpp"
+    break;
+
+  case 226: /* term: error  */
+#line 685 "../../../../src/nmodl/parse1.ypp"
+{diag("Some operators are not permitted in linear\n",
+"expressions unless the terms containing them are\nenclosed in parentheses");}
+#line 3193 "parse1.cpp"
+    break;
+
+  case 227: /* $@29: %empty  */
+#line 689 "../../../../src/nmodl/parse1.ypp"
+                { if (SYM((yyvsp[-1].qp))->subtype & EXTDEF2) { extdef2 = 1;}}
+#line 3199 "parse1.cpp"
+    break;
+
+  case 228: /* funccall: NAME '(' $@29 exprlist ')'  */
+#line 691 "../../../../src/nmodl/parse1.ypp"
+                {lastok = (yyvsp[0].qp); SYM((yyvsp[-4].qp))->usage |= FUNCT;
+		 if (SYM((yyvsp[-4].qp))->subtype & EXTDEF2) { extdef2 = 0;}
+		 if (SYM((yyvsp[-4].qp))->subtype & EXTDEF3) { add_reset_args((yyvsp[-3].qp));}
+		 if (SYM((yyvsp[-4].qp))->subtype & EXTDEF4) { add_nrnthread_arg((yyvsp[-3].qp));}
+		 if (SYM((yyvsp[-4].qp))->subtype & EXTDEF5) {
+			if (!assert_threadsafe) {
+fprintf(stderr, "Notice: %s is not thread safe\n", SYM((yyvsp[-4].qp))->name);
+				vectorize = 0;
+			}
+		 }
+#if VECTORIZE
+		 vectorize_use_func((yyvsp[-4].qp),(yyvsp[-3].qp),(yyvsp[-1].qp),(yyvsp[0].qp),blocktype);
+#endif
+		}
+#line 3218 "parse1.cpp"
+    break;
+
+  case 229: /* exprlist: %empty  */
+#line 706 "../../../../src/nmodl/parse1.ypp"
+                     {(yyval.qp) = ITEM0;}
+#line 3224 "parse1.cpp"
+    break;
+
+  case 234: /* $@30: %empty  */
+#line 712 "../../../../src/nmodl/parse1.ypp"
+                    {pushlocal(); SYM((yyvsp[0].qp)) = copylocal(SYM((yyvsp[0].qp)));
+			SYM((yyvsp[0].qp))->subtype |= INTGER;}
+#line 3231 "parse1.cpp"
+    break;
+
+  case 235: /* fromstmt: FROM NAME $@30 '=' intexpr TO intexpr opinc stmtlist '}'  */
+#line 716 "../../../../src/nmodl/parse1.ypp"
+                { replacstr((yyvsp[-9].qp), "{int ");
+		poplocal();
+		Insertstr((yyvsp[-6].qp), ";for (");
+		Insertstr((yyvsp[-6].qp), SYM((yyvsp[-8].qp))->name);
+		Insertstr((yyvsp[-4].qp), ";");
+		Insertstr((yyvsp[-4].qp), SYM((yyvsp[-8].qp))->name);
+		replacstr((yyvsp[-4].qp), "<=");
+		if ((yyvsp[-2].qp)) {
+			Insertstr((yyvsp[-2].qp), ";");
+			Insertstr((yyvsp[-2].qp), SYM((yyvsp[-8].qp))->name);
+			replacstr((yyvsp[-2].qp), "+=");
+		} else {
+			Insertstr((yyvsp[-1].qp), ";");
+			Insertstr((yyvsp[-1].qp), SYM((yyvsp[-8].qp))->name);
+			Insertstr((yyvsp[-1].qp), "++");
+		}
+		Insertstr((yyvsp[-1].qp), ")");
+		Insertstr((yyvsp[0].qp), "}");
+		}
+#line 3255 "parse1.cpp"
+    break;
+
+  case 236: /* fromstmt: FROM error  */
+#line 735 "../../../../src/nmodl/parse1.ypp"
+                    {
+myerr("FROM intvar = intexpr TO intexpr BY intexpr { statements }");}
+#line 3262 "parse1.cpp"
+    break;
+
+  case 237: /* opinc: %empty  */
+#line 738 "../../../../src/nmodl/parse1.ypp"
+                   {(yyval.qp) = ITEM0;}
+#line 3268 "parse1.cpp"
+    break;
+
+  case 239: /* $@31: %empty  */
+#line 741 "../../../../src/nmodl/parse1.ypp"
+                         {pushlocal(); SYM((yyvsp[0].qp)) = copylocal(SYM((yyvsp[0].qp)));
+			  SYM((yyvsp[0].qp))->subtype |= INTGER;
+			  if (forallindex) {
+diag("Nested FORALL statements not allowed", (char *)0);
+			  }
+			  forallindex = -1;
+			}
+#line 3280 "parse1.cpp"
+    break;
+
+  case 240: /* forallstmt: FORALL1 NAME $@31 stmtlist '}'  */
+#line 750 "../../../../src/nmodl/parse1.ypp"
+                { replacstr((yyvsp[-4].qp), "{int ");
+		poplocal();
+		if (forallindex == -1) {
+diag("FORALL range is undefined since no arrays used", " within the statement");
+		}
+		Sprintf(buf, "; for (%s=0; %s<%d; %s++)", SYM((yyvsp[-3].qp))->name,
+			SYM((yyvsp[-3].qp))->name, forallindex, SYM((yyvsp[-3].qp))->name);
+		Insertstr((yyvsp[-1].qp), buf);
+		Insertstr((yyvsp[0].qp), "}");
+		}
+#line 3295 "parse1.cpp"
+    break;
+
+  case 241: /* forallstmt: FORALL1 error  */
+#line 760 "../../../../src/nmodl/parse1.ypp"
+                       {
+myerr("FORALL intvar { statements }");}
+#line 3302 "parse1.cpp"
+    break;
+
+  case 245: /* optelseif: optelseif ELSE IF '(' expr ')' stmtlist '}'  */
+#line 769 "../../../../src/nmodl/parse1.ypp"
+                {
+#if VECTORIZE
+			vectorize_if_else_stmt(blocktype);
+#endif
+		}
+#line 3312 "parse1.cpp"
+    break;
+
+  case 247: /* optelse: ELSE stmtlist '}'  */
+#line 777 "../../../../src/nmodl/parse1.ypp"
+                {
+#if VECTORIZE
+			vectorize_if_else_stmt(blocktype);
+#endif
+		}
+#line 3322 "parse1.cpp"
+    break;
+
+  case 248: /* derivblk: DERIVATIVE NAME stmtlist '}'  */
+#line 785 "../../../../src/nmodl/parse1.ypp"
+                {massagederiv((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp), sensused); sensused = 0;}
+#line 3328 "parse1.cpp"
+    break;
+
+  case 249: /* $@32: %empty  */
+#line 787 "../../../../src/nmodl/parse1.ypp"
+                             {init_linblk((yyvsp[-1].qp));}
+#line 3334 "parse1.cpp"
+    break;
+
+  case 250: /* linblk: LINEAR NAME solvefor $@32 stmtlist '}'  */
+#line 789 "../../../../src/nmodl/parse1.ypp"
+                {massage_linblk((yyvsp[-5].qp), (yyvsp[-4].qp), (yyvsp[-1].qp), (yyvsp[0].qp), sensused);
+		lexcontext = 0; sensused = 0;
+		}
+#line 3342 "parse1.cpp"
+    break;
+
+  case 251: /* nonlinblk: NONLINEAR NAME solvefor stmtlist '}'  */
+#line 795 "../../../../src/nmodl/parse1.ypp"
+                {massagenonlin((yyvsp[-4].qp), (yyvsp[-3].qp), (yyvsp[-1].qp), (yyvsp[0].qp), sensused);
+		lexcontext = 0; sensused = 0;
+		}
+#line 3350 "parse1.cpp"
+    break;
+
+  case 252: /* discretblk: DISCRETE NAME stmtlist '}'  */
+#line 801 "../../../../src/nmodl/parse1.ypp"
+                {massagediscblk((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3356 "parse1.cpp"
+    break;
+
+  case 253: /* partialblk: PARTIAL NAME stmtlist '}'  */
+#line 805 "../../../../src/nmodl/parse1.ypp"
+                {massagepartial((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[-1].qp), (yyvsp[0].qp));
+		lexcontext = 0;
+		}
+#line 3364 "parse1.cpp"
+    break;
+
+  case 254: /* partialblk: PARTIAL error  */
+#line 808 "../../../../src/nmodl/parse1.ypp"
+                        {
+diag("within the PARTIAL block must occur an equation with the syntax ---\n",
+"~ V' = F*DEL2(V) + G\n"); }
+#line 3372 "parse1.cpp"
+    break;
+
+  case 255: /* pareqn: '~' PRIME '=' NAME '*' DEL2 '(' NAME ')' '+' NAME  */
+#line 813 "../../../../src/nmodl/parse1.ypp"
+                {partial_eqn((yyvsp[-9].qp), (yyvsp[-7].qp), (yyvsp[-3].qp), (yyvsp[0].qp));}
+#line 3378 "parse1.cpp"
+    break;
+
+  case 256: /* pareqn: '~' DEL NAME '[' firstlast ']' '=' expr  */
+#line 815 "../../../../src/nmodl/parse1.ypp"
+                {partial_bndry(0, (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[0].qp), lastok);}
+#line 3384 "parse1.cpp"
+    break;
+
+  case 257: /* pareqn: '~' NAME '[' firstlast ']' '=' expr  */
+#line 817 "../../../../src/nmodl/parse1.ypp"
+                {partial_bndry(2, (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[0].qp), lastok);}
+#line 3390 "parse1.cpp"
+    break;
+
+  case 260: /* functableblk: FUNCTION_TABLE NAME '(' arglist ')' units  */
+#line 822 "../../../../src/nmodl/parse1.ypp"
+                {Item *b1, *b2;
+		Symbol* s = SYM((yyvsp[-4].qp));
+		s->varnum = argcnt_;
+		b1 = insertstr((yyvsp[-1].qp)->next, "{\n");
+		b2 = insertstr(b1->next, "}\n");
+
+#define GLOBFUNCT 1
+#if GLOBFUNCT && NMODL
+		replacstr((yyvsp[-5].qp), "\ndouble");
+#else
+		replacstr((yyvsp[-5].qp), "\nstatic double");
+#endif
+		defarg((yyvsp[-3].qp), (yyvsp[-1].qp));
+		movelist((yyvsp[-5].qp), b2, procfunc);
+		if (SYM((yyvsp[-4].qp))->subtype & FUNCT) {
+			diag(SYM((yyvsp[-4].qp))->name, " declared as FUNCTION twice");
+		}
+		SYM((yyvsp[-4].qp))->subtype |= FUNCT;
+		SYM((yyvsp[-4].qp))->usage |= FUNCT;
+#if HMODL || NMODL
+		hocfunc(s, (yyvsp[-3].qp), (yyvsp[-1].qp));
+#endif
+		function_table(s, (yyvsp[-3].qp), (yyvsp[-1].qp), b1, b2);
+		poplocal();
+		}
+#line 3420 "parse1.cpp"
+    break;
+
+  case 261: /* $@33: %empty  */
+#line 849 "../../../../src/nmodl/parse1.ypp"
+                {IGNORE(copylocal(SYM((yyvsp[-4].qp))));}
+#line 3426 "parse1.cpp"
+    break;
+
+  case 262: /* funcblk: FUNCTION1 NAME '(' arglist ')' units $@33 stmtlist '}'  */
+#line 853 "../../../../src/nmodl/parse1.ypp"
+                { Symbol *s = SYM((yyvsp[-7].qp));
+		s->varnum = argcnt_;
+		table_massage(table_list, (yyvsp[-8].qp), (yyvsp[-7].qp), (yyvsp[-5].lp)); freelist(&table_list);
+#if GLOBFUNCT && NMODL
+		replacstr((yyvsp[-8].qp), "\ndouble");
+#else
+		replacstr((yyvsp[-8].qp), "\nstatic double");
+#endif
+		defarg((yyvsp[-6].qp), (yyvsp[-4].qp));
+		Sprintf(buf, "double _l%s;\n", s->name);
+		Insertstr((yyvsp[-1].qp)->next, buf);
+		Sprintf(buf, "\nreturn _l%s;\n", s->name);
+		Insertstr((yyvsp[0].qp), buf);
+		movelist((yyvsp[-8].qp), (yyvsp[0].qp), procfunc);
+		if (SYM((yyvsp[-7].qp))->subtype & FUNCT) {
+			diag(SYM((yyvsp[-7].qp))->name, " declared as FUNCTION twice");
+		}
+		SYM((yyvsp[-7].qp))->subtype |= FUNCT;
+		SYM((yyvsp[-7].qp))->usage |= FUNCT;
+#if HMODL || NMODL
+		hocfunc(s, (yyvsp[-6].qp), (yyvsp[-4].qp));
+#endif
+		poplocal(); freelist(&(yyvsp[-5].lp));}
+#line 3454 "parse1.cpp"
+    break;
+
+  case 263: /* arglist: %empty  */
+#line 877 "../../../../src/nmodl/parse1.ypp"
+                     {pushlocal(); (yyval.lp) = LIST0; argcnt_ = 0;}
+#line 3460 "parse1.cpp"
+    break;
+
+  case 264: /* $@34: %empty  */
+#line 878 "../../../../src/nmodl/parse1.ypp"
+          {pushlocal();}
+#line 3466 "parse1.cpp"
+    break;
+
+  case 265: /* arglist: $@34 arglist1  */
+#line 878 "../../../../src/nmodl/parse1.ypp"
+                                  {(yyval.lp) = (yyvsp[0].lp);}
+#line 3472 "parse1.cpp"
+    break;
+
+  case 266: /* arglist1: name units  */
+#line 881 "../../../../src/nmodl/parse1.ypp"
+                {SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp))); argcnt_ = 1;
+		 (yyval.lp) = newlist(); Lappendsym((yyval.lp), SYM((yyvsp[-1].qp)));
+		}
+#line 3480 "parse1.cpp"
+    break;
+
+  case 267: /* arglist1: arglist1 ',' name units  */
+#line 885 "../../../../src/nmodl/parse1.ypp"
+                {SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp))); Lappendsym((yyval.lp), SYM((yyvsp[-1].qp)));
+		 ++argcnt_;
+		}
+#line 3488 "parse1.cpp"
+    break;
+
+  case 268: /* procedblk: PROCEDURE NAME '(' arglist ')' units stmtlist '}'  */
+#line 890 "../../../../src/nmodl/parse1.ypp"
+                {Symbol *s = SYM((yyvsp[-6].qp));
+		s->u.i = 0; 	/* avoid objectcenter warning if solved */
+		s->varnum = argcnt_; /* allow proper number of "double" in prototype */
+		table_massage(table_list, (yyvsp[-7].qp), (yyvsp[-6].qp), (yyvsp[-4].lp)); freelist(&table_list);
+		replacstr((yyvsp[-7].qp), "\nstatic int "); defarg((yyvsp[-5].qp), (yyvsp[-3].qp));
+		Insertstr((yyvsp[0].qp), " return 0;");
+		movelist((yyvsp[-7].qp), (yyvsp[0].qp), procfunc);
+		if (SYM((yyvsp[-6].qp))->subtype & PROCED) {
+			diag(SYM((yyvsp[-6].qp))->name, " declared as PROCEDURE twice");
+		}
+		SYM((yyvsp[-6].qp))->subtype |= PROCED;
+		SYM((yyvsp[-6].qp))->usage |= FUNCT;
+#if HMODL || NMODL
+		hocfunc(s, (yyvsp[-5].qp), (yyvsp[-3].qp));
+#endif
+		poplocal(); freelist(&(yyvsp[-4].lp));}
+#line 3509 "parse1.cpp"
+    break;
+
+  case 269: /* $@35: %empty  */
+#line 908 "../../../../src/nmodl/parse1.ypp"
+                {
+			nr_argcnt_ = argcnt_;
+			/* add flag arg */
+			if ((yyvsp[-1].lp) == LIST0) {
+diag("NET_RECEIVE block",(char*)" must have at least one argument");
+			}
+			Lappendsym((yyvsp[-1].lp), copylocal(install("flag", NAME)));
+		}
+#line 3522 "parse1.cpp"
+    break;
+
+  case 270: /* netrecblk: NETRECEIVE '(' arglist ')' $@35 stmtlist '}'  */
+#line 917 "../../../../src/nmodl/parse1.ypp"
+                {
+		replacstr((yyvsp[-6].qp), "\nstatic void _net_receive");
+		movelist((yyvsp[-6].qp), (yyvsp[0].qp), procfunc);
+#if NMODL
+		net_receive((yyvsp[-4].lp), (yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-1].qp), (yyvsp[0].qp));
+#endif
+		poplocal(); freelist(&(yyvsp[-4].lp));
+		}
+#line 3535 "parse1.cpp"
+    break;
+
+  case 271: /* netrecblk: NETRECEIVE error  */
+#line 925 "../../../../src/nmodl/parse1.ypp"
+                           { myerr("syntax: NET_RECEIVE ( weight ) {stmtlist}");}
+#line 3541 "parse1.cpp"
+    break;
+
+  case 272: /* initstmt: INITIAL1 stmtlist '}'  */
+#line 928 "../../../../src/nmodl/parse1.ypp"
+                {
+			check_block(NETRECEIVE, blocktype, "INITIAL");
+#if NMODL
+			net_init((yyvsp[-2].qp), (yyvsp[0].qp));
+#endif
+		}
+#line 3552 "parse1.cpp"
+    break;
+
+  case 273: /* solveblk: SOLVE NAME ifsolerr  */
+#line 937 "../../../../src/nmodl/parse1.ypp"
+                { solvequeue((yyvsp[-1].qp), ITEM0, blocktype, (yyvsp[0].qp)); }
+#line 3558 "parse1.cpp"
+    break;
+
+  case 274: /* solveblk: SOLVE NAME USING METHOD ifsolerr  */
+#line 939 "../../../../src/nmodl/parse1.ypp"
+                { solvequeue((yyvsp[-3].qp), (yyvsp[-1].qp), blocktype, (yyvsp[0].qp)); }
+#line 3564 "parse1.cpp"
+    break;
+
+  case 275: /* solveblk: SOLVE error  */
+#line 940 "../../../../src/nmodl/parse1.ypp"
+                      { myerr("Illegal SOLVE statement");}
+#line 3570 "parse1.cpp"
+    break;
+
+  case 276: /* ifsolerr: %empty  */
+#line 943 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.qp) = ITEM0; }
+#line 3576 "parse1.cpp"
+    break;
+
+  case 277: /* ifsolerr: IFERROR stmtlist '}'  */
+#line 945 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.qp) = (yyvsp[0].qp); }
+#line 3582 "parse1.cpp"
+    break;
+
+  case 278: /* solvefor: %empty  */
+#line 948 "../../../../src/nmodl/parse1.ypp"
+                { if (solveforlist) {
+			freelist(&solveforlist);
+		  }
+		}
+#line 3591 "parse1.cpp"
+    break;
+
+  case 280: /* solvefor1: SOLVEFOR NAME  */
+#line 955 "../../../../src/nmodl/parse1.ypp"
+                { solveforlist = newlist(); Lappendsym(solveforlist, SYM((yyvsp[0].qp)));
+		  remove((yyvsp[-1].qp)); remove((yyvsp[0].qp));
+		}
+#line 3599 "parse1.cpp"
+    break;
+
+  case 281: /* solvefor1: solvefor1 ',' NAME  */
+#line 959 "../../../../src/nmodl/parse1.ypp"
+                { Lappendsym(solveforlist, SYM((yyvsp[0].qp))); remove((yyvsp[-1].qp)); remove((yyvsp[0].qp));}
+#line 3605 "parse1.cpp"
+    break;
+
+  case 282: /* solvefor1: SOLVEFOR error  */
+#line 960 "../../../../src/nmodl/parse1.ypp"
+                         { myerr("Syntax: SOLVEFOR name, name, ...");}
+#line 3611 "parse1.cpp"
+    break;
+
+  case 283: /* brkptblk: BREAKPOINT stmtlist '}'  */
+#line 964 "../../../../src/nmodl/parse1.ypp"
+                {brkpnt_exists = 1; movelist((yyvsp[-1].qp), (yyvsp[0].qp), modelfunc);}
+#line 3617 "parse1.cpp"
+    break;
+
+  case 284: /* terminalblk: TERMINAL stmtlist '}'  */
+#line 967 "../../../../src/nmodl/parse1.ypp"
+                {movelist((yyvsp[-1].qp), (yyvsp[0].qp), termfunc);}
+#line 3623 "parse1.cpp"
+    break;
+
+  case 285: /* bablk: BREAKPOINT stmtlist '}'  */
+#line 970 "../../../../src/nmodl/parse1.ypp"
+                {bablk(blocktype, BREAKPOINT, (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3629 "parse1.cpp"
+    break;
+
+  case 286: /* bablk: SOLVE stmtlist '}'  */
+#line 972 "../../../../src/nmodl/parse1.ypp"
+                {bablk(blocktype, SOLVE, (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3635 "parse1.cpp"
+    break;
+
+  case 287: /* bablk: INITIAL1 stmtlist '}'  */
+#line 974 "../../../../src/nmodl/parse1.ypp"
+                {bablk(blocktype, INITIAL1, (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3641 "parse1.cpp"
+    break;
+
+  case 288: /* bablk: STEP stmtlist '}'  */
+#line 976 "../../../../src/nmodl/parse1.ypp"
+                {bablk(blocktype, STEP, (yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3647 "parse1.cpp"
+    break;
+
+  case 289: /* bablk: error  */
+#line 977 "../../../../src/nmodl/parse1.ypp"
+                {myerr("[BEFORE AFTER] [BREAKPOINT SOLVE INITIAL STEP] { stmt }");}
+#line 3653 "parse1.cpp"
+    break;
+
+  case 290: /* watchstmt: WATCH watch1  */
+#line 980 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp); remove((yyvsp[-1].qp));}
+#line 3659 "parse1.cpp"
+    break;
+
+  case 291: /* watchstmt: watchstmt ',' watch1  */
+#line 982 "../../../../src/nmodl/parse1.ypp"
+                {remove((yyvsp[-1].qp));}
+#line 3665 "parse1.cpp"
+    break;
+
+  case 292: /* watchstmt: WATCH error  */
+#line 983 "../../../../src/nmodl/parse1.ypp"
+                      {myerr("WATCH (expr > expr) flag");}
+#line 3671 "parse1.cpp"
+    break;
+
+  case 293: /* watch1: '(' aexpr watchdir aexpr ')' real  */
+#line 986 "../../../../src/nmodl/parse1.ypp"
+                {watchstmt((yyvsp[-5].qp), (yyvsp[-3].qp), (yyvsp[-1].qp), (yyvsp[0].qp), blocktype); (yyval.qp)=(yyvsp[0].qp);}
+#line 3677 "parse1.cpp"
+    break;
+
+  case 296: /* $@36: %empty  */
+#line 991 "../../../../src/nmodl/parse1.ypp"
+                                       {
+			if (blocktype != NETRECEIVE) {
+				diag("\"FOR_NETCONS\" statement only allowed in NET_RECEIVE block", (char*)0);
+			}
+			if (argcnt_ != nr_argcnt_) {
+				diag("FOR_NETCONS and NET_RECEIVE do not have same number of arguments", (char*)0);
+			}
+		}
+#line 3690 "parse1.cpp"
+    break;
+
+  case 297: /* fornetcon: FOR_NETCONS '(' arglist ')' $@36 stmtlist '}'  */
+#line 1000 "../../../../src/nmodl/parse1.ypp"
+                {fornetcon((yyvsp[-6].qp), (yyvsp[-5].qp), (yyvsp[-4].lp), (yyvsp[-3].qp), (yyvsp[-1].qp), (yyvsp[0].qp)); (yyval.qp) = (yyvsp[0].qp); }
+#line 3696 "parse1.cpp"
+    break;
+
+  case 298: /* fornetcon: FOR_NETCONS error  */
+#line 1001 "../../../../src/nmodl/parse1.ypp"
+                            { myerr("syntax: FOR_NETCONS(args,like,netreceive) { stmtlist}");}
+#line 3702 "parse1.cpp"
+    break;
+
+  case 302: /* aexpr: '(' aexpr ')'  */
+#line 1006 "../../../../src/nmodl/parse1.ypp"
+                        {lastok = (yyvsp[0].qp);}
+#line 3708 "parse1.cpp"
+    break;
+
+  case 307: /* aexpr: aexpr '^' aexpr  */
+#line 1012 "../../../../src/nmodl/parse1.ypp"
+                { (yyval.qp) = insertstr((yyvsp[-2].qp), "pow("); replacstr((yyvsp[-1].qp), ",");
+			lastok = insertstr(lastok->next, ")"); }
+#line 3715 "parse1.cpp"
+    break;
+
+  case 309: /* aexpr: error  */
+#line 1015 "../../../../src/nmodl/parse1.ypp"
+                {myerr("Illegal expression");}
+#line 3721 "parse1.cpp"
+    break;
+
+  case 310: /* sens: SENS senslist  */
+#line 1020 "../../../../src/nmodl/parse1.ypp"
+                { sensused = 1;
+		  remove((yyvsp[-1].qp));
+		}
+#line 3729 "parse1.cpp"
+    break;
+
+  case 311: /* sens: SENS error  */
+#line 1023 "../../../../src/nmodl/parse1.ypp"
+                    {myerr("syntax is SENS var1, var2, var3, etc");}
+#line 3735 "parse1.cpp"
+    break;
+
+  case 312: /* senslist: varname  */
+#line 1027 "../../../../src/nmodl/parse1.ypp"
+                { sensparm((yyvsp[0].qp)); remove((yyvsp[0].qp));}
+#line 3741 "parse1.cpp"
+    break;
+
+  case 313: /* senslist: senslist ',' varname  */
+#line 1029 "../../../../src/nmodl/parse1.ypp"
+                { sensparm((yyvsp[0].qp)); deltokens((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3747 "parse1.cpp"
+    break;
+
+  case 314: /* $@37: %empty  */
+#line 1032 "../../../../src/nmodl/parse1.ypp"
+                   {extdef2 = 0; }
+#line 3753 "parse1.cpp"
+    break;
+
+  case 315: /* conserve: CONSERVE $@37 react '=' expr  */
+#line 1033 "../../../../src/nmodl/parse1.ypp"
+                {/* react originally designed for reactions and is unchanged*/
+		extdef2 = 0;
+		massageconserve((yyvsp[-4].qp), (yyvsp[-1].qp), lastok);}
+#line 3761 "parse1.cpp"
+    break;
+
+  case 316: /* conserve: CONSERVE error  */
+#line 1036 "../../../../src/nmodl/parse1.ypp"
+                         {myerr("Illegal CONSERVE syntax");}
+#line 3767 "parse1.cpp"
+    break;
+
+  case 317: /* $@38: %empty  */
+#line 1039 "../../../../src/nmodl/parse1.ypp"
+         {pushlocal(); SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp)));}
+#line 3773 "parse1.cpp"
+    break;
+
+  case 318: /* compart: COMPARTMENT NAME ',' $@38 expr '{' namelist '}'  */
+#line 1041 "../../../../src/nmodl/parse1.ypp"
+                {massagecompart((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[0].qp), SYM((yyvsp[-6].qp))); poplocal();}
+#line 3779 "parse1.cpp"
+    break;
+
+  case 319: /* compart: COMPARTMENT expr '{' namelist '}'  */
+#line 1043 "../../../../src/nmodl/parse1.ypp"
+                {massagecompart((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[0].qp), SYM0);}
+#line 3785 "parse1.cpp"
+    break;
+
+  case 320: /* $@39: %empty  */
+#line 1046 "../../../../src/nmodl/parse1.ypp"
+         {pushlocal(); SYM((yyvsp[-1].qp)) = copylocal(SYM((yyvsp[-1].qp)));}
+#line 3791 "parse1.cpp"
+    break;
+
+  case 321: /* ldifus: LONGDIFUS NAME ',' $@39 expr '{' namelist '}'  */
+#line 1048 "../../../../src/nmodl/parse1.ypp"
+                {massageldifus((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[0].qp), SYM((yyvsp[-6].qp))); poplocal();}
+#line 3797 "parse1.cpp"
+    break;
+
+  case 322: /* ldifus: LONGDIFUS expr '{' namelist '}'  */
+#line 1050 "../../../../src/nmodl/parse1.ypp"
+                {massageldifus((yyvsp[-3].qp), (yyvsp[-2].qp), (yyvsp[0].qp), SYM0);}
+#line 3803 "parse1.cpp"
+    break;
+
+  case 325: /* kineticblk: KINETIC NAME solvefor stmtlist '}'  */
+#line 1058 "../../../../src/nmodl/parse1.ypp"
+                {massagekinetic((yyvsp[-4].qp), (yyvsp[-3].qp), (yyvsp[-1].qp), (yyvsp[0].qp), sensused);
+		lexcontext = 0; sensused = 0;
+		}
+#line 3811 "parse1.cpp"
+    break;
+
+  case 326: /* $@40: %empty  */
+#line 1062 "../../../../src/nmodl/parse1.ypp"
+                                {leftreact();}
+#line 3817 "parse1.cpp"
+    break;
+
+  case 327: /* reaction: REACTION react REACT1 $@40 react '(' expr ',' expr ')'  */
+#line 1063 "../../../../src/nmodl/parse1.ypp"
+                {massagereaction((yyvsp[-9].qp),(yyvsp[-7].qp),(yyvsp[-4].qp),(yyvsp[-2].qp),(yyvsp[0].qp));}
+#line 3823 "parse1.cpp"
+    break;
+
+  case 328: /* reaction: REACTION react LT LT '(' expr ')'  */
+#line 1065 "../../../../src/nmodl/parse1.ypp"
+                {flux((yyvsp[-6].qp), (yyvsp[-4].qp), (yyvsp[0].qp));}
+#line 3829 "parse1.cpp"
+    break;
+
+  case 329: /* reaction: REACTION react '-' GT '(' expr ')'  */
+#line 1067 "../../../../src/nmodl/parse1.ypp"
+                {flux((yyvsp[-6].qp), (yyvsp[-4].qp), (yyvsp[0].qp));}
+#line 3835 "parse1.cpp"
+    break;
+
+  case 330: /* reaction: REACTION error  */
+#line 1068 "../../../../src/nmodl/parse1.ypp"
+                         {myerr("Illegal reaction syntax");}
+#line 3841 "parse1.cpp"
+    break;
+
+  case 331: /* react: varname  */
+#line 1070 "../../../../src/nmodl/parse1.ypp"
+                {reactname((yyvsp[0].qp), lastok, ITEM0);}
+#line 3847 "parse1.cpp"
+    break;
+
+  case 332: /* react: integer varname  */
+#line 1071 "../../../../src/nmodl/parse1.ypp"
+                                {reactname((yyvsp[0].qp), lastok, (yyvsp[-1].qp));}
+#line 3853 "parse1.cpp"
+    break;
+
+  case 333: /* react: react '+' varname  */
+#line 1072 "../../../../src/nmodl/parse1.ypp"
+                                {reactname((yyvsp[0].qp), lastok, ITEM0);}
+#line 3859 "parse1.cpp"
+    break;
+
+  case 334: /* react: react '+' integer varname  */
+#line 1073 "../../../../src/nmodl/parse1.ypp"
+                                   {reactname((yyvsp[0].qp), lastok, (yyvsp[-1].qp));}
+#line 3865 "parse1.cpp"
+    break;
+
+  case 335: /* lagstmt: LAG name BY NAME  */
+#line 1076 "../../../../src/nmodl/parse1.ypp"
+                {lag_stmt((yyvsp[-3].qp), blocktype);}
+#line 3871 "parse1.cpp"
+    break;
+
+  case 336: /* lagstmt: LAG error  */
+#line 1077 "../../../../src/nmodl/parse1.ypp"
+                    {myerr("Lag syntax is: LAG name BY const");}
+#line 3877 "parse1.cpp"
+    break;
+
+  case 337: /* queuestmt: PUTQ name  */
+#line 1079 "../../../../src/nmodl/parse1.ypp"
+                     {queue_stmt((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3883 "parse1.cpp"
+    break;
+
+  case 338: /* queuestmt: GETQ name  */
+#line 1080 "../../../../src/nmodl/parse1.ypp"
+                    {queue_stmt((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 3889 "parse1.cpp"
+    break;
+
+  case 339: /* $@41: %empty  */
+#line 1082 "../../../../src/nmodl/parse1.ypp"
+                {checkmatch(blocktype);}
+#line 3895 "parse1.cpp"
+    break;
+
+  case 340: /* matchblk: MATCH $@41 '{' matchlist '}'  */
+#line 1083 "../../../../src/nmodl/parse1.ypp"
+                {deltokens((yyvsp[-4].qp), (yyvsp[0].qp));}
+#line 3901 "parse1.cpp"
+    break;
+
+  case 343: /* match: name  */
+#line 1089 "../../../../src/nmodl/parse1.ypp"
+                {matchinitial((yyvsp[0].qp));}
+#line 3907 "parse1.cpp"
+    break;
+
+  case 344: /* match: matchname '(' expr ')' '=' expr  */
+#line 1091 "../../../../src/nmodl/parse1.ypp"
+                { matchbound((yyvsp[-5].qp), (yyvsp[-4].qp), (yyvsp[-2].qp), (yyvsp[0].qp), lastok, matchindex);
+		  if (matchindex) {
+			poplocal();
+			matchindex = SYM0;
+		  }
+		}
+#line 3918 "parse1.cpp"
+    break;
+
+  case 345: /* match: error  */
+#line 1098 "../../../../src/nmodl/parse1.ypp"
+                {myerr("MATCH syntax is state0 or state(expr)=expr or\
+state[i](expr(i)) = expr(i)");}
+#line 3925 "parse1.cpp"
+    break;
+
+  case 346: /* matchname: name  */
+#line 1102 "../../../../src/nmodl/parse1.ypp"
+                {matchindex = SYM0;}
+#line 3931 "parse1.cpp"
+    break;
+
+  case 347: /* matchname: name '[' NAME ']'  */
+#line 1104 "../../../../src/nmodl/parse1.ypp"
+                { pushlocal();
+		  matchindex = copylocal(SYM((yyvsp[-1].qp)));
+		}
+#line 3939 "parse1.cpp"
+    break;
+
+  case 348: /* unitblk: UNITS '{' unitbody '}'  */
+#line 1109 "../../../../src/nmodl/parse1.ypp"
+                { deltokens((yyvsp[-3].qp),(yyvsp[0].qp));}
+#line 3945 "parse1.cpp"
+    break;
+
+  case 349: /* unitbody: %empty  */
+#line 1112 "../../../../src/nmodl/parse1.ypp"
+                {modl_units();}
+#line 3951 "parse1.cpp"
+    break;
+
+  case 352: /* unitdef: unit '=' unit  */
+#line 1117 "../../../../src/nmodl/parse1.ypp"
+                {install_units((yyvsp[-2].str), (yyvsp[0].str));}
+#line 3957 "parse1.cpp"
+    break;
+
+  case 353: /* unitdef: unit error  */
+#line 1118 "../../../../src/nmodl/parse1.ypp"
+                     {myerr("Unit definition syntax: (units) = (units)");}
+#line 3963 "parse1.cpp"
+    break;
+
+  case 354: /* factordef: NAME '=' real unit  */
+#line 1121 "../../../../src/nmodl/parse1.ypp"
+                { SYM((yyvsp[-3].qp))->subtype |= nmodlCONST;
+		  Sprintf(buf, "static double %s = %s;\n", SYM((yyvsp[-3].qp))->name,
+			STR((yyvsp[-1].qp)));
+		  Lappendstr(firstlist, buf);
+		}
+#line 3973 "parse1.cpp"
+    break;
+
+  case 355: /* factordef: NAME '=' unit unit  */
+#line 1127 "../../../../src/nmodl/parse1.ypp"
+                {
+		    SYM((yyvsp[-3].qp))->subtype |= nmodlCONST;
+		    nrnunit_dynamic_str(buf, SYM((yyvsp[-3].qp))->name, (yyvsp[-1].str), (yyvsp[0].str));
+		    Lappendstr(firstlist, buf);
+		}
+#line 3983 "parse1.cpp"
+    break;
+
+  case 356: /* factordef: NAME '=' unit '-' GT unit  */
+#line 1133 "../../../../src/nmodl/parse1.ypp"
+                {
+		    SYM((yyvsp[-5].qp))->subtype |= nmodlCONST;
+		    nrnunit_dynamic_str(buf, SYM((yyvsp[-5].qp))->name, (yyvsp[-3].str), (yyvsp[0].str));
+		    Lappendstr(firstlist, buf);
+		}
+#line 3993 "parse1.cpp"
+    break;
+
+  case 357: /* factordef: error  */
+#line 1138 "../../../../src/nmodl/parse1.ypp"
+                {myerr("Unit factor syntax: examples:\n\
+foot2inch = (foot) -> (inch)\n\
+F = 96520 (coulomb)\n\
+R = (k-mole) (joule/degC)");
+		}
+#line 4003 "parse1.cpp"
+    break;
+
+  case 360: /* conststmt: conststmt NAME '=' number units  */
+#line 1148 "../../../../src/nmodl/parse1.ypp"
+                { SYM((yyvsp[-3].qp))->subtype |= nmodlCONST;
+		  Sprintf(buf, "static double %s = %s;\n", SYM((yyvsp[-3].qp))->name,
+			STR((yyvsp[-1].qp)));
+		  Lappendstr(firstlist, buf);
+		}
+#line 4013 "parse1.cpp"
+    break;
+
+  case 361: /* tablestmt: TABLE tablst dependlst FROM expr TO expr WITH INTEGER  */
+#line 1155 "../../../../src/nmodl/parse1.ypp"
+                { Item *q;
+		  if (table_list) {
+			diag("only one TABLE per function", (char *)0);
+		  }
+		  table_list = newlist();
+		  Lappendlst(table_list, (yyvsp[-7].lp));
+		  q = lappendlst(table_list, newlist());
+		  movelist((yyvsp[-5].qp)->next, (yyvsp[-3].qp)->prev, LST(q));
+		  q = lappendlst(table_list, newlist());
+		  movelist((yyvsp[-3].qp)->next, (yyvsp[-1].qp)->prev, LST(q));
+		  Lappendstr(table_list, STR((yyvsp[0].qp)));
+		  Lappendlst(table_list, (yyvsp[-6].lp));
+		  deltokens((yyvsp[-8].qp), (yyvsp[0].qp));
+		}
+#line 4032 "parse1.cpp"
+    break;
+
+  case 362: /* tablestmt: TABLE error  */
+#line 1169 "../../../../src/nmodl/parse1.ypp"
+                      { myerr("syntax: TABLE [list] [DEPEND list] FROM expr TO expr WITH integer");}
+#line 4038 "parse1.cpp"
+    break;
+
+  case 363: /* tablst: %empty  */
+#line 1172 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.lp) = LIST0;}
+#line 4044 "parse1.cpp"
+    break;
+
+  case 365: /* tablst1: Name  */
+#line 1176 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.lp) = newlist(); Lappendsym((yyval.lp), SYM((yyvsp[0].qp)));}
+#line 4050 "parse1.cpp"
+    break;
+
+  case 366: /* tablst1: tablst1 ',' Name  */
+#line 1178 "../../../../src/nmodl/parse1.ypp"
+                { Lappendsym((yyvsp[-2].lp), SYM((yyvsp[0].qp)));}
+#line 4056 "parse1.cpp"
+    break;
+
+  case 367: /* dependlst: %empty  */
+#line 1181 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.lp) = LIST0;}
+#line 4062 "parse1.cpp"
+    break;
+
+  case 368: /* dependlst: DEPEND tablst1  */
+#line 1183 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.lp) = (yyvsp[0].lp);}
+#line 4068 "parse1.cpp"
+    break;
+
+  case 369: /* neuronblk: NEURON '{' nrnstmt '}'  */
+#line 1186 "../../../../src/nmodl/parse1.ypp"
+                { deltokens((yyvsp[-3].qp),(yyvsp[0].qp));}
+#line 4074 "parse1.cpp"
+    break;
+
+  case 371: /* nrnstmt: nrnstmt SUFFIX NAME  */
+#line 1190 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4080 "parse1.cpp"
+    break;
+
+  case 374: /* nrnstmt: nrnstmt NONSPECIFIC nrnlist  */
+#line 1194 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp),(yyvsp[0].qp));}
+#line 4086 "parse1.cpp"
+    break;
+
+  case 375: /* nrnstmt: nrnstmt ELECTRODE_CURRENT nrnlist  */
+#line 1196 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp),(yyvsp[0].qp));}
+#line 4092 "parse1.cpp"
+    break;
+
+  case 376: /* nrnstmt: nrnstmt SECTION nrnlist  */
+#line 1198 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4098 "parse1.cpp"
+    break;
+
+  case 377: /* nrnstmt: nrnstmt RANGE nrnlist  */
+#line 1200 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4104 "parse1.cpp"
+    break;
+
+  case 378: /* nrnstmt: nrnstmt GLOBAL nrnlist  */
+#line 1202 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4110 "parse1.cpp"
+    break;
+
+  case 379: /* nrnstmt: nrnstmt POINTER nrnlist  */
+#line 1204 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4116 "parse1.cpp"
+    break;
+
+  case 380: /* nrnstmt: nrnstmt BBCOREPOINTER nrnlist  */
+#line 1206 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4122 "parse1.cpp"
+    break;
+
+  case 381: /* nrnstmt: nrnstmt EXTERNAL nrnlist  */
+#line 1208 "../../../../src/nmodl/parse1.ypp"
+                { nrn_list((yyvsp[-1].qp), (yyvsp[0].qp));}
+#line 4128 "parse1.cpp"
+    break;
+
+  case 382: /* nrnstmt: nrnstmt THREADSAFE optnrnlist  */
+#line 1210 "../../../../src/nmodl/parse1.ypp"
+                { threadsafe_seen((yyvsp[-1].qp), (yyvsp[0].qp)); }
+#line 4134 "parse1.cpp"
+    break;
+
+  case 383: /* nrnuse: USEION NAME READ nrnlist valence optontology  */
+#line 1213 "../../../../src/nmodl/parse1.ypp"
+                {nrn_use((yyvsp[-4].qp), (yyvsp[-2].qp), ITEM0, (yyvsp[-1].qp));}
+#line 4140 "parse1.cpp"
+    break;
+
+  case 384: /* nrnuse: USEION NAME WRITE nrnlist valence optontology  */
+#line 1215 "../../../../src/nmodl/parse1.ypp"
+                {nrn_use((yyvsp[-4].qp), ITEM0, (yyvsp[-2].qp), (yyvsp[-1].qp));}
+#line 4146 "parse1.cpp"
+    break;
+
+  case 385: /* nrnuse: USEION NAME READ nrnlist WRITE nrnlist valence optontology  */
+#line 1217 "../../../../src/nmodl/parse1.ypp"
+                {nrn_use((yyvsp[-6].qp), (yyvsp[-4].qp), (yyvsp[-2].qp), (yyvsp[-1].qp));}
+#line 4152 "parse1.cpp"
+    break;
+
+  case 386: /* nrnuse: USEION error  */
+#line 1219 "../../../../src/nmodl/parse1.ypp"
+                {myerr("syntax is: USEION ion READ list WRITE list REPRESENTS curie");}
+#line 4158 "parse1.cpp"
+    break;
+
+  case 387: /* optontology: %empty  */
+#line 1221 "../../../../src/nmodl/parse1.ypp"
+             { (yyval.qp) = NULL; }
+#line 4164 "parse1.cpp"
+    break;
+
+  case 388: /* optontology: REPRESENTS ONTOLOGY_ID  */
+#line 1223 "../../../../src/nmodl/parse1.ypp"
+             { (yyval.qp) = (yyvsp[0].qp); }
+#line 4170 "parse1.cpp"
+    break;
+
+  case 390: /* nrnlist: nrnlist ',' NAME  */
+#line 1226 "../../../../src/nmodl/parse1.ypp"
+                { remove((yyvsp[-1].qp)); (yyval.qp) = (yyvsp[0].qp);}
+#line 4176 "parse1.cpp"
+    break;
+
+  case 391: /* nrnlist: error  */
+#line 1228 "../../../../src/nmodl/parse1.ypp"
+                {myerr("syntax is: keyword name , name, ..., name");}
+#line 4182 "parse1.cpp"
+    break;
+
+  case 392: /* optnrnlist: %empty  */
+#line 1231 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.qp) = NULL;}
+#line 4188 "parse1.cpp"
+    break;
+
+  case 394: /* valence: %empty  */
+#line 1235 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.qp) = ITEM0;}
+#line 4194 "parse1.cpp"
+    break;
+
+  case 395: /* valence: VALENCE real  */
+#line 1237 "../../../../src/nmodl/parse1.ypp"
+                {(yyval.qp) = (yyvsp[0].qp);}
+#line 4200 "parse1.cpp"
+    break;
+
+  case 396: /* valence: VALENCE '-' real  */
+#line 1240 "../../../../src/nmodl/parse1.ypp"
+                { Sprintf(buf, "-%s", STR((yyvsp[0].qp)));
+		 STR((yyvsp[0].qp)) = stralloc(buf, STR((yyvsp[0].qp))); (yyval.qp) = (yyvsp[0].qp);
+		remove((yyvsp[-1].qp)); lastok = (yyvsp[0].qp);
+		}
+#line 4209 "parse1.cpp"
+    break;
+
+
+#line 4213 "parse1.cpp"
+
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+
+  *++yyvsp = yyval;
+
+  /* Now 'shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
+
+  goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+      yyerror (YY_("syntax error"));
+    }
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+         error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
+      else
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
+  ++yynerrs;
+
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+
+  /* Pop stack until we find a state that shifts the error token.  */
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYSYMBOL_YYerror;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+        YYABORT;
+
+
+      yydestruct ("Error: popping",
+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturnlab;
+
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturnlab;
+
+
+/*-----------------------------------------------------------.
+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
+`-----------------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  goto yyreturnlab;
+
+
+/*----------------------------------------------------------.
+| yyreturnlab -- parsing is finished, clean up and return.  |
+`----------------------------------------------------------*/
+yyreturnlab:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+
+  return yyresult;
+}
+
+#line 1245 "../../../../src/nmodl/parse1.ypp"
+
+void yyerror(char* s)	/* called for yacc syntax error */
+{
+	Fprintf(stderr, "%s:\n ", s);
+}
+
+
+#if !NMODL
+void nrn_list(q1, q2)
+	Item *q1, *q2;
+{
+	/*ARGSUSED*/
+}
+void nrn_use(q1, q2, q3, q4)
+	Item *q1, *q2, *q3, *q4;
+{
+	/*ARGSUSED*/
+}
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nocmodl_generated/parse1.hpp
@@ -0,0 +1,199 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+#ifndef YY_YY_PARSE1_HPP_INCLUDED
+# define YY_YY_PARSE1_HPP_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token kinds.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    YYEMPTY = -2,
+    YYEOF = 0,                     /* "end of file"  */
+    YYerror = 256,                 /* error  */
+    YYUNDEF = 257,                 /* "invalid token"  */
+    VERBATIM = 258,                /* VERBATIM  */
+    COMMENT = 259,                 /* COMMENT  */
+    MODEL = 260,                   /* MODEL  */
+    CONSTANT = 261,                /* CONSTANT  */
+    INDEPENDENT = 262,             /* INDEPENDENT  */
+    DEPENDENT = 263,               /* DEPENDENT  */
+    STATE = 264,                   /* STATE  */
+    INITIAL1 = 265,                /* INITIAL1  */
+    DERIVATIVE = 266,              /* DERIVATIVE  */
+    SOLVE = 267,                   /* SOLVE  */
+    USING = 268,                   /* USING  */
+    WITH = 269,                    /* WITH  */
+    STEPPED = 270,                 /* STEPPED  */
+    DISCRETE = 271,                /* DISCRETE  */
+    FROM = 272,                    /* FROM  */
+    FORALL1 = 273,                 /* FORALL1  */
+    TO = 274,                      /* TO  */
+    BY = 275,                      /* BY  */
+    WHILE = 276,                   /* WHILE  */
+    IF = 277,                      /* IF  */
+    ELSE = 278,                    /* ELSE  */
+    START1 = 279,                  /* START1  */
+    STEP = 280,                    /* STEP  */
+    SENS = 281,                    /* SENS  */
+    SOLVEFOR = 282,                /* SOLVEFOR  */
+    PROCEDURE = 283,               /* PROCEDURE  */
+    PARTIAL = 284,                 /* PARTIAL  */
+    DEL = 285,                     /* DEL  */
+    DEL2 = 286,                    /* DEL2  */
+    DEFINE1 = 287,                 /* DEFINE1  */
+    IFERROR = 288,                 /* IFERROR  */
+    PARAMETER = 289,               /* PARAMETER  */
+    INT = 290,                     /* INT  */
+    DERFUNC = 291,                 /* DERFUNC  */
+    EQUATION = 292,                /* EQUATION  */
+    TERMINAL = 293,                /* TERMINAL  */
+    LINEAR = 294,                  /* LINEAR  */
+    NONLINEAR = 295,               /* NONLINEAR  */
+    FUNCTION1 = 296,               /* FUNCTION1  */
+    LOCAL = 297,                   /* LOCAL  */
+    METHOD = 298,                  /* METHOD  */
+    LIN1 = 299,                    /* LIN1  */
+    NONLIN1 = 300,                 /* NONLIN1  */
+    PUTQ = 301,                    /* PUTQ  */
+    GETQ = 302,                    /* GETQ  */
+    TABLE = 303,                   /* TABLE  */
+    DEPEND = 304,                  /* DEPEND  */
+    BREAKPOINT = 305,              /* BREAKPOINT  */
+    INCLUDE1 = 306,                /* INCLUDE1  */
+    FUNCTION_TABLE = 307,          /* FUNCTION_TABLE  */
+    PROTECT = 308,                 /* PROTECT  */
+    NRNMUTEXLOCK = 309,            /* NRNMUTEXLOCK  */
+    NRNMUTEXUNLOCK = 310,          /* NRNMUTEXUNLOCK  */
+    OR = 311,                      /* OR  */
+    AND = 312,                     /* AND  */
+    GT = 313,                      /* GT  */
+    LT = 314,                      /* LT  */
+    LE = 315,                      /* LE  */
+    EQ = 316,                      /* EQ  */
+    NE = 317,                      /* NE  */
+    NOT = 318,                     /* NOT  */
+    NAME = 319,                    /* NAME  */
+    PRIME = 320,                   /* PRIME  */
+    REAL = 321,                    /* REAL  */
+    INTEGER = 322,                 /* INTEGER  */
+    DEFINEDVAR = 323,              /* DEFINEDVAR  */
+    ONTOLOGY_ID = 324,             /* ONTOLOGY_ID  */
+    STRING = 325,                  /* STRING  */
+    PLOT = 326,                    /* PLOT  */
+    VS = 327,                      /* VS  */
+    LAG = 328,                     /* LAG  */
+    RESET = 329,                   /* RESET  */
+    MATCH = 330,                   /* MATCH  */
+    MODEL_LEVEL = 331,             /* MODEL_LEVEL  */
+    SWEEP = 332,                   /* SWEEP  */
+    FIRST = 333,                   /* FIRST  */
+    LAST = 334,                    /* LAST  */
+    KINETIC = 335,                 /* KINETIC  */
+    CONSERVE = 336,                /* CONSERVE  */
+    REACTION = 337,                /* REACTION  */
+    REACT1 = 338,                  /* REACT1  */
+    COMPARTMENT = 339,             /* COMPARTMENT  */
+    UNITS = 340,                   /* UNITS  */
+    UNITSON = 341,                 /* UNITSON  */
+    UNITSOFF = 342,                /* UNITSOFF  */
+    LONGDIFUS = 343,               /* LONGDIFUS  */
+    NEURON = 344,                  /* NEURON  */
+    SUFFIX = 345,                  /* SUFFIX  */
+    NONSPECIFIC = 346,             /* NONSPECIFIC  */
+    READ = 347,                    /* READ  */
+    WRITE = 348,                   /* WRITE  */
+    USEION = 349,                  /* USEION  */
+    VALENCE = 350,                 /* VALENCE  */
+    THREADSAFE = 351,              /* THREADSAFE  */
+    REPRESENTS = 352,              /* REPRESENTS  */
+    GLOBAL = 353,                  /* GLOBAL  */
+    SECTION = 354,                 /* SECTION  */
+    RANGE = 355,                   /* RANGE  */
+    POINTER = 356,                 /* POINTER  */
+    BBCOREPOINTER = 357,           /* BBCOREPOINTER  */
+    EXTERNAL = 358,                /* EXTERNAL  */
+    BEFORE = 359,                  /* BEFORE  */
+    AFTER = 360,                   /* AFTER  */
+    WATCH = 361,                   /* WATCH  */
+    ELECTRODE_CURRENT = 362,       /* ELECTRODE_CURRENT  */
+    CONSTRUCTOR = 363,             /* CONSTRUCTOR  */
+    DESTRUCTOR = 364,              /* DESTRUCTOR  */
+    NETRECEIVE = 365,              /* NETRECEIVE  */
+    FOR_NETCONS = 366,             /* FOR_NETCONS  */
+    CONDUCTANCE = 367,             /* CONDUCTANCE  */
+    GE = 368,                      /* GE  */
+    UNARYMINUS = 369               /* UNARYMINUS  */
+  };
+  typedef enum yytokentype yytoken_kind_t;
+#endif
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+union YYSTYPE
+{
+#line 76 "../../../../src/nmodl/parse1.ypp"
+
+	Item	*qp;
+	char	*str;
+	List	*lp;
+	int	i;
+
+#line 185 "parse1.hpp"
+
+};
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+
+int yyparse (void);
+
+
+#endif /* !YY_YY_PARSE1_HPP_INCLUDED  */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/nrnversion.h.tmp
@@ -0,0 +1,4 @@
+#define GIT_DATE "Build Time: 2023-10-25-08:18:24"
+#define GIT_BRANCH "unknown branch"
+#define GIT_CHANGESET "unknown commit id"
+#define GIT_DESCRIBE "8.2.2.dev0"
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.cpp
@@ -0,0 +1,4080 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output, and Bison version.  */
+#define YYBISON 30802
+
+/* Bison version string.  */
+#define YYBISON_VERSION "3.8.2"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+
+
+
+/* First part of user prologue.  */
+#line 2 "../../../../src/oc/parse.ypp"
+
+
+#include <../../nrnconf.h>
+/* changes as of 2-jan-89 */
+/*  version 7.2.1 2-jan-89 short form of the for statement */
+
+#if AIX
+#pragma alloca
+#endif
+
+#include "hoc.h"
+#include "ocmisc.h"
+#include "hocparse.h"
+#include "code.h"
+#include "equation.h"
+#include "nrnfilewrap.h"
+
+void* nrn_parsing_pysec_;
+
+#if LINT
+Inst *inlint;
+#define code	inlint = Code
+#else
+#define code	Code
+#endif
+
+#define paction(arg) fprintf(stderr, "%s\n", arg)
+
+/* maintain a list of ierr addresses so we can clear them */
+#define HOCERRSIZE 20
+static int** hoc_err;
+static int hoc_errp;
+static int localcnt;
+
+static void clean_err(void) {
+	int i;
+	for (i=0; i < hoc_errp; ++i) {
+		*hoc_err[i] = 0;
+	}
+	hoc_errp = 0;
+}
+
+static void pusherr(int* ip) {
+	if (!hoc_err) {
+		hoc_err = (int**)ecalloc(HOCERRSIZE, sizeof(int*));
+		hoc_errp = 0;
+	}
+	if (hoc_errp >= HOCERRSIZE) {
+		clean_err();
+		hoc_execerror("error stack full", (char*)0);
+	}
+	hoc_err[hoc_errp++] = ip;
+}
+
+static void yyerror(const char* s);
+
+#if YYBISON
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++)){pusherr(&ierr);yyerror(arg);} --yyssp; --yyvsp; YYERROR
+#else
+#define myerr(arg) static int ierr=0;\
+if (!(ierr++)){pusherr(&ierr);yyerror(arg);} YYERROR
+#endif
+
+#define code2(c1,c2)	code(c1); codein(c2)
+#define code3(c1,c2,c3)	code(c1); codesym(c2); code(c3)
+#define relative(ip1,ip2,offset)	((ip1-ip2) - offset)
+#define CHECK 1	/* check syntactically the consistency of arrays */
+#define NOCHECK 0 /* don't check syntactically. For object components */
+#define PN pushi(NUMBER)	/* for type checking. expressions are usually numbers */
+#define TPD hoc_ob_check(NUMBER);
+#define TPDYNAM hoc_ob_check(0);
+
+static Inst *prog_error;			/* needed for stmtlist loc if error */
+static int ntab;			/* auto indentation */
+
+static Inst* argrefcode(Pfrv pfrv, int i, int j);
+static Inst* argcode(Pfrv pfrv, int i);
+static void hoc_opasgn_invalid(int op);
+ 
+
+#line 153 "parse.cpp"
+
+# ifndef YY_CAST
+#  ifdef __cplusplus
+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+#  else
+#   define YY_CAST(Type, Val) ((Type) (Val))
+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+#  endif
+# endif
+# ifndef YY_NULLPTR
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
+#  else
+#   define YY_NULLPTR ((void*)0)
+#  endif
+# endif
+
+#include "parse.hpp"
+/* Symbol kind.  */
+enum yysymbol_kind_t
+{
+  YYSYMBOL_YYEMPTY = -2,
+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+  YYSYMBOL_YYerror = 1,                    /* error  */
+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+  YYSYMBOL_EQNEQ = 3,                      /* EQNEQ  */
+  YYSYMBOL_NUMBER = 4,                     /* NUMBER  */
+  YYSYMBOL_STRING = 5,                     /* STRING  */
+  YYSYMBOL_PRINT = 6,                      /* PRINT  */
+  YYSYMBOL_parseDELETE = 7,                /* parseDELETE  */
+  YYSYMBOL_VAR = 8,                        /* VAR  */
+  YYSYMBOL_BLTIN = 9,                      /* BLTIN  */
+  YYSYMBOL_UNDEF = 10,                     /* UNDEF  */
+  YYSYMBOL_WHILE = 11,                     /* WHILE  */
+  YYSYMBOL_IF = 12,                        /* IF  */
+  YYSYMBOL_ELSE = 13,                      /* ELSE  */
+  YYSYMBOL_FOR = 14,                       /* FOR  */
+  YYSYMBOL_FUNCTION = 15,                  /* FUNCTION  */
+  YYSYMBOL_PROCEDURE = 16,                 /* PROCEDURE  */
+  YYSYMBOL_RETURN = 17,                    /* RETURN  */
+  YYSYMBOL_FUNC = 18,                      /* FUNC  */
+  YYSYMBOL_parsePROC = 19,                 /* parsePROC  */
+  YYSYMBOL_HOCOBJFUNC = 20,                /* HOCOBJFUNC  */
+  YYSYMBOL_READ = 21,                      /* READ  */
+  YYSYMBOL_parseDOUBLE = 22,               /* parseDOUBLE  */
+  YYSYMBOL_DEBUG = 23,                     /* DEBUG  */
+  YYSYMBOL_EDIT = 24,                      /* EDIT  */
+  YYSYMBOL_FUN_BLTIN = 25,                 /* FUN_BLTIN  */
+  YYSYMBOL_DEPENDENT = 26,                 /* DEPENDENT  */
+  YYSYMBOL_EQUATION = 27,                  /* EQUATION  */
+  YYSYMBOL_LOCAL = 28,                     /* LOCAL  */
+  YYSYMBOL_HOCOBJFUNCTION = 29,            /* HOCOBJFUNCTION  */
+  YYSYMBOL_BREAK = 30,                     /* BREAK  */
+  YYSYMBOL_CONTINUE = 31,                  /* CONTINUE  */
+  YYSYMBOL_AUTO = 32,                      /* AUTO  */
+  YYSYMBOL_STRDEF = 33,                    /* STRDEF  */
+  YYSYMBOL_STOPSTMT = 34,                  /* STOPSTMT  */
+  YYSYMBOL_CSTRING = 35,                   /* CSTRING  */
+  YYSYMBOL_PARALLEL = 36,                  /* PARALLEL  */
+  YYSYMBOL_HELP = 37,                      /* HELP  */
+  YYSYMBOL_ITERATOR = 38,                  /* ITERATOR  */
+  YYSYMBOL_ITERKEYWORD = 39,               /* ITERKEYWORD  */
+  YYSYMBOL_ITERSTMT = 40,                  /* ITERSTMT  */
+  YYSYMBOL_STRINGFUNC = 41,                /* STRINGFUNC  */
+  YYSYMBOL_OBJECTFUNC = 42,                /* OBJECTFUNC  */
+  YYSYMBOL_LOCALOBJ = 43,                  /* LOCALOBJ  */
+  YYSYMBOL_AUTOOBJ = 44,                   /* AUTOOBJ  */
+  YYSYMBOL_ARG = 45,                       /* ARG  */
+  YYSYMBOL_NUMZERO = 46,                   /* NUMZERO  */
+  YYSYMBOL_ARGREF = 47,                    /* ARGREF  */
+  YYSYMBOL_INTERNALSECTIONNAME = 48,       /* INTERNALSECTIONNAME  */
+  YYSYMBOL_PYSEC = 49,                     /* PYSEC  */
+  YYSYMBOL_PYSECNAME = 50,                 /* PYSECNAME  */
+  YYSYMBOL_PYSECOBJ = 51,                  /* PYSECOBJ  */
+  YYSYMBOL_SECTIONKEYWORD = 52,            /* SECTIONKEYWORD  */
+  YYSYMBOL_SECTION = 53,                   /* SECTION  */
+  YYSYMBOL_CONNECTKEYWORD = 54,            /* CONNECTKEYWORD  */
+  YYSYMBOL_ACCESSKEYWORD = 55,             /* ACCESSKEYWORD  */
+  YYSYMBOL_RANGEVAR = 56,                  /* RANGEVAR  */
+  YYSYMBOL_MECHANISM = 57,                 /* MECHANISM  */
+  YYSYMBOL_INSERTKEYWORD = 58,             /* INSERTKEYWORD  */
+  YYSYMBOL_FORALL = 59,                    /* FORALL  */
+  YYSYMBOL_NRNPNTVAR = 60,                 /* NRNPNTVAR  */
+  YYSYMBOL_FORSEC = 61,                    /* FORSEC  */
+  YYSYMBOL_IFSEC = 62,                     /* IFSEC  */
+  YYSYMBOL_UNINSERTKEYWORD = 63,           /* UNINSERTKEYWORD  */
+  YYSYMBOL_SETPOINTERKEYWORD = 64,         /* SETPOINTERKEYWORD  */
+  YYSYMBOL_SECTIONREF = 65,                /* SECTIONREF  */
+  YYSYMBOL_BEGINTEMPLATE = 66,             /* BEGINTEMPLATE  */
+  YYSYMBOL_ENDTEMPLATE = 67,               /* ENDTEMPLATE  */
+  YYSYMBOL_NEW = 68,                       /* NEW  */
+  YYSYMBOL_OBJECTVAR = 69,                 /* OBJECTVAR  */
+  YYSYMBOL_TEMPLATE = 70,                  /* TEMPLATE  */
+  YYSYMBOL_OBJVARDECL = 71,                /* OBJVARDECL  */
+  YYSYMBOL_PUBLICDECL = 72,                /* PUBLICDECL  */
+  YYSYMBOL_EXTERNALDECL = 73,              /* EXTERNALDECL  */
+  YYSYMBOL_OBFUNCTION = 74,                /* OBFUNCTION  */
+  YYSYMBOL_STRFUNCTION = 75,               /* STRFUNCTION  */
+  YYSYMBOL_OBJECTARG = 76,                 /* OBJECTARG  */
+  YYSYMBOL_STRINGARG = 77,                 /* STRINGARG  */
+  YYSYMBOL_ROP = 78,                       /* ROP  */
+  YYSYMBOL_79_ = 79,                       /* '='  */
+  YYSYMBOL_OR = 80,                        /* OR  */
+  YYSYMBOL_AND = 81,                       /* AND  */
+  YYSYMBOL_GT = 82,                        /* GT  */
+  YYSYMBOL_GE = 83,                        /* GE  */
+  YYSYMBOL_LT = 84,                        /* LT  */
+  YYSYMBOL_LE = 85,                        /* LE  */
+  YYSYMBOL_EQ = 86,                        /* EQ  */
+  YYSYMBOL_NE = 87,                        /* NE  */
+  YYSYMBOL_88_ = 88,                       /* '+'  */
+  YYSYMBOL_89_ = 89,                       /* '-'  */
+  YYSYMBOL_90_ = 90,                       /* '*'  */
+  YYSYMBOL_91_ = 91,                       /* '/'  */
+  YYSYMBOL_92_ = 92,                       /* '%'  */
+  YYSYMBOL_UNARYMINUS = 93,                /* UNARYMINUS  */
+  YYSYMBOL_NOT = 94,                       /* NOT  */
+  YYSYMBOL_95_ = 95,                       /* '^'  */
+  YYSYMBOL_96_n_ = 96,                     /* '\n'  */
+  YYSYMBOL_97_ = 97,                       /* '('  */
+  YYSYMBOL_98_ = 98,                       /* ')'  */
+  YYSYMBOL_99_ = 99,                       /* '['  */
+  YYSYMBOL_100_ = 100,                     /* ']'  */
+  YYSYMBOL_101_ = 101,                     /* '.'  */
+  YYSYMBOL_102_ = 102,                     /* ','  */
+  YYSYMBOL_103_ = 103,                     /* '{'  */
+  YYSYMBOL_104_ = 104,                     /* '}'  */
+  YYSYMBOL_105_ = 105,                     /* ':'  */
+  YYSYMBOL_106_ = 106,                     /* ';'  */
+  YYSYMBOL_107_ = 107,                     /* '&'  */
+  YYSYMBOL_YYACCEPT = 108,                 /* $accept  */
+  YYSYMBOL_list = 109,                     /* list  */
+  YYSYMBOL_110_1 = 110,                    /* $@1  */
+  YYSYMBOL_asgn = 111,                     /* asgn  */
+  YYSYMBOL_object = 112,                   /* object  */
+  YYSYMBOL_113_2 = 113,                    /* $@2  */
+  YYSYMBOL_ob = 114,                       /* ob  */
+  YYSYMBOL_ob1 = 115,                      /* ob1  */
+  YYSYMBOL_116_3 = 116,                    /* $@3  */
+  YYSYMBOL_func_or_range_array_case = 117, /* func_or_range_array_case  */
+  YYSYMBOL_template = 118,                 /* template  */
+  YYSYMBOL_objvarlist = 119,               /* objvarlist  */
+  YYSYMBOL_objvarlst1 = 120,               /* objvarlst1  */
+  YYSYMBOL_obvarname = 121,                /* obvarname  */
+  YYSYMBOL_publiclist = 122,               /* publiclist  */
+  YYSYMBOL_externallist = 123,             /* externallist  */
+  YYSYMBOL_strnasgn = 124,                 /* strnasgn  */
+  YYSYMBOL_string1 = 125,                  /* string1  */
+  YYSYMBOL_string2 = 126,                  /* string2  */
+  YYSYMBOL_strlist = 127,                  /* strlist  */
+  YYSYMBOL_string = 128,                   /* string  */
+  YYSYMBOL_stmt = 129,                     /* stmt  */
+  YYSYMBOL_130_4 = 130,                    /* @4  */
+  YYSYMBOL_131_5 = 131,                    /* @5  */
+  YYSYMBOL_132_6 = 132,                    /* @6  */
+  YYSYMBOL_133_7 = 133,                    /* @7  */
+  YYSYMBOL_134_8 = 134,                    /* $@8  */
+  YYSYMBOL_135_9 = 135,                    /* $@9  */
+  YYSYMBOL_136_10 = 136,                   /* @10  */
+  YYSYMBOL_137_11 = 137,                   /* $@11  */
+  YYSYMBOL_138_12 = 138,                   /* @12  */
+  YYSYMBOL_139_13 = 139,                   /* @13  */
+  YYSYMBOL_140_14 = 140,                   /* @14  */
+  YYSYMBOL_141_15 = 141,                   /* @15  */
+  YYSYMBOL_142_16 = 142,                   /* @16  */
+  YYSYMBOL_143_17 = 143,                   /* @17  */
+  YYSYMBOL_iterator = 144,                 /* iterator  */
+  YYSYMBOL_145_18 = 145,                   /* $@18  */
+  YYSYMBOL_section = 146,                  /* section  */
+  YYSYMBOL_147_19 = 147,                   /* $@19  */
+  YYSYMBOL_pysec = 148,                    /* pysec  */
+  YYSYMBOL_pysec1 = 149,                   /* pysec1  */
+  YYSYMBOL_section_or_ob = 150,            /* section_or_ob  */
+  YYSYMBOL_151_20 = 151,                   /* @20  */
+  YYSYMBOL_sectiondecl = 152,              /* sectiondecl  */
+  YYSYMBOL_sectionname = 153,              /* sectionname  */
+  YYSYMBOL_rangevar = 154,                 /* rangevar  */
+  YYSYMBOL_rangevar1 = 155,                /* rangevar1  */
+  YYSYMBOL_156_21 = 156,                   /* $@21  */
+  YYSYMBOL_pointer = 157,                  /* pointer  */
+  YYSYMBOL_for_init = 158,                 /* for_init  */
+  YYSYMBOL_for_st = 159,                   /* for_st  */
+  YYSYMBOL_for_cond = 160,                 /* for_cond  */
+  YYSYMBOL_for_inc = 161,                  /* for_inc  */
+  YYSYMBOL_cond = 162,                     /* cond  */
+  YYSYMBOL_while = 163,                    /* while  */
+  YYSYMBOL_if = 164,                       /* if  */
+  YYSYMBOL_begin = 165,                    /* begin  */
+  YYSYMBOL_end = 166,                      /* end  */
+  YYSYMBOL_stmtlist = 167,                 /* stmtlist  */
+  YYSYMBOL_expr = 168,                     /* expr  */
+  YYSYMBOL_function = 169,                 /* function  */
+  YYSYMBOL_doublelist = 170,               /* doublelist  */
+  YYSYMBOL_newarray = 171,                 /* newarray  */
+  YYSYMBOL_numdimen = 172,                 /* numdimen  */
+  YYSYMBOL_newname = 173,                  /* newname  */
+  YYSYMBOL_varname = 174,                  /* varname  */
+  YYSYMBOL_175_22 = 175,                   /* $@22  */
+  YYSYMBOL_wholearray = 176,               /* wholearray  */
+  YYSYMBOL_argrefdim = 177,                /* argrefdim  */
+  YYSYMBOL_array = 178,                    /* array  */
+  YYSYMBOL_prlist = 179,                   /* prlist  */
+  YYSYMBOL_delsym = 180,                   /* delsym  */
+  YYSYMBOL_defn = 181,                     /* defn  */
+  YYSYMBOL_182_23 = 182,                   /* $@23  */
+  YYSYMBOL_183_24 = 183,                   /* $@24  */
+  YYSYMBOL_184_25 = 184,                   /* $@25  */
+  YYSYMBOL_185_26 = 185,                   /* $@26  */
+  YYSYMBOL_procname = 186,                 /* procname  */
+  YYSYMBOL_procstmt = 187,                 /* procstmt  */
+  YYSYMBOL_188_27 = 188,                   /* $@27  */
+  YYSYMBOL_arglist = 189,                  /* arglist  */
+  YYSYMBOL_arglist1 = 190,                 /* arglist1  */
+  YYSYMBOL_arglist2 = 191,                 /* arglist2  */
+  YYSYMBOL_eqn_list = 192,                 /* eqn_list  */
+  YYSYMBOL_193_28 = 193,                   /* $@28  */
+  YYSYMBOL_dep_list = 194,                 /* dep_list  */
+  YYSYMBOL_equation = 195,                 /* equation  */
+  YYSYMBOL_196_29 = 196,                   /* $@29  */
+  YYSYMBOL_lhs = 197,                      /* lhs  */
+  YYSYMBOL_198_30 = 198,                   /* $@30  */
+  YYSYMBOL_rhs = 199,                      /* rhs  */
+  YYSYMBOL_200_31 = 200,                   /* $@31  */
+  YYSYMBOL_local = 201,                    /* local  */
+  YYSYMBOL_local1 = 202,                   /* local1  */
+  YYSYMBOL_localobj = 203,                 /* localobj  */
+  YYSYMBOL_local2 = 204,                   /* local2  */
+  YYSYMBOL_ckvar = 205,                    /* ckvar  */
+  YYSYMBOL_anyname = 206                   /* anyname  */
+};
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+   <limits.h> and (if available) <stdint.h> are included
+   so that the code can choose integer types of a good width.  */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+#  define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+   signed or unsigned integer of at least N bits.  In tables they can
+   save space and decrease cache pressure.  Promoting to a signed type
+   helps avoid bugs in integer arithmetic.  */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+       && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+#  ifndef ptrdiff_t
+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  endif
+#  define YYPTRDIFF_T ptrdiff_t
+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+#  define YYPTRDIFF_T long
+#  define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM                                  \
+  YY_CAST (YYPTRDIFF_T,                                 \
+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
+            ? YYPTRDIFF_MAXIMUM                         \
+            : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations.  */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+#  define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(E) /* empty */
+#endif
+
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
+# else
+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
+    _Pragma ("GCC diagnostic push")                                     \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# endif
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
+    _Pragma ("GCC diagnostic push")                            \
+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END            \
+    _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+             && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* !defined yyoverflow */
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yy_state_t yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYPTRDIFF_T yynewbytes;                                         \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
+      }                                                                 \
+    while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYPTRDIFF_T yyi;                      \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  2
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   2859
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  108
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  99
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  284
+/* YYNSTATES -- Number of states.  */
+#define YYNSTATES  553
+
+/* YYMAXUTOK -- Last valid token kind.  */
+#define YYMAXUTOK   343
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
+#define YYTRANSLATE(YYX)                                \
+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
+   : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex.  */
+static const yytype_int8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      96,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,    92,   107,     2,
+      97,    98,    90,    88,   102,    89,   101,    91,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   105,   106,
+       2,    79,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,    99,     2,   100,    95,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   103,     2,   104,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    80,    81,    82,    83,    84,    85,
+      86,    87,    93,    94
+};
+
+#if YYDEBUG
+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+static const yytype_int16 yyrline[] =
+{
+       0,   141,   141,   142,   143,   144,   146,   148,   150,   152,
+     154,   158,   164,   164,   165,   175,   179,   181,   184,   188,
+     194,   200,   204,   204,   206,   208,   210,   212,   215,   220,
+     223,   224,   224,   234,   237,   238,   241,   242,   243,   244,
+     245,   247,   250,   252,   254,   256,   259,   269,   271,   274,
+     276,   281,   283,   288,   290,   293,   294,   296,   300,   302,
+     306,   308,   310,   323,   325,   326,   328,   330,   331,   333,
+     335,   337,   346,   350,   356,   358,   360,   362,   364,   366,
+     371,   382,   386,   381,   393,   397,   392,   405,   409,   413,
+     419,   418,   424,   427,   428,   430,   432,   434,   434,   437,
+     439,   441,   451,   453,   455,   458,   462,   467,   466,   475,
+     478,   474,   484,   483,   491,   490,   497,   496,   503,   502,
+     510,   509,   521,   526,   526,   532,   532,   534,   539,   547,
+     551,   552,   556,   557,   557,   567,   569,   571,   573,   576,
+     584,   586,   588,   588,   591,   593,   595,   597,   598,   604,
+     606,   610,   612,   615,   617,   620,   623,   626,   630,   633,
+     636,   637,   648,   649,   654,   656,   658,   660,   662,   665,
+     667,   671,   674,   675,   677,   679,   681,   683,   685,   687,
+     689,   691,   693,   695,   697,   699,   701,   703,   705,   707,
+     709,   711,   713,   715,   717,   720,   721,   722,   723,   725,
+     728,   733,   736,   738,   741,   744,   747,   746,   753,   761,
+     796,   803,   804,   808,   810,   812,   814,   817,   822,   821,
+     828,   827,   834,   833,   840,   839,   846,   853,   854,   855,
+     856,   858,   858,   865,   866,   868,   870,   873,   875,   877,
+     878,   883,   886,   885,   891,   893,   896,   897,   899,   898,
+     903,   903,   908,   908,   913,   914,   916,   923,   935,   936,
+     938,   948,   959,   967,   967,   967,   967,   967,   967,   967,
+     967,   968,   968,   968,   968,   968,   968,   968,   969,   969,
+     969,   969,   969,   969,   970
+};
+#endif
+
+/** Accessing symbol of state STATE.  */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+   YYSYMBOL.  No bounds checking.  */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "\"end of file\"", "error", "\"invalid token\"", "EQNEQ", "NUMBER",
+  "STRING", "PRINT", "parseDELETE", "VAR", "BLTIN", "UNDEF", "WHILE", "IF",
+  "ELSE", "FOR", "FUNCTION", "PROCEDURE", "RETURN", "FUNC", "parsePROC",
+  "HOCOBJFUNC", "READ", "parseDOUBLE", "DEBUG", "EDIT", "FUN_BLTIN",
+  "DEPENDENT", "EQUATION", "LOCAL", "HOCOBJFUNCTION", "BREAK", "CONTINUE",
+  "AUTO", "STRDEF", "STOPSTMT", "CSTRING", "PARALLEL", "HELP", "ITERATOR",
+  "ITERKEYWORD", "ITERSTMT", "STRINGFUNC", "OBJECTFUNC", "LOCALOBJ",
+  "AUTOOBJ", "ARG", "NUMZERO", "ARGREF", "INTERNALSECTIONNAME", "PYSEC",
+  "PYSECNAME", "PYSECOBJ", "SECTIONKEYWORD", "SECTION", "CONNECTKEYWORD",
+  "ACCESSKEYWORD", "RANGEVAR", "MECHANISM", "INSERTKEYWORD", "FORALL",
+  "NRNPNTVAR", "FORSEC", "IFSEC", "UNINSERTKEYWORD", "SETPOINTERKEYWORD",
+  "SECTIONREF", "BEGINTEMPLATE", "ENDTEMPLATE", "NEW", "OBJECTVAR",
+  "TEMPLATE", "OBJVARDECL", "PUBLICDECL", "EXTERNALDECL", "OBFUNCTION",
+  "STRFUNCTION", "OBJECTARG", "STRINGARG", "ROP", "'='", "OR", "AND", "GT",
+  "GE", "LT", "LE", "EQ", "NE", "'+'", "'-'", "'*'", "'/'", "'%'",
+  "UNARYMINUS", "NOT", "'^'", "'\\n'", "'('", "')'", "'['", "']'", "'.'",
+  "','", "'{'", "'}'", "':'", "';'", "'&'", "$accept", "list", "$@1",
+  "asgn", "object", "$@2", "ob", "ob1", "$@3", "func_or_range_array_case",
+  "template", "objvarlist", "objvarlst1", "obvarname", "publiclist",
+  "externallist", "strnasgn", "string1", "string2", "strlist", "string",
+  "stmt", "@4", "@5", "@6", "@7", "$@8", "$@9", "@10", "$@11", "@12",
+  "@13", "@14", "@15", "@16", "@17", "iterator", "$@18", "section", "$@19",
+  "pysec", "pysec1", "section_or_ob", "@20", "sectiondecl", "sectionname",
+  "rangevar", "rangevar1", "$@21", "pointer", "for_init", "for_st",
+  "for_cond", "for_inc", "cond", "while", "if", "begin", "end", "stmtlist",
+  "expr", "function", "doublelist", "newarray", "numdimen", "newname",
+  "varname", "$@22", "wholearray", "argrefdim", "array", "prlist",
+  "delsym", "defn", "$@23", "$@24", "$@25", "$@26", "procname", "procstmt",
+  "$@27", "arglist", "arglist1", "arglist2", "eqn_list", "$@28",
+  "dep_list", "equation", "$@29", "lhs", "$@30", "rhs", "$@31", "local",
+  "local1", "localobj", "local2", "ckvar", "anyname", YY_NULLPTR
+};
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+  return yytname[yysymbol];
+}
+#endif
+
+#define YYPACT_NINF (-439)
+
+#define yypact_value_is_default(Yyn) \
+  ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-161)
+
+#define yytable_value_is_error(Yyn) \
+  0
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+static const yytype_int16 yypact[] =
+{
+    -439,  1130,  -439,  -439,  -439,  -439,  2155,    23,  -439,   -52,
+    -439,  -439,     1,  -439,  -439,  2213,    22,    22,    22,   -38,
+    -439,   -61,   -35,  -439,    26,    26,  -439,  -439,  -439,  -439,
+    -439,  -439,  -439,    51,  -439,    22,  -439,  -439,  -439,  -439,
+     -12,  -439,  -439,  -439,   -33,  -439,  -439,    54,   280,  -439,
+    2431,  -439,  -439,  -439,    14,   127,   828,  2431,   917,   -22,
+    -439,  2431,    74,  -439,  -439,  -439,  -439,  2325,  2325,  -439,
+    1983,  -439,    17,  -439,  1906,   -62,    19,  -439,    16,    18,
+    -439,    30,  1023,    39,    47,  1706,  -439,   -55,  -439,  -439,
+      31,    31,  2747,  -439,    42,   -49,    49,  -439,  -439,  -439,
+     -60,  -439,  -439,    46,    -2,  2764,    52,  -439,  -439,  -439,
+    2325,  -439,  1401,    48,   108,  -439,    59,  2431,  -439,  2764,
+    -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,    26,
+     140,  -439,  -439,  -439,    56,    57,    62,  -439,  -439,  -439,
+    2431,  -439,    26,    65,  -439,  -439,    67,    71,  2325,    91,
+      80,    -7,  2431,  -439,    81,    84,    11,  -439,    87,  -439,
+    -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,
+    -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,
+    -439,  -439,  -439,  -439,  -439,    96,    96,  -439,    90,    85,
+    -439,  -439,  -439,  -439,  -439,  -439,  2325,  2431,  -439,  -439,
+      86,    86,  -439,  2557,  1230,  -439,  -439,  -439,  2764,  2097,
+    2431,  -439,  2431,   185,  -439,  -439,    96,  2431,  -439,     6,
+    -439,  2325,  2325,  2325,  2325,  1906,  1906,  2325,  2325,  2325,
+    2325,  2325,  2325,  2325,  2325,  2325,  2325,  2325,  2325,  2325,
+    2325,  -439,    97,   140,  2039,  1307,  -439,  2269,  2325,  2155,
+    -439,  2576,  -439,    92,     8,   188,   100,  1906,    11,   122,
+    1307,   104,   105,   106,   109,   111,  -439,   114,  -439,    26,
+    -439,  1307,  -439,  -439,  -439,  -439,   117,  1307,  1307,  2764,
+    2325,  2325,  -439,   116,  -439,   119,   114,  -439,  -439,  -439,
+    2325,  2325,  -439,  -439,  1906,  -439,  -439,  -439,  -439,   162,
+    2325,    11,  -439,  2473,   120,   114,  -439,  -439,  -439,  1504,
+    -439,  2431,  -439,  2764,  -439,  -439,  -439,  -439,  -439,  -439,
+    -439,  -439,  2764,   673,   121,  2764,  2595,  -439,  -439,   281,
+    1126,    44,    44,    44,    44,    44,    44,    32,    32,    86,
+      86,    86,    86,  1307,  -439,  -439,  2764,  2431,   163,  -439,
+    2764,   125,   124,  -439,  2614,  -439,  2764,  -439,  -439,  -439,
+    -439,  -439,  1307,  -439,  -439,  2325,   130,  1307,   133,   143,
+     144,  -439,  2325,   139,  -439,     3,   145,   166,   148,   149,
+     150,  2764,  2494,   203,  2431,   139,    80,  2633,   -86,  2764,
+    -439,  1906,  1906,  1906,  1906,  2652,   152,  -439,  2431,   139,
+    -439,  -439,  -439,   158,  -439,   180,  2325,  1806,  1906,  -439,
+    -439,   246,   165,   167,  -439,  -439,     2,  -439,  -439,  -439,
+    1307,  -439,  1906,  2325,   169,  -439,  2427,  -439,   170,   157,
+     157,   157,  2515,  2325,  -439,  -439,  -439,   262,  2325,  -439,
+    2325,   157,  -439,  -439,  -439,  -439,   114,  -439,  2325,  -439,
+    -439,  -439,  -439,  -439,   171,   163,   114,  1307,   175,  2325,
+    2671,  -439,   176,  -439,  1906,  -439,  1307,  -439,  2325,  -439,
+    -439,  2690,  -439,  2325,  -439,   248,  -439,  -439,  -439,  -439,
+    2536,  -439,  2325,  -439,  -439,  2764,  2450,  -439,   139,  2709,
+    -439,  -439,  -439,  -439,   163,  -439,   139,   179,  1307,  -439,
+    2764,   200,  -439,  -439,  -439,   181,  2728,  -439,  -439,  2764,
+    2431,   237,   182,  -439,  2764,   278,  2325,  -439,  -439,  -439,
+     187,  2325,  -439,  -439,  -439,  1906,  1906,  -439,  2431,  -439,
+     184,  2431,  -439,  2764,  -439,   642,  -439,  -439,  -439,  1230,
+    2431,  -439,  -439,  1906,  2325,  -439,  -439,  1605,  -439,  -439,
+    2764,  -439,  -439
+};
+
+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE does not specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_int16 yydefact[] =
+{
+       2,     0,     1,    14,   164,    58,     0,     0,   158,     0,
+     151,   157,   158,   195,   158,   158,     0,     0,     0,     0,
+     158,     0,     0,   196,     0,     0,   158,   158,   158,   158,
+     158,   158,    56,     0,    12,     0,   158,   158,   158,    25,
+     167,   165,   211,   127,     0,   158,   125,   133,     0,   142,
+       0,   158,   158,   158,     0,   158,     0,     0,     0,     0,
+     158,     0,     0,   197,   198,    24,    59,     0,     0,     3,
+       0,    90,   172,    30,   171,    29,     0,    66,    37,    38,
+      67,     0,     0,    64,     0,     0,   128,   169,   140,   151,
+       0,     0,     0,   158,    65,   166,     0,    92,   172,   171,
+      29,   214,    55,     0,   169,   213,    78,   217,    69,   206,
+       0,   156,     0,     0,   123,    81,     0,     0,    70,    71,
+     262,   227,   228,   230,   229,   218,   226,   220,   224,     0,
+       0,     8,     9,   244,   241,     0,     0,    74,    76,   205,
+       0,    75,     0,     0,   222,    73,     0,     0,     0,   168,
+     210,     0,     0,   158,     0,     0,     0,   100,    29,    99,
+     158,   263,   264,   279,   265,   266,   267,   268,   281,   275,
+     282,   283,   284,   276,   269,   270,   278,   271,   277,   272,
+     273,   274,   280,   101,   112,     0,     0,   102,     0,     0,
+      97,    40,    36,    39,    33,   158,     0,     0,    47,    49,
+     185,   194,   178,     0,     0,     5,    68,   159,    63,     0,
+       0,    11,     0,     0,    10,    54,     0,     0,     6,     0,
+     103,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     7,     0,     0,     0,   233,     4,     0,     0,     0,
+     158,     0,   150,     0,   166,     0,     0,     0,     0,     0,
+     233,     0,     0,     0,     0,     0,   199,     0,   204,     0,
+     242,   233,    60,    62,    84,    13,     0,   233,   233,    16,
+       0,     0,   130,     0,   129,    93,   135,   139,   211,   126,
+       0,     0,   134,   143,     0,   118,   114,   120,   116,     0,
+       0,     0,    23,     0,    41,    42,    46,   177,   163,     0,
+     104,     0,    52,    20,    31,    48,    50,    53,    51,    61,
+     208,   141,    18,     0,     0,   152,     0,   159,   159,   193,
+     192,   186,   187,   188,   189,   190,   191,   179,   180,   181,
+     182,   183,   184,   233,   200,    21,    15,     0,     0,   237,
+     238,     0,   234,   235,     0,   216,   215,   207,   176,   149,
+     107,   109,   233,   159,   124,     0,     0,   233,     0,     0,
+       0,   175,     0,   201,   245,   250,     0,     0,     0,     0,
+       0,    17,     0,     0,     0,   136,   209,     0,     0,    94,
+     159,     0,     0,     0,     0,     0,     0,    26,     0,    43,
+     161,    91,   162,     0,   158,   170,     0,     0,     0,   155,
+      87,    88,     0,     0,   148,   146,     0,   239,   144,   174,
+       0,   170,     0,     0,     0,    79,     0,    77,     0,     0,
+       0,     0,     0,     0,   252,   248,   243,     0,     0,    28,
+       0,     0,    57,    27,   212,   131,   137,   132,     0,   113,
+     159,   159,   159,   159,     0,     0,    44,   233,    34,     0,
+       0,   154,     0,   159,     0,   173,   233,   147,     0,   236,
+     159,     0,   122,     0,    72,   254,   219,   221,   225,   202,
+       0,   247,     0,   250,   246,   251,     0,   223,   138,     0,
+     119,   115,   121,   117,     0,    98,    45,     0,   233,    32,
+     106,     0,   153,    80,   159,     0,     0,   108,   110,    82,
+       0,   258,   255,   203,   253,     0,     0,    95,    96,    19,
+       0,     0,    89,   240,   145,     0,     0,   256,     0,   231,
+     259,     0,   252,    85,    35,     0,   159,   159,   260,     0,
+       0,   257,   249,     0,     0,   111,    83,     0,   261,   159,
+     105,   232,    86
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+    -439,  -439,  -439,   282,  -439,  -439,    -1,     4,  -439,  -439,
+    -439,  -439,  -439,  -111,  -439,  -439,  -439,    66,   443,  -439,
+      72,   249,  -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,
+    -439,  -439,  -439,  -439,  -439,  -439,  -439,  -439,    45,  -439,
+    -439,  -439,  -439,  -439,  -439,   -96,     9,  -211,  -439,  -438,
+    -439,   201,  -439,  -439,   204,  -439,  -439,  2397,  -300,  -248,
+     373,  -439,  -439,    53,  -279,  -439,     0,  -439,  -159,  -439,
+      13,  -439,  -439,  -439,  -439,  -439,  -439,  -439,    79,  -409,
+    -439,  -258,  -439,  -128,  -439,  -439,  -439,  -439,  -439,  -189,
+    -439,  -235,  -439,  -439,  -439,  -439,  -439,  -126,   368
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+       0,     1,   143,    98,    73,   195,    99,   100,   404,   499,
+      76,    77,   304,   305,    78,    79,    80,   206,    82,    83,
+     272,   402,   259,   526,   377,   543,   204,   301,   422,   423,
+     525,   294,   392,   394,   391,   393,   257,   258,   103,   153,
+      86,   284,   155,   156,   285,   286,   104,    88,   160,   417,
+      89,   111,   324,   408,   225,    90,    91,   288,   310,   309,
+     208,    93,    94,   266,   373,   267,    95,   250,   289,   149,
+     150,   106,   108,    96,   262,   263,   276,   264,   125,   476,
+     539,   351,   352,   353,    97,   375,   134,   436,   483,   437,
+     438,   481,   482,   511,   512,   529,   530,   126,   273
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule whose
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+static const yytype_int16 yytable[] =
+{
+      74,   293,   366,   467,   268,    75,   434,   385,   321,     8,
+      87,   448,   115,   376,   320,   219,   209,   495,   247,   379,
+     380,   477,   478,   221,   133,   135,   399,   410,   411,   244,
+     120,   107,   487,    29,     8,   131,   302,   121,   122,   210,
+      26,   210,   222,   282,   283,   110,    85,   157,   245,    43,
+      44,   123,   158,    38,    46,    39,   518,   113,    29,   129,
+     124,   132,    49,   425,   189,   142,   148,    81,   151,   113,
+     113,   187,   101,    74,    43,    44,   221,   196,    75,    46,
+      58,    59,   199,    87,    74,   412,   244,    65,   321,    75,
+     449,   357,   154,   159,    87,   248,   127,   128,   112,   468,
+     188,     5,    43,    44,   424,   245,   360,    46,   435,   428,
+     361,    74,   254,   205,   144,   211,    75,   268,   212,    85,
+     213,    87,   237,   238,   239,    26,   214,   240,   224,   265,
+      85,    32,   235,   236,   237,   238,   239,    37,    38,   240,
+      39,   217,   274,   218,   243,   246,   256,   219,   120,   255,
+     490,   491,   492,   493,   249,   292,   260,    85,   269,   271,
+     158,   275,   270,   503,   277,    58,    59,   488,   278,   280,
+     507,     8,    65,    66,   113,    43,    44,   496,   290,   281,
+      46,   240,   300,    49,   295,   297,   291,   113,   210,   158,
+     158,   299,    26,   316,   343,    29,   320,   362,   359,   497,
+     365,   367,   368,   369,   522,    38,   370,    39,   505,   371,
+     414,    43,    44,   372,   378,   317,    46,   383,    49,    49,
+     158,   384,   398,   419,    74,    74,   420,   407,   427,    75,
+      75,   429,    58,    59,    87,    87,   545,   546,   433,    65,
+     520,   430,   431,   439,   440,   458,   441,   442,   443,   552,
+      84,   296,   298,   445,   455,   457,    74,   364,   459,   464,
+     475,    75,   158,   465,   466,   484,    87,   472,   474,   374,
+      85,    85,   498,   494,   502,   312,   510,   519,   521,   523,
+     528,   532,   318,    72,   531,   534,   540,   456,   446,   319,
+     223,   547,   469,    74,   515,   226,   344,   542,    75,     0,
+     396,   386,    85,    87,     0,   158,     0,     0,    74,    26,
+       0,   349,     0,    75,   113,   355,     0,     0,    87,     0,
+       0,     0,    38,   207,    39,     0,   349,     0,    43,    44,
+       0,     0,     0,    46,   220,     0,   388,   349,     0,    85,
+       0,     0,     0,   349,   349,     0,     0,   415,   418,    58,
+      59,     0,   158,     0,    85,     0,    65,   416,     0,     0,
+       0,   253,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,    92,     0,   240,     0,     0,   105,
+       0,     0,     0,     0,     0,     0,     0,     0,   119,     0,
+      74,    74,    74,    74,     0,    75,    75,    75,    75,     0,
+      87,    87,    87,    87,     0,     0,    74,    74,     0,   349,
+       0,    75,    75,     0,     0,     0,    87,    87,   183,     0,
+       0,    74,     0,     0,   192,   193,    75,     0,   349,   198,
+       0,    87,     0,   349,     0,     0,    85,    85,    85,    85,
+     200,   201,     0,   203,     0,     0,     0,     0,     0,   102,
+       0,     0,    85,    85,   415,   418,     0,     0,     0,   158,
+       0,     0,     0,    74,   416,     0,     0,    85,    75,     0,
+       0,     0,     0,    87,   327,   328,     0,     0,     0,     0,
+       0,     0,     0,   251,     0,   261,   349,     0,     0,     0,
+       0,     0,     0,   415,   418,     0,     0,     0,   158,     0,
+       0,     0,     0,   416,     0,     0,   363,     0,     0,    85,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     287,   279,     0,   349,    74,    74,     0,     0,     0,    75,
+      75,     0,   349,     0,    87,    87,     0,     0,     0,     0,
+       0,     0,    74,   390,     0,     0,    74,    75,     0,     0,
+       0,    75,    87,     0,     0,     0,    87,     0,     0,     0,
+       0,     0,     0,     0,   349,   306,     0,     0,     0,   303,
+      85,    85,     0,     0,     0,     0,     0,     0,   314,     0,
+     315,     0,   313,     0,     0,     0,     0,     0,    85,     0,
+       0,     0,    85,     0,   322,   323,   325,   326,     0,     0,
+     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+     339,   340,   341,   342,     0,     0,     0,   346,   350,     0,
+     313,   354,   356,     0,     0,     0,     0,     0,   102,   102,
+       0,     0,     0,   350,     0,     0,     0,     0,     0,     0,
+     450,   451,   452,   453,   350,     0,     0,     0,     0,     0,
+     350,   350,   102,   381,   382,     0,   462,   463,     0,   102,
+       0,     0,     0,   387,   389,     0,     0,     0,     0,     0,
+       0,   470,     0,   395,     0,     0,     0,     0,     0,   403,
+       0,     0,     0,     0,     0,     0,     0,     0,   102,     0,
+       0,     0,   102,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   102,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   504,   102,   413,   350,     0,     0,     0,
+     102,   102,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   350,     0,   240,   426,     0,
+     350,     0,     0,     0,     0,   432,     0,   544,     0,     0,
+       0,     0,   287,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   306,     0,   240,     0,
+       0,   405,     0,     0,   536,   537,     0,     0,   406,   460,
+       0,     0,     0,     0,     0,     0,   102,     0,     0,     0,
+       0,     0,   549,   350,     0,     0,   471,     0,     0,     0,
+       0,     0,     0,     0,     0,   102,   480,     0,     0,     0,
+     102,   485,     0,   486,     0,     0,     0,     0,     0,     0,
+       0,   489,     0,     0,     0,     0,     0,     0,     0,   191,
+     350,     0,   500,   161,     0,     0,   162,   163,   164,   350,
+       0,   506,     0,   165,   166,     0,   509,     0,     0,     0,
+       0,     0,     0,   167,     0,   514,     0,   168,     0,     0,
+     169,     0,     0,   102,     0,     0,   170,     0,     0,   171,
+     172,   350,   173,     0,     0,     0,     0,     0,   527,     0,
+       0,   174,     0,     0,   175,   176,     0,     0,   177,   533,
+       0,     0,     0,   178,   535,     0,   538,   179,   180,   541,
+     102,     0,   181,   182,     0,     0,     0,     0,   548,   102,
+       0,     0,     0,     0,     0,     0,     0,   550,   194,     0,
+     -22,   -22,   -22,   -22,   -22,   -22,   -22,     0,   -22,   -22,
+     -22,   -22,   -22,   -22,   -22,     0,     0,     0,   -22,   -22,
+       0,   102,   -22,   -22,   -22,     0,   -22,   -22,   -22,   -22,
+     -22,   -22,   -22,   -22,     0,     0,     0,   -22,   -22,   -22,
+       0,   -22,   -22,   -22,   -22,   -22,   -22,     0,     0,   -22,
+     -22,   -22,   -22,   -22,     0,   -22,   -22,     0,   -22,   -22,
+     -22,   -22,     0,     0,     0,     0,   -22,   -22,   -22,     0,
+       0,   -22,   -22,   -22,   -22,   -22,     0,   -22,   -22,   -22,
+     -22,   -22,   -22,   -22,   -22,   -22,   -22,   -22,   -22,   -22,
+       0,   -22,   -22,   -22,   -22,   -22,   -22,   -22,   -22,   -22,
+     -22,   -22,   -22,   -22,   215,     0,     0,   -55,   -55,   -55,
+     -55,   -55,   -55,     0,   -55,   -55,   -55,   -55,   -55,   -55,
+     -55,     0,     0,     0,   -55,   -55,     0,     0,   -55,   -55,
+     -55,     0,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,
+       0,     0,     0,   -55,   -55,   -55,     0,   -55,   -55,   -55,
+     -55,   -55,   -55,     0,     0,   -55,   -55,   -55,   -55,   -55,
+       0,   -55,   -55,     0,   -55,   -55,   -55,   -55,     0,     0,
+       0,     0,   -55,   -55,   -55,     0,     0,   -55,   -55,   -55,
+     -55,   216,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   -55,     0,     0,     0,     0,   -55,     0,   -55,
+     -55,   -55,     0,     0,     0,     0,   -55,   -55,     0,   -55,
+       2,     3,     0,     0,     4,     5,     6,     7,     8,     9,
+       0,    10,    11,     0,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,     0,    35,
+      36,    37,    38,     0,    39,    40,    41,    42,    43,    44,
+       0,     0,    45,    46,    47,    48,    49,     0,    50,    51,
+       0,    52,    53,    54,    55,     0,    56,    57,     0,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,    67,
+       0,   240,     0,     0,    68,     0,    69,    70,     0,     0,
+       0,   308,     0,    71,  -160,  -160,  -160,  -160,  -160,  -160,
+       0,  -160,  -160,     0,  -160,  -160,  -160,  -160,     0,     0,
+       0,  -160,  -160,     0,     0,  -160,  -160,  -160,     0,  -160,
+    -160,  -160,  -160,  -160,  -160,  -160,  -160,     0,     0,     0,
+    -160,  -160,  -160,     0,  -160,  -160,  -160,  -160,  -160,  -160,
+       0,     0,  -160,  -160,  -160,  -160,  -160,     0,  -160,  -160,
+       0,  -160,  -160,  -160,  -160,     0,     0,     0,     0,  -160,
+    -160,  -160,     0,     0,  -160,  -160,  -160,  -160,     0,     0,
+       0,     4,     5,     0,     0,     8,     9,     0,     0,  -160,
+       0,     0,    13,     0,  -160,     0,  -160,  -160,    19,     0,
+       0,     0,    23,  -160,  -160,     0,    26,     0,     0,    29,
+       0,     0,    32,     0,     0,     0,     0,     0,    37,    38,
+       0,    39,    40,    41,    42,    43,    44,     0,     0,     0,
+      46,     0,     0,    49,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   347,    58,    59,     0,     0,
+       0,    63,    64,    65,    66,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    67,     0,     0,     0,
+       0,    68,     0,     0,    70,     4,     5,     6,     7,     8,
+       9,     0,    10,    11,   348,    12,    13,    14,    15,     0,
+       0,     0,    19,    20,     0,     0,    23,    24,    25,     0,
+      26,    27,    28,    29,    30,    31,    32,    33,     0,     0,
+       0,    36,    37,    38,     0,    39,    40,    41,    42,    43,
+      44,     0,     0,    45,    46,    47,    48,    49,     0,    50,
+      51,     0,    52,    53,    54,    55,     0,     0,     0,     0,
+      58,    59,    60,     0,     0,    63,    64,    65,    66,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      67,     0,     0,     0,     0,    68,     0,     0,    70,     0,
+       0,     0,     0,     0,    71,     0,     0,   252,     4,     5,
+       6,     7,     8,     9,     0,    10,    11,     0,    12,    13,
+      14,    15,     0,     0,     0,    19,    20,     0,     0,    23,
+      24,    25,     0,    26,    27,    28,    29,    30,    31,    32,
+      33,     0,     0,     0,    36,    37,    38,     0,    39,    40,
+      41,    42,    43,    44,     0,     0,    45,    46,    47,    48,
+      49,     0,    50,    51,     0,    52,    53,    54,    55,     0,
+       0,     0,     0,    58,    59,    60,     0,     0,    63,    64,
+      65,    66,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    67,     0,     0,     0,     0,    68,     0,
+     400,    70,     0,     0,     0,     0,     0,    71,   401,     4,
+       5,     6,     7,     8,     9,     0,    10,    11,     0,    12,
+      13,    14,    15,     0,     0,     0,    19,    20,     0,     0,
+      23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
+      32,    33,     0,     0,     0,    36,    37,    38,     0,    39,
+      40,    41,    42,    43,    44,     0,     0,    45,    46,    47,
+      48,    49,     0,    50,    51,     0,    52,    53,    54,    55,
+       0,     0,     0,     0,    58,    59,    60,     0,     0,    63,
+      64,    65,    66,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    67,     0,     0,     0,     0,    68,
+       0,   400,    70,     0,     0,     0,     0,     0,    71,   551,
+       4,     5,     6,     7,     8,     9,     0,    10,    11,     0,
+      12,    13,    14,    15,     0,     0,     0,    19,    20,     0,
+       0,    23,    24,    25,     0,    26,    27,    28,    29,    30,
+      31,    32,    33,     0,     0,     0,    36,    37,    38,     0,
+      39,    40,    41,    42,    43,    44,     0,     0,    45,    46,
+      47,    48,    49,     0,    50,    51,     0,    52,    53,    54,
+      55,     0,     0,     0,     0,    58,    59,    60,     0,     0,
+      63,    64,    65,    66,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    67,     0,     0,     0,     0,
+      68,     0,     0,    70,     0,     0,     0,   219,     0,    71,
+       4,     5,     6,     7,     8,     9,     0,    10,    11,     0,
+      12,    13,    14,    15,     0,     0,     0,    19,    20,     0,
+       0,    23,    24,    25,     0,    26,    27,    28,    29,    30,
+      31,    32,    33,     0,     0,     0,    36,    37,    38,     0,
+      39,    40,    41,    42,    43,    44,     0,     0,    45,    46,
+      47,    48,    49,     0,    50,    51,     0,    52,    53,    54,
+      55,     0,     0,     0,     0,    58,    59,    60,     0,     0,
+      63,    64,    65,    66,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    67,     0,     0,     0,     0,
+      68,     0,     0,    70,   461,     0,     0,     0,     0,    71,
+       4,     5,     6,     7,     8,     9,     0,    10,    11,     0,
+      12,    13,    14,    15,     0,     0,     0,    19,    20,     0,
+       0,    23,    24,    25,     0,    26,    27,    28,    29,    30,
+      31,    32,    33,     0,     0,     0,    36,    37,    38,     0,
+      39,    40,    41,    42,    43,    44,     0,     0,    45,    46,
+      47,    48,    49,     0,    50,    51,     0,    52,    53,    54,
+      55,     0,     0,     0,     0,    58,    59,    60,     0,     0,
+      63,    64,    65,    66,   202,     0,     0,     4,     0,     0,
+       0,     8,     9,     0,     0,    67,     0,     0,    13,     0,
+      68,     0,     0,    70,    19,     0,     0,     0,    23,    71,
+       0,     0,    26,     0,     0,    29,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    38,     0,    39,    40,    41,
+      42,    43,    44,     0,     0,     0,    46,     0,     0,    49,
+     345,     0,     0,     4,     0,     0,     0,     8,     9,     0,
+       0,     0,    58,    59,    13,     0,     0,    63,    64,    65,
+      19,     0,     0,     0,    23,     0,     0,     0,    26,     0,
+       0,    29,    67,     0,     0,     0,     0,    68,     0,     0,
+      70,    38,     0,    39,    40,    41,    42,    43,    44,     0,
+       0,     0,    46,     0,     0,    49,     0,     0,     0,     0,
+       0,     4,     5,     0,     0,     8,     9,     0,    58,    59,
+       0,     0,    13,    63,    64,    65,     0,     0,    19,     0,
+       0,     0,    23,     0,     0,     0,    26,     0,    67,    29,
+       0,     0,    32,    68,     0,     0,    70,     0,    37,    38,
+       0,    39,    40,    41,    42,    43,    44,     0,     0,     0,
+      46,     0,     0,    49,     0,     0,     0,     0,     0,     4,
+       5,     0,     0,     8,     9,   311,    58,    59,     0,     0,
+      13,    63,    64,    65,    66,     0,    19,     0,     0,     0,
+      23,     0,     0,     0,    26,     0,    67,    29,     0,     0,
+      32,    68,     0,     0,    70,     0,    37,    38,     0,    39,
+      40,    41,    42,    43,    44,     0,     0,     0,    46,     0,
+       0,    49,     0,     0,     0,     0,     0,     4,     0,     0,
+       0,     8,     9,     0,    58,    59,     0,     0,    13,    63,
+      64,    65,    66,     0,    19,     0,     0,     0,    23,     0,
+       0,     0,    26,     0,    67,    29,     0,     0,     0,    68,
+       0,     0,    70,     0,     0,    38,     0,    39,    40,    41,
+      42,    43,    44,     0,     0,     0,    46,     0,     0,    49,
+       0,     0,     0,     4,     0,     0,     0,     8,     9,     0,
+       0,   117,    58,    59,    13,     0,     0,    63,    64,    65,
+      19,     0,     0,     0,    23,     0,     0,     0,    26,     0,
+       0,    29,    67,     0,     0,     0,     0,    68,     0,     0,
+      70,    38,     0,    39,    40,    41,    42,    43,    44,     0,
+       0,     0,    46,     0,     0,    49,     0,     0,     0,     4,
+       0,     0,     0,     8,     9,     0,     0,   311,    58,    59,
+      13,     0,     0,    63,    64,    65,    19,     0,     0,     0,
+      23,     0,     0,     0,    26,     0,     0,    29,    67,     0,
+       0,     0,     0,    68,     0,     0,    70,    38,     0,    39,
+      40,    41,    42,    43,    44,     0,     0,     0,    46,     0,
+       0,    49,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    58,    59,     0,     0,     0,    63,
+      64,    65,     0,     0,     0,   109,     0,     0,     0,   114,
+       0,   116,   118,     0,    67,     0,     0,   130,     0,    68,
+       0,     0,    70,   136,   137,   138,   139,   140,   141,     0,
+       0,     0,     0,   145,   146,   147,   161,     0,     0,   162,
+     163,   164,   152,     0,     0,     0,   165,   166,   184,   185,
+     186,     0,   190,     0,     0,     0,   167,   197,     0,     0,
+     168,     0,     0,   169,     0,     0,     0,     0,     0,   170,
+       0,     0,   171,   172,     0,   173,     0,     0,     0,     0,
+       0,     0,     0,     0,   174,     0,     0,   175,   176,     0,
+     242,   177,     0,     0,     0,     0,   178,     0,     0,     0,
+     179,   180,     0,     0,     0,   181,   182,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+       0,     0,   240,     0,     0,     0,     0,     0,     0,   473,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,     0,     0,   240,     0,     0,     0,     0,
+       0,     0,   516,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,     0,     0,   240,     0,
+       0,     0,     0,   397,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,     0,     0,   240,
+       0,     0,     0,     0,   444,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,     0,     0,
+     240,     0,     0,     0,     0,   479,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,     0,
+       0,   240,     0,     0,     0,     0,   513,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+       0,     0,   240,     0,     0,   307,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,     0,
+       0,   240,     0,     0,   358,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,     0,     0,
+     240,     0,     0,   409,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,     0,     0,   240,
+       0,     0,   421,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,     0,     0,   240,     0,
+       0,   447,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,     0,     0,   240,     0,     0,
+     454,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,     0,     0,   240,     0,     0,   501,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,     0,     0,   240,     0,     0,   508,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,     0,     0,   240,     0,     0,   517,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,     0,     0,   240,     0,     0,   524,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+       0,     0,   240,   241,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,     0,     0,   240
+};
+
+static const yytype_int16 yycheck[] =
+{
+       1,   160,   260,     1,   130,     1,     3,   286,   219,     8,
+       1,    97,    12,   271,     8,   101,    78,   455,    78,   277,
+     278,   430,   431,    78,    24,    25,   305,   327,   328,    78,
+       8,     8,   441,    32,     8,    96,   195,    15,    16,   101,
+      29,   101,    97,    50,    51,    97,     1,    48,    97,    48,
+      49,    29,    48,    42,    53,    44,   494,    12,    32,    97,
+      38,    96,    56,   363,    55,    14,    78,     1,   101,    24,
+      25,    57,     6,    74,    48,    49,    78,    99,    74,    53,
+      69,    70,     8,    74,    85,   343,    78,    76,   299,    85,
+     390,   250,    47,    48,    85,    97,    17,    18,    97,    97,
+      55,     5,    48,    49,   362,    97,    98,    53,   105,   367,
+     102,   112,   112,    96,    35,    96,   112,   243,   102,    74,
+     102,   112,    90,    91,    92,    29,    96,    95,    97,   129,
+      85,    35,    88,    89,    90,    91,    92,    41,    42,    95,
+      44,   102,   142,    96,   102,    96,    38,   101,     8,   101,
+     450,   451,   452,   453,   102,   156,    97,   112,   102,    97,
+     156,    96,   105,   463,    97,    69,    70,   446,    97,    78,
+     470,     8,    76,    77,   129,    48,    49,   456,    97,    99,
+      53,    95,    97,    56,   185,   186,   102,   142,   101,   185,
+     186,   101,    29,     8,    97,    32,     8,    97,   106,   457,
+      78,    97,    97,    97,   504,    42,    97,    44,   466,    98,
+      47,    48,    49,    99,    97,   216,    53,   101,    56,    56,
+     216,   102,   102,    98,   225,   226,   102,   106,    98,   225,
+     226,    98,    69,    70,   225,   226,   536,   537,    99,    76,
+     498,    98,    98,    98,    78,   404,    98,    98,    98,   549,
+       1,   185,   186,    50,   102,    97,   257,   258,    78,    13,
+     103,   257,   258,    98,    97,     3,   257,    98,    98,   269,
+     225,   226,    97,   102,    98,   209,    28,    98,    78,    98,
+      43,     3,   216,     1,   102,    98,   102,   398,   384,   217,
+      89,   539,   420,   294,   483,    91,   243,   532,   294,    -1,
+     301,   288,   257,   294,    -1,   301,    -1,    -1,   309,    29,
+      -1,   245,    -1,   309,   269,   249,    -1,    -1,   309,    -1,
+      -1,    -1,    42,    74,    44,    -1,   260,    -1,    48,    49,
+      -1,    -1,    -1,    53,    85,    -1,   291,   271,    -1,   294,
+      -1,    -1,    -1,   277,   278,    -1,    -1,   348,   348,    69,
+      70,    -1,   348,    -1,   309,    -1,    76,   348,    -1,    -1,
+      -1,   112,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,     1,    -1,    95,    -1,    -1,     6,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,    -1,
+     391,   392,   393,   394,    -1,   391,   392,   393,   394,    -1,
+     391,   392,   393,   394,    -1,    -1,   407,   408,    -1,   343,
+      -1,   407,   408,    -1,    -1,    -1,   407,   408,    50,    -1,
+      -1,   422,    -1,    -1,    56,    57,   422,    -1,   362,    61,
+      -1,   422,    -1,   367,    -1,    -1,   391,   392,   393,   394,
+      67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,     6,
+      -1,    -1,   407,   408,   455,   455,    -1,    -1,    -1,   455,
+      -1,    -1,    -1,   464,   455,    -1,    -1,   422,   464,    -1,
+      -1,    -1,    -1,   464,   225,   226,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   110,    -1,   117,   420,    -1,    -1,    -1,
+      -1,    -1,    -1,   494,   494,    -1,    -1,    -1,   494,    -1,
+      -1,    -1,    -1,   494,    -1,    -1,   257,    -1,    -1,   464,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     152,   148,    -1,   457,   525,   526,    -1,    -1,    -1,   525,
+     526,    -1,   466,    -1,   525,   526,    -1,    -1,    -1,    -1,
+      -1,    -1,   543,   294,    -1,    -1,   547,   543,    -1,    -1,
+      -1,   547,   543,    -1,    -1,    -1,   547,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   498,   197,    -1,    -1,    -1,   196,
+     525,   526,    -1,    -1,    -1,    -1,    -1,    -1,   210,    -1,
+     212,    -1,   209,    -1,    -1,    -1,    -1,    -1,   543,    -1,
+      -1,    -1,   547,    -1,   221,   222,   223,   224,    -1,    -1,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,    -1,    -1,    -1,   244,   245,    -1,
+     247,   248,   249,    -1,    -1,    -1,    -1,    -1,   185,   186,
+      -1,    -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,
+     391,   392,   393,   394,   271,    -1,    -1,    -1,    -1,    -1,
+     277,   278,   209,   280,   281,    -1,   407,   408,    -1,   216,
+      -1,    -1,    -1,   290,   291,    -1,    -1,    -1,    -1,    -1,
+      -1,   422,    -1,   300,    -1,    -1,    -1,    -1,    -1,   311,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   245,    -1,
+      -1,    -1,   249,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   464,   271,   347,   343,    -1,    -1,    -1,
+     277,   278,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,   362,    -1,    95,   365,    -1,
+     367,    -1,    -1,    -1,    -1,   372,    -1,   105,    -1,    -1,
+      -1,    -1,   384,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,   398,    -1,    95,    -1,
+      -1,    98,    -1,    -1,   525,   526,    -1,    -1,   105,   406,
+      -1,    -1,    -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,
+      -1,    -1,   543,   420,    -1,    -1,   423,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   362,   433,    -1,    -1,    -1,
+     367,   438,    -1,   440,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
+     457,    -1,   459,     5,    -1,    -1,     8,     9,    10,   466,
+      -1,   468,    -1,    15,    16,    -1,   473,    -1,    -1,    -1,
+      -1,    -1,    -1,    25,    -1,   482,    -1,    29,    -1,    -1,
+      32,    -1,    -1,   420,    -1,    -1,    38,    -1,    -1,    41,
+      42,   498,    44,    -1,    -1,    -1,    -1,    -1,   510,    -1,
+      -1,    53,    -1,    -1,    56,    57,    -1,    -1,    60,   516,
+      -1,    -1,    -1,    65,   521,    -1,   528,    69,    70,   531,
+     457,    -1,    74,    75,    -1,    -1,    -1,    -1,   540,   466,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   544,     1,    -1,
+       3,     4,     5,     6,     7,     8,     9,    -1,    11,    12,
+      13,    14,    15,    16,    17,    -1,    -1,    -1,    21,    22,
+      -1,   498,    25,    26,    27,    -1,    29,    30,    31,    32,
+      33,    34,    35,    36,    -1,    -1,    -1,    40,    41,    42,
+      -1,    44,    45,    46,    47,    48,    49,    -1,    -1,    52,
+      53,    54,    55,    56,    -1,    58,    59,    -1,    61,    62,
+      63,    64,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,
+      -1,    74,    75,    76,    77,    78,    -1,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,     1,    -1,    -1,     4,     5,     6,
+       7,     8,     9,    -1,    11,    12,    13,    14,    15,    16,
+      17,    -1,    -1,    -1,    21,    22,    -1,    -1,    25,    26,
+      27,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
+      -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
+      47,    48,    49,    -1,    -1,    52,    53,    54,    55,    56,
+      -1,    58,    59,    -1,    61,    62,    63,    64,    -1,    -1,
+      -1,    -1,    69,    70,    71,    -1,    -1,    74,    75,    76,
+      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    89,    -1,    -1,    -1,    -1,    94,    -1,    96,
+      97,    98,    -1,    -1,    -1,    -1,   103,   104,    -1,   106,
+       0,     1,    -1,    -1,     4,     5,     6,     7,     8,     9,
+      -1,    11,    12,    -1,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    -1,    39,
+      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
+      -1,    -1,    52,    53,    54,    55,    56,    -1,    58,    59,
+      -1,    61,    62,    63,    64,    -1,    66,    67,    -1,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    89,
+      -1,    95,    -1,    -1,    94,    -1,    96,    97,    -1,    -1,
+      -1,     1,    -1,   103,     4,     5,     6,     7,     8,     9,
+      -1,    11,    12,    -1,    14,    15,    16,    17,    -1,    -1,
+      -1,    21,    22,    -1,    -1,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    35,    36,    -1,    -1,    -1,
+      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
+      -1,    -1,    52,    53,    54,    55,    56,    -1,    58,    59,
+      -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,    69,
+      70,    71,    -1,    -1,    74,    75,    76,    77,    -1,    -1,
+      -1,     4,     5,    -1,    -1,     8,     9,    -1,    -1,    89,
+      -1,    -1,    15,    -1,    94,    -1,    96,    97,    21,    -1,
+      -1,    -1,    25,   103,   104,    -1,    29,    -1,    -1,    32,
+      -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,    42,
+      -1,    44,    45,    46,    47,    48,    49,    -1,    -1,    -1,
+      53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
+      -1,    74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
+      -1,    94,    -1,    -1,    97,     4,     5,     6,     7,     8,
+       9,    -1,    11,    12,   107,    14,    15,    16,    17,    -1,
+      -1,    -1,    21,    22,    -1,    -1,    25,    26,    27,    -1,
+      29,    30,    31,    32,    33,    34,    35,    36,    -1,    -1,
+      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
+      49,    -1,    -1,    52,    53,    54,    55,    56,    -1,    58,
+      59,    -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,
+      69,    70,    71,    -1,    -1,    74,    75,    76,    77,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      89,    -1,    -1,    -1,    -1,    94,    -1,    -1,    97,    -1,
+      -1,    -1,    -1,    -1,   103,    -1,    -1,   106,     4,     5,
+       6,     7,     8,     9,    -1,    11,    12,    -1,    14,    15,
+      16,    17,    -1,    -1,    -1,    21,    22,    -1,    -1,    25,
+      26,    27,    -1,    29,    30,    31,    32,    33,    34,    35,
+      36,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
+      46,    47,    48,    49,    -1,    -1,    52,    53,    54,    55,
+      56,    -1,    58,    59,    -1,    61,    62,    63,    64,    -1,
+      -1,    -1,    -1,    69,    70,    71,    -1,    -1,    74,    75,
+      76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,    94,    -1,
+      96,    97,    -1,    -1,    -1,    -1,    -1,   103,   104,     4,
+       5,     6,     7,     8,     9,    -1,    11,    12,    -1,    14,
+      15,    16,    17,    -1,    -1,    -1,    21,    22,    -1,    -1,
+      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
+      35,    36,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
+      45,    46,    47,    48,    49,    -1,    -1,    52,    53,    54,
+      55,    56,    -1,    58,    59,    -1,    61,    62,    63,    64,
+      -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    74,
+      75,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,    94,
+      -1,    96,    97,    -1,    -1,    -1,    -1,    -1,   103,   104,
+       4,     5,     6,     7,     8,     9,    -1,    11,    12,    -1,
+      14,    15,    16,    17,    -1,    -1,    -1,    21,    22,    -1,
+      -1,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
+      34,    35,    36,    -1,    -1,    -1,    40,    41,    42,    -1,
+      44,    45,    46,    47,    48,    49,    -1,    -1,    52,    53,
+      54,    55,    56,    -1,    58,    59,    -1,    61,    62,    63,
+      64,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
+      74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,
+      94,    -1,    -1,    97,    -1,    -1,    -1,   101,    -1,   103,
+       4,     5,     6,     7,     8,     9,    -1,    11,    12,    -1,
+      14,    15,    16,    17,    -1,    -1,    -1,    21,    22,    -1,
+      -1,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
+      34,    35,    36,    -1,    -1,    -1,    40,    41,    42,    -1,
+      44,    45,    46,    47,    48,    49,    -1,    -1,    52,    53,
+      54,    55,    56,    -1,    58,    59,    -1,    61,    62,    63,
+      64,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
+      74,    75,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,
+      94,    -1,    -1,    97,    98,    -1,    -1,    -1,    -1,   103,
+       4,     5,     6,     7,     8,     9,    -1,    11,    12,    -1,
+      14,    15,    16,    17,    -1,    -1,    -1,    21,    22,    -1,
+      -1,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
+      34,    35,    36,    -1,    -1,    -1,    40,    41,    42,    -1,
+      44,    45,    46,    47,    48,    49,    -1,    -1,    52,    53,
+      54,    55,    56,    -1,    58,    59,    -1,    61,    62,    63,
+      64,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
+      74,    75,    76,    77,     1,    -1,    -1,     4,    -1,    -1,
+      -1,     8,     9,    -1,    -1,    89,    -1,    -1,    15,    -1,
+      94,    -1,    -1,    97,    21,    -1,    -1,    -1,    25,   103,
+      -1,    -1,    29,    -1,    -1,    32,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    42,    -1,    44,    45,    46,
+      47,    48,    49,    -1,    -1,    -1,    53,    -1,    -1,    56,
+       1,    -1,    -1,     4,    -1,    -1,    -1,     8,     9,    -1,
+      -1,    -1,    69,    70,    15,    -1,    -1,    74,    75,    76,
+      21,    -1,    -1,    -1,    25,    -1,    -1,    -1,    29,    -1,
+      -1,    32,    89,    -1,    -1,    -1,    -1,    94,    -1,    -1,
+      97,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
+      -1,    -1,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,
+      -1,     4,     5,    -1,    -1,     8,     9,    -1,    69,    70,
+      -1,    -1,    15,    74,    75,    76,    -1,    -1,    21,    -1,
+      -1,    -1,    25,    -1,    -1,    -1,    29,    -1,    89,    32,
+      -1,    -1,    35,    94,    -1,    -1,    97,    -1,    41,    42,
+      -1,    44,    45,    46,    47,    48,    49,    -1,    -1,    -1,
+      53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,     4,
+       5,    -1,    -1,     8,     9,    68,    69,    70,    -1,    -1,
+      15,    74,    75,    76,    77,    -1,    21,    -1,    -1,    -1,
+      25,    -1,    -1,    -1,    29,    -1,    89,    32,    -1,    -1,
+      35,    94,    -1,    -1,    97,    -1,    41,    42,    -1,    44,
+      45,    46,    47,    48,    49,    -1,    -1,    -1,    53,    -1,
+      -1,    56,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,
+      -1,     8,     9,    -1,    69,    70,    -1,    -1,    15,    74,
+      75,    76,    77,    -1,    21,    -1,    -1,    -1,    25,    -1,
+      -1,    -1,    29,    -1,    89,    32,    -1,    -1,    -1,    94,
+      -1,    -1,    97,    -1,    -1,    42,    -1,    44,    45,    46,
+      47,    48,    49,    -1,    -1,    -1,    53,    -1,    -1,    56,
+      -1,    -1,    -1,     4,    -1,    -1,    -1,     8,     9,    -1,
+      -1,    68,    69,    70,    15,    -1,    -1,    74,    75,    76,
+      21,    -1,    -1,    -1,    25,    -1,    -1,    -1,    29,    -1,
+      -1,    32,    89,    -1,    -1,    -1,    -1,    94,    -1,    -1,
+      97,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
+      -1,    -1,    53,    -1,    -1,    56,    -1,    -1,    -1,     4,
+      -1,    -1,    -1,     8,     9,    -1,    -1,    68,    69,    70,
+      15,    -1,    -1,    74,    75,    76,    21,    -1,    -1,    -1,
+      25,    -1,    -1,    -1,    29,    -1,    -1,    32,    89,    -1,
+      -1,    -1,    -1,    94,    -1,    -1,    97,    42,    -1,    44,
+      45,    46,    47,    48,    49,    -1,    -1,    -1,    53,    -1,
+      -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    74,
+      75,    76,    -1,    -1,    -1,     8,    -1,    -1,    -1,    12,
+      -1,    14,    15,    -1,    89,    -1,    -1,    20,    -1,    94,
+      -1,    -1,    97,    26,    27,    28,    29,    30,    31,    -1,
+      -1,    -1,    -1,    36,    37,    38,     5,    -1,    -1,     8,
+       9,    10,    45,    -1,    -1,    -1,    15,    16,    51,    52,
+      53,    -1,    55,    -1,    -1,    -1,    25,    60,    -1,    -1,
+      29,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    38,
+      -1,    -1,    41,    42,    -1,    44,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    53,    -1,    -1,    56,    57,    -1,
+      93,    60,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
+      69,    70,    -1,    -1,    -1,    74,    75,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,   102,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    -1,    -1,    95,    -1,    -1,    -1,    -1,
+      -1,    -1,   102,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    -1,
+      -1,    -1,    -1,   100,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
+      -1,    -1,    -1,    -1,   100,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    -1,    -1,
+      95,    -1,    -1,    -1,    -1,   100,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    -1,
+      -1,    95,    -1,    -1,    -1,    -1,   100,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      -1,    -1,    95,    -1,    -1,    98,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    -1,
+      -1,    95,    -1,    -1,    98,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    -1,    -1,
+      95,    -1,    -1,    98,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
+      -1,    -1,    98,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    -1,
+      -1,    98,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    -1,    -1,    95,    -1,    -1,
+      98,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    -1,    -1,    95,    -1,    -1,    98,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    -1,    -1,    95,    -1,    -1,    98,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    -1,    -1,    95,    -1,    -1,    98,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    -1,    -1,    95,    -1,    -1,    98,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      -1,    -1,    95,    96,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    95
+};
+
+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
+   state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,   109,     0,     1,     4,     5,     6,     7,     8,     9,
+      11,    12,    14,    15,    16,    17,    18,    19,    20,    21,
+      22,    23,    24,    25,    26,    27,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    39,    40,    41,    42,    44,
+      45,    46,    47,    48,    49,    52,    53,    54,    55,    56,
+      58,    59,    61,    62,    63,    64,    66,    67,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    89,    94,    96,
+      97,   103,   111,   112,   114,   115,   118,   119,   122,   123,
+     124,   125,   126,   127,   129,   146,   148,   154,   155,   158,
+     163,   164,   168,   169,   170,   174,   181,   192,   111,   114,
+     115,   125,   126,   146,   154,   168,   179,     8,   180,   165,
+      97,   159,    97,   146,   165,   174,   165,    68,   165,   168,
+       8,    15,    16,    29,    38,   186,   205,   186,   186,    97,
+     165,    96,    96,   174,   194,   174,   165,   165,   165,   165,
+     165,   165,    14,   110,   186,   165,   165,   165,    78,   177,
+     178,   101,   165,   147,   146,   150,   151,   114,   115,   146,
+     156,     5,     8,     9,    10,    15,    16,    25,    29,    32,
+      38,    41,    42,    44,    53,    56,    57,    60,    65,    69,
+      70,    74,    75,   206,   165,   165,   165,    57,   146,   154,
+     165,     1,   206,   206,     1,   113,    99,   165,   206,     8,
+     168,   168,     1,   168,   134,    96,   125,   129,   168,    78,
+     101,    96,   102,   102,    96,     1,    78,   102,    96,   101,
+     129,    78,    97,   159,    97,   162,   162,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      95,    96,   165,   102,    78,    97,    96,    78,    97,   102,
+     175,   168,   106,   129,   174,   101,    38,   144,   145,   130,
+      97,   206,   182,   183,   185,   174,   171,   173,   205,   102,
+     105,    97,   128,   206,   174,    96,   184,    97,    97,   168,
+      78,    99,    50,    51,   149,   152,   153,   206,   165,   176,
+      97,   102,   114,   176,   139,   114,   125,   114,   125,   101,
+      97,   135,   176,   168,   120,   121,   206,    98,     1,   167,
+     166,    68,   125,   168,   206,   206,     8,   114,   125,   128,
+       8,   155,   168,   168,   160,   168,   168,   129,   129,   168,
+     168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
+     168,   168,   168,    97,   171,     1,   168,    68,   107,   125,
+     168,   189,   190,   191,   168,   125,   168,   176,    98,   106,
+      98,   102,    97,   129,   114,    78,   189,    97,    97,    97,
+      97,    98,    99,   172,   174,   193,   189,   132,    97,   189,
+     189,   168,   168,   101,   102,   172,   178,   168,   146,   168,
+     129,   142,   140,   143,   141,   168,   114,   100,   102,   172,
+      96,   104,   129,   206,   116,    98,   105,   106,   161,    98,
+     166,   166,   189,   206,    47,   114,   154,   157,   174,    98,
+     102,    98,   136,   137,   189,   166,   168,    98,   189,    98,
+      98,    98,   168,    99,     3,   105,   195,   197,   198,    98,
+      78,    98,    98,    98,   100,    50,   153,    98,    97,   166,
+     129,   129,   129,   129,    98,   102,   121,    97,   176,    78,
+     168,    98,   129,   129,    13,    98,    97,     1,    97,   191,
+     129,   168,    98,   102,    98,   103,   187,   187,   187,   100,
+     168,   199,   200,   196,     3,   168,   168,   187,   172,   168,
+     166,   166,   166,   166,   102,   157,   172,   189,    97,   117,
+     168,    98,    98,   166,   129,   189,   168,   166,    98,   168,
+      28,   201,   202,   100,   168,   197,   102,    98,   157,    98,
+     189,    78,   166,    98,    98,   138,   131,   206,    43,   203,
+     204,   102,     3,   168,    98,   168,   129,   129,   206,   188,
+     102,   206,   199,   133,   105,   166,   166,   167,   206,   129,
+     168,   104,   166
+};
+
+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,   108,   109,   109,   109,   109,   109,   109,   109,   109,
+     109,   109,   110,   109,   109,   111,   111,   111,   111,   111,
+     111,   111,   113,   112,   112,   112,   112,   112,   112,   114,
+     115,   116,   115,   115,   117,   117,   118,   118,   118,   118,
+     118,   119,   120,   120,   120,   120,   121,   122,   122,   123,
+     123,   124,   124,   124,   124,   125,   125,   125,   126,   126,
+     127,   127,   128,   129,   129,   129,   129,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
+     129,   130,   131,   129,   132,   133,   129,   129,   129,   129,
+     134,   129,   129,   129,   129,   129,   129,   135,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   136,   129,   137,
+     138,   129,   139,   129,   140,   129,   141,   129,   142,   129,
+     143,   129,   144,   145,   144,   147,   146,   146,   146,   148,
+     149,   149,   150,   151,   150,   152,   152,   152,   152,   153,
+     154,   154,   156,   155,   157,   157,   157,   157,   157,   158,
+     158,   159,   160,   161,   161,   162,   163,   164,   165,   166,
+     167,   167,   167,   167,   168,   168,   168,   168,   168,   168,
+     168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
+     168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
+     168,   168,   168,   168,   168,   169,   169,   169,   169,   170,
+     170,   171,   172,   172,   173,   174,   175,   174,   174,   176,
+     177,   178,   178,   179,   179,   179,   179,   180,   182,   181,
+     183,   181,   184,   181,   185,   181,   186,   186,   186,   186,
+     186,   188,   187,   189,   189,   190,   190,   191,   191,   191,
+     191,   192,   193,   192,   194,   194,   195,   195,   196,   195,
+     198,   197,   200,   199,   201,   201,   202,   202,   203,   203,
+     204,   204,   205,   206,   206,   206,   206,   206,   206,   206,
+     206,   206,   206,   206,   206,   206,   206,   206,   206,   206,
+     206,   206,   206,   206,   206
+};
+
+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
+static const yytype_int8 yyr2[] =
+{
+       0,     2,     0,     2,     3,     3,     3,     3,     3,     3,
+       3,     3,     0,     4,     2,     3,     3,     4,     3,     7,
+       3,     3,     0,     3,     1,     1,     4,     5,     5,     1,
+       1,     0,     6,     2,     0,     3,     2,     1,     1,     2,
+       2,     3,     1,     2,     3,     4,     1,     2,     3,     2,
+       3,     3,     3,     3,     2,     1,     1,     5,     1,     1,
+       3,     3,     1,     1,     1,     1,     1,     1,     1,     2,
+       2,     2,     6,     2,     2,     2,     2,     5,     2,     5,
+       6,     0,     0,    10,     0,     0,    11,     4,     4,     7,
+       0,     4,     1,     3,     4,     7,     7,     0,     6,     2,
+       2,     2,     2,     2,     3,    10,     6,     0,     7,     0,
+       0,    10,     0,     5,     0,     6,     0,     6,     0,     6,
+       0,     6,     4,     0,     2,     0,     3,     1,     1,     3,
+       1,     3,     4,     0,     2,     1,     2,     3,     4,     1,
+       1,     3,     0,     3,     1,     4,     1,     2,     1,     4,
+       3,     0,     1,     3,     2,     3,     2,     1,     0,     0,
+       0,     2,     2,     1,     1,     1,     1,     1,     2,     1,
+       4,     1,     1,     5,     4,     4,     4,     3,     2,     3,
+       3,     3,     3,     3,     3,     2,     3,     3,     3,     3,
+       3,     3,     3,     3,     2,     1,     1,     1,     1,     3,
+       3,     2,     3,     4,     1,     2,     0,     4,     3,     2,
+       1,     0,     4,     1,     1,     3,     3,     1,     0,     6,
+       0,     6,     0,     6,     0,     6,     1,     1,     1,     1,
+       1,     0,     6,     0,     1,     1,     3,     1,     1,     2,
+       5,     2,     0,     5,     1,     3,     2,     2,     0,     5,
+       0,     2,     0,     2,     0,     1,     2,     3,     0,     1,
+       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
+#define YYNOMEM         goto yyexhaustedlab
+
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
+
+/* Backward compatibility with an undocumented macro.
+   Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Kind, Value); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  FILE *yyoutput = yyo;
+  YY_USE (yyoutput);
+  if (!yyvaluep)
+    return;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+  YYFPRINTF (yyo, "%s %s (",
+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+  yy_symbol_value_print (yyo, yykind, yyvaluep);
+  YYFPRINTF (yyo, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+                 int yyrule)
+{
+  int yylno = yyrline[yyrule];
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+             yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr,
+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+                       &yyvsp[(yyi + 1) - (yynrhs)]);
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+{
+  YY_USE (yyvaluep);
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YY_USE (yykind);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/* Lookahead token kind.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+int
+yyparse (void)
+{
+    yy_state_fast_t yystate = 0;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus = 0;
+
+    /* Refer to the stacks through separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* Their size.  */
+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+    /* The state stack: array, bottom, top.  */
+    yy_state_t yyssa[YYINITDEPTH];
+    yy_state_t *yyss = yyssa;
+    yy_state_t *yyssp = yyss;
+
+    /* The semantic value stack: array, bottom, top.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs = yyvsa;
+    YYSTYPE *yyvsp = yyvs;
+
+  int yyn;
+  /* The return value of yyparse.  */
+  int yyresult;
+  /* Lookahead symbol kind.  */
+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+  YY_IGNORE_USELESS_CAST_BEGIN
+  *yyssp = YY_CAST (yy_state_t, yystate);
+  YY_IGNORE_USELESS_CAST_END
+  YY_STACK_PRINT (yyss, yyssp);
+
+  if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    YYNOMEM;
+#else
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+# if defined yyoverflow
+      {
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        yy_state_t *yyss1 = yyss;
+        YYSTYPE *yyvs1 = yyvs;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * YYSIZEOF (*yyssp),
+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
+                    &yystacksize);
+        yyss = yyss1;
+        yyvs = yyvs1;
+      }
+# else /* defined YYSTACK_RELOCATE */
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+        YYNOMEM;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+        yystacksize = YYMAXDEPTH;
+
+      {
+        yy_state_t *yyss1 = yyss;
+        union yyalloc *yyptr =
+          YY_CAST (union yyalloc *,
+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+        if (! yyptr)
+          YYNOMEM;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
+      }
+# endif
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YY_IGNORE_USELESS_CAST_BEGIN
+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+                  YY_CAST (long, yystacksize)));
+      YY_IGNORE_USELESS_CAST_END
+
+      if (yyss + yystacksize - 1 <= yyssp)
+        YYABORT;
+    }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token\n"));
+      yychar = yylex ();
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = YYEOF;
+      yytoken = YYSYMBOL_YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else if (yychar == YYerror)
+    {
+      /* The scanner already issued an error message, process directly
+         to error recovery.  But do not keep the error token as
+         lookahead, it is too special and may lead us to an endless
+         loop in error recovery. */
+      yychar = YYUNDEF;
+      yytoken = YYSYMBOL_YYerror;
+      goto yyerrlab1;
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     '$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+  case 2: /* list: %empty  */
+#line 141 "../../../../src/oc/parse.ypp"
+                { ntab = 0;}
+#line 2207 "parse.cpp"
+    break;
+
+  case 3: /* list: list '\n'  */
+#line 142 "../../../../src/oc/parse.ypp"
+                    { return '\n';}
+#line 2213 "parse.cpp"
+    break;
+
+  case 4: /* list: list defn '\n'  */
+#line 143 "../../../../src/oc/parse.ypp"
+                         { return '\n';}
+#line 2219 "parse.cpp"
+    break;
+
+  case 5: /* list: list asgn '\n'  */
+#line 145 "../../../../src/oc/parse.ypp"
+                { hoc_ob_check(-1); code2(nopop, STOP); return 1; }
+#line 2225 "parse.cpp"
+    break;
+
+  case 6: /* list: list stmt '\n'  */
+#line 147 "../../../../src/oc/parse.ypp"
+                { codein(STOP); return 1; }
+#line 2231 "parse.cpp"
+    break;
+
+  case 7: /* list: list expr '\n'  */
+#line 149 "../../../../src/oc/parse.ypp"
+                { TPDYNAM; code2(print, STOP); return 1; }
+#line 2237 "parse.cpp"
+    break;
+
+  case 8: /* list: list DEBUG '\n'  */
+#line 151 "../../../../src/oc/parse.ypp"
+                { debug(); return '\n';}
+#line 2243 "parse.cpp"
+    break;
+
+  case 9: /* list: list EDIT '\n'  */
+#line 153 "../../../../src/oc/parse.ypp"
+                { return 'e';}
+#line 2249 "parse.cpp"
+    break;
+
+  case 10: /* list: list string1 '\n'  */
+#line 155 "../../../../src/oc/parse.ypp"
+                {code(prstr); code2(hoc_newline, STOP); return 1; }
+#line 2255 "parse.cpp"
+    break;
+
+  case 11: /* list: list template '\n'  */
+#line 158 "../../../../src/oc/parse.ypp"
+                             { return '\n';}
+#line 2261 "parse.cpp"
+    break;
+
+  case 12: /* $@1: %empty  */
+#line 164 "../../../../src/oc/parse.ypp"
+                    {hoc_help();}
+#line 2267 "parse.cpp"
+    break;
+
+  case 13: /* list: list HELP $@1 '\n'  */
+#line 164 "../../../../src/oc/parse.ypp"
+                                       { return '\n'; }
+#line 2273 "parse.cpp"
+    break;
+
+  case 14: /* list: list error  */
+#line 166 "../../../../src/oc/parse.ypp"
+                {clean_err(); hoc_execerror("parse error", (char*)0);
+#if LINT
+if (0) {
+if(yydebug);
+goto yynewstate;
+}
+#endif
+		}
+#line 2286 "parse.cpp"
+    break;
+
+  case 15: /* asgn: varname ROP expr  */
+#line 176 "../../../../src/oc/parse.ypp"
+                {Symbol *s; TPD; s = spop();
+		hoc_obvar_declare(s, VAR, 1);
+		code3(varpush, s, assign); codei((yyvsp[-1].narg)); PN;}
+#line 2294 "parse.cpp"
+    break;
+
+  case 16: /* asgn: ARG ROP expr  */
+#line 180 "../../../../src/oc/parse.ypp"
+                {  TPD; defnonly("$"); argcode(argassign, (yyvsp[-2].narg)); codei((yyvsp[-1].narg)); (yyval.inst)=(yyvsp[0].inst); PN;}
+#line 2300 "parse.cpp"
+    break;
+
+  case 17: /* asgn: ARGREF argrefdim ROP expr  */
+#line 182 "../../../../src/oc/parse.ypp"
+                { TPD; defnonly("$&"); argrefcode(hoc_argrefasgn, (yyvsp[-3].narg), (yyvsp[-2].narg)); codei((yyvsp[-1].narg)); (yyval.inst)=(yyvsp[0].inst); PN;}
+#line 2306 "parse.cpp"
+    break;
+
+  case 18: /* asgn: rangevar ROP expr  */
+#line 185 "../../../../src/oc/parse.ypp"
+                { TPD; code(range_const); codesym(spop()); codei((yyvsp[-1].narg)); PN;}
+#line 2312 "parse.cpp"
+    break;
+
+  case 19: /* asgn: ob1 ROP NEW anyname '(' arglist ')'  */
+#line 189 "../../../../src/oc/parse.ypp"
+                { Inst* p; hoc_opasgn_invalid((yyvsp[-5].narg));
+		 code(hoc_newobj); codesym(hoc_which_template((yyvsp[-3].sym))); codei((yyvsp[-1].narg));
+		 p = (Inst*)spop();
+		 if (p) { p->i += 2; }
+		}
+#line 2322 "parse.cpp"
+    break;
+
+  case 20: /* asgn: ob1 ROP expr  */
+#line 195 "../../../../src/oc/parse.ypp"
+                {Inst* p; TPDYNAM; code(hoc_object_asgn); codei((yyvsp[-1].narg));
+		 p = (Inst*)spop();
+		 if (p) { p->i += 2; }
+		}
+#line 2331 "parse.cpp"
+    break;
+
+  case 21: /* asgn: varname ROP error  */
+#line 200 "../../../../src/oc/parse.ypp"
+                            {myerr("assignment to variable, make sure right side is a number");}
+#line 2337 "parse.cpp"
+    break;
+
+  case 22: /* $@2: %empty  */
+#line 204 "../../../../src/oc/parse.ypp"
+                  {pushi(OBJECTVAR);pushs((yyvsp[0].sym)); pushi(CHECK);}
+#line 2343 "parse.cpp"
+    break;
+
+  case 23: /* object: OBJECTVAR $@2 wholearray  */
+#line 205 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = (yyvsp[0].inst); code(hoc_objectvar); spop(); codesym((yyvsp[-2].sym));}
+#line 2349 "parse.cpp"
+    break;
+
+  case 24: /* object: OBJECTARG  */
+#line 207 "../../../../src/oc/parse.ypp"
+                {defnonly("$o"); (yyval.inst) = argcode(hoc_objectarg, (yyvsp[0].narg)); pushi(OBJECTVAR);}
+#line 2355 "parse.cpp"
+    break;
+
+  case 25: /* object: AUTOOBJ  */
+#line 209 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = code(hoc_autoobject); codesym((yyvsp[0].sym)); pushi(OBJECTVAR);}
+#line 2361 "parse.cpp"
+    break;
+
+  case 26: /* object: TEMPLATE '[' expr ']'  */
+#line 211 "../../../../src/oc/parse.ypp"
+                {TPD; (yyval.inst) = (yyvsp[-1].inst); code(hoc_constobject); codesym((yyvsp[-3].sym)); pushi(OBJECTVAR);}
+#line 2367 "parse.cpp"
+    break;
+
+  case 27: /* object: OBJECTFUNC begin '(' arglist ')'  */
+#line 213 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); code(call); codesym((yyvsp[-4].sym)); codei((yyvsp[-1].narg));
+		  code(hoc_known_type); codei(OBJECTVAR); pushi(OBJECTVAR);}
+#line 2374 "parse.cpp"
+    break;
+
+  case 28: /* object: HOCOBJFUNCTION begin '(' arglist ')'  */
+#line 216 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); code(call); codesym((yyvsp[-4].sym)); codei((yyvsp[-1].narg));
+		  code(hoc_known_type); codei(OBJECTVAR); pushi(OBJECTVAR);}
+#line 2381 "parse.cpp"
+    break;
+
+  case 29: /* ob: ob1  */
+#line 220 "../../../../src/oc/parse.ypp"
+        { spop(); }
+#line 2387 "parse.cpp"
+    break;
+
+  case 30: /* ob1: object  */
+#line 223 "../../../../src/oc/parse.ypp"
+               { pushs((Symbol*)0); }
+#line 2393 "parse.cpp"
+    break;
+
+  case 31: /* $@3: %empty  */
+#line 224 "../../../../src/oc/parse.ypp"
+                          {pushs((yyvsp[0].sym));pushi(NOCHECK);}
+#line 2399 "parse.cpp"
+    break;
+
+  case 32: /* ob1: ob1 '.' anyname $@3 wholearray func_or_range_array_case  */
+#line 225 "../../../../src/oc/parse.ypp"
+                {int isfunc; Inst* p;
+		 isfunc = ipop();
+		 code(hoc_object_component); codesym(spop()); codei(ipop());
+		 codei((yyvsp[0].narg));
+		 codei(0); codesym(0);
+		 p = codei(isfunc); /* for USE_PYTHON */
+		 spop();
+		 pushs((Symbol*)p); /* in case assigning to a PythonObject we will want to update isfunc to 2 */
+		}
+#line 2413 "parse.cpp"
+    break;
+
+  case 33: /* ob1: OBJECTVAR error  */
+#line 234 "../../../../src/oc/parse.ypp"
+                          {myerr("object syntax is o1.o2.o3.");}
+#line 2419 "parse.cpp"
+    break;
+
+  case 34: /* func_or_range_array_case: %empty  */
+#line 237 "../../../../src/oc/parse.ypp"
+                {(yyval.narg) = 0; pushi(0);}
+#line 2425 "parse.cpp"
+    break;
+
+  case 35: /* func_or_range_array_case: '(' arglist ')'  */
+#line 239 "../../../../src/oc/parse.ypp"
+                {(yyval.narg) = (yyvsp[-1].narg); pushi(1);}
+#line 2431 "parse.cpp"
+    break;
+
+  case 36: /* template: BEGINTEMPLATE anyname  */
+#line 241 "../../../../src/oc/parse.ypp"
+                                {hoc_begintemplate((yyvsp[0].sym));}
+#line 2437 "parse.cpp"
+    break;
+
+  case 39: /* template: ENDTEMPLATE anyname  */
+#line 244 "../../../../src/oc/parse.ypp"
+                              {hoc_endtemplate((yyvsp[0].sym));}
+#line 2443 "parse.cpp"
+    break;
+
+  case 40: /* template: BEGINTEMPLATE error  */
+#line 245 "../../../../src/oc/parse.ypp"
+                              {myerr("begintemplate Name\npublic namelist\nexternal namelist\n...\nendtemplate Name");}
+#line 2449 "parse.cpp"
+    break;
+
+  case 41: /* objvarlist: OBJVARDECL begin objvarlst1  */
+#line 248 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = (yyvsp[-1].inst);}
+#line 2455 "parse.cpp"
+    break;
+
+  case 42: /* objvarlst1: obvarname  */
+#line 251 "../../../../src/oc/parse.ypp"
+                {code(hoc_objvardecl); codesym((yyvsp[0].sym)); codei(0);}
+#line 2461 "parse.cpp"
+    break;
+
+  case 43: /* objvarlst1: obvarname numdimen  */
+#line 253 "../../../../src/oc/parse.ypp"
+                {code(hoc_objvardecl); codesym((yyvsp[-1].sym)); codei((yyvsp[0].narg));}
+#line 2467 "parse.cpp"
+    break;
+
+  case 44: /* objvarlst1: objvarlst1 ',' obvarname  */
+#line 255 "../../../../src/oc/parse.ypp"
+                {code(hoc_objvardecl); codesym((yyvsp[0].sym)); codei(0);}
+#line 2473 "parse.cpp"
+    break;
+
+  case 45: /* objvarlst1: objvarlst1 ',' obvarname numdimen  */
+#line 257 "../../../../src/oc/parse.ypp"
+                {code(hoc_objvardecl); codesym((yyvsp[-1].sym)); codei((yyvsp[0].narg));}
+#line 2479 "parse.cpp"
+    break;
+
+  case 46: /* obvarname: anyname  */
+#line 260 "../../../../src/oc/parse.ypp"
+                {
+		  Symbol* s;
+		  s = hoc_decl((yyvsp[0].sym));
+		  if (s->type != UNDEF && s->type != OBJECTVAR) {
+			acterror(s->name, " already declared");
+		  }
+		  (yyval.sym) = s;
+		}
+#line 2492 "parse.cpp"
+    break;
+
+  case 47: /* publiclist: PUBLICDECL anyname  */
+#line 270 "../../../../src/oc/parse.ypp"
+                {hoc_add_publiclist((yyvsp[0].sym));}
+#line 2498 "parse.cpp"
+    break;
+
+  case 48: /* publiclist: publiclist ',' anyname  */
+#line 272 "../../../../src/oc/parse.ypp"
+                {hoc_add_publiclist((yyvsp[0].sym));}
+#line 2504 "parse.cpp"
+    break;
+
+  case 49: /* externallist: EXTERNALDECL VAR  */
+#line 275 "../../../../src/oc/parse.ypp"
+                {hoc_external_var((yyvsp[0].sym));}
+#line 2510 "parse.cpp"
+    break;
+
+  case 50: /* externallist: externallist ',' VAR  */
+#line 277 "../../../../src/oc/parse.ypp"
+                {hoc_external_var((yyvsp[0].sym));}
+#line 2516 "parse.cpp"
+    break;
+
+  case 51: /* strnasgn: string2 ROP string1  */
+#line 282 "../../../../src/oc/parse.ypp"
+                {hoc_opasgn_invalid((yyvsp[-1].narg)); code(assstr);}
+#line 2522 "parse.cpp"
+    break;
+
+  case 52: /* strnasgn: ob1 ROP string1  */
+#line 284 "../../../../src/oc/parse.ypp"
+                {Inst* p = (Inst*) spop(); pushi(STRING); TPDYNAM; code(hoc_object_asgn);
+		 hoc_opasgn_invalid((yyvsp[-1].narg)); codei((yyvsp[-1].narg)); hoc_ob_check(-1); code(nopop);
+		 if (p) { p->i += 2; }
+		}
+#line 2531 "parse.cpp"
+    break;
+
+  case 53: /* strnasgn: string2 ROP ob  */
+#line 289 "../../../../src/oc/parse.ypp"
+                {code(hoc_asgn_obj_to_str); hoc_opasgn_invalid((yyvsp[-1].narg)); }
+#line 2537 "parse.cpp"
+    break;
+
+  case 54: /* strnasgn: string2 error  */
+#line 290 "../../../../src/oc/parse.ypp"
+                        {myerr("string assignment: both sides need to be a string");}
+#line 2543 "parse.cpp"
+    break;
+
+  case 56: /* string1: CSTRING  */
+#line 295 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = code(hoc_push_string); codesym((yyvsp[0].sym));}
+#line 2549 "parse.cpp"
+    break;
+
+  case 57: /* string1: STRINGFUNC begin '(' arglist ')'  */
+#line 297 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); code(call); codesym((yyvsp[-4].sym)); codei((yyvsp[-1].narg));}
+#line 2555 "parse.cpp"
+    break;
+
+  case 58: /* string2: STRING  */
+#line 301 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = code(hoc_push_string); codesym((yyvsp[0].sym));}
+#line 2561 "parse.cpp"
+    break;
+
+  case 59: /* string2: STRINGARG  */
+#line 303 "../../../../src/oc/parse.ypp"
+                {defnonly("$s"); (yyval.inst) = argcode(hoc_stringarg, (yyvsp[0].narg));}
+#line 2567 "parse.cpp"
+    break;
+
+  case 60: /* strlist: STRDEF begin string  */
+#line 307 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-1].inst); }
+#line 2573 "parse.cpp"
+    break;
+
+  case 62: /* string: anyname  */
+#line 311 "../../../../src/oc/parse.ypp"
+                {
+			Symbol* s = hoc_decl((yyvsp[0].sym));
+			if (s->type == UNDEF) {
+				hoc_obvar_declare(s, STRING, 0);
+				OPSTR(s) = (char**)emalloc(sizeof(char*));
+				*OPSTR(s) = 0;
+			}else if (s->type != STRING) {
+				acterror(s->name, " already declared");
+			}
+			hoc_assign_str(OPSTR(s), "");
+		}
+#line 2589 "parse.cpp"
+    break;
+
+  case 63: /* stmt: expr  */
+#line 324 "../../../../src/oc/parse.ypp"
+                { code(nopop); hoc_ob_check(-1); /*don't check*/}
+#line 2595 "parse.cpp"
+    break;
+
+  case 68: /* stmt: string1  */
+#line 332 "../../../../src/oc/parse.ypp"
+                { code(nopop); }
+#line 2601 "parse.cpp"
+    break;
+
+  case 69: /* stmt: parseDELETE delsym  */
+#line 334 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst);}
+#line 2607 "parse.cpp"
+    break;
+
+  case 70: /* stmt: RETURN begin  */
+#line 336 "../../../../src/oc/parse.ypp"
+                { defnonly("return"); (yyval.inst)=(yyvsp[0].inst); code(procret); }
+#line 2613 "parse.cpp"
+    break;
+
+  case 71: /* stmt: RETURN expr  */
+#line 338 "../../../../src/oc/parse.ypp"
+                {  if (indef == 3) {
+			TPDYNAM; (yyval.inst) = (yyvsp[0].inst);
+			code(hocobjret);
+		   }else{
+			TPD; defnonly("return"); (yyval.inst)=(yyvsp[0].inst);
+			code(funcret);
+		   }
+		}
+#line 2626 "parse.cpp"
+    break;
+
+  case 72: /* stmt: RETURN NEW anyname '(' arglist ')'  */
+#line 347 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = code(hoc_newobj_ret); codesym(hoc_which_template((yyvsp[-3].sym))); codei((yyvsp[-1].narg));
+		 code(hocobjret);
+		}
+#line 2634 "parse.cpp"
+    break;
+
+  case 73: /* stmt: ITERSTMT begin  */
+#line 351 "../../../../src/oc/parse.ypp"
+                { if (indef != 2) {
+acterror("iterator_statement used outside an iterator declaration", 0);
+		  }
+			code(hoc_iterator_stmt);
+		}
+#line 2644 "parse.cpp"
+    break;
+
+  case 74: /* stmt: BREAK begin  */
+#line 357 "../../../../src/oc/parse.ypp"
+                { code(Break); (yyval.inst) = (yyvsp[0].inst); }
+#line 2650 "parse.cpp"
+    break;
+
+  case 75: /* stmt: STOPSTMT begin  */
+#line 359 "../../../../src/oc/parse.ypp"
+                { code(Stop); (yyval.inst) = (yyvsp[0].inst); }
+#line 2656 "parse.cpp"
+    break;
+
+  case 76: /* stmt: CONTINUE begin  */
+#line 361 "../../../../src/oc/parse.ypp"
+                { code(Continue); (yyval.inst) = (yyvsp[0].inst); }
+#line 2662 "parse.cpp"
+    break;
+
+  case 77: /* stmt: PROCEDURE begin '(' arglist ')'  */
+#line 363 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); code(call); codesym((yyvsp[-4].sym)); codei((yyvsp[-1].narg)); code(nopop); }
+#line 2668 "parse.cpp"
+    break;
+
+  case 78: /* stmt: PRINT prlist  */
+#line 365 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst); code(hoc_newline); }
+#line 2674 "parse.cpp"
+    break;
+
+  case 79: /* stmt: FOR begin iterator stmt end  */
+#line 367 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst);
+		  ((yyvsp[-2].inst))[0].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 0); /* body */
+		  ((yyvsp[-2].inst))[1].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 1); /* exit */
+		}
+#line 2683 "parse.cpp"
+    break;
+
+  case 80: /* stmt: for_init for_st for_cond for_inc stmt end  */
+#line 372 "../../../../src/oc/parse.ypp"
+                        {
+			((yyvsp[-4].inst))[1].i =relative((yyvsp[-1].inst), (yyvsp[-4].inst), 1);	/* body */
+			((yyvsp[-4].inst))[2].i =relative((yyvsp[0].inst), (yyvsp[-4].inst), 2); /* exit from the for */
+			((yyvsp[-4].inst))[3].i  =relative((yyvsp[-2].inst), (yyvsp[-4].inst), 3);	/* increment */
+			(yyval.inst) = (yyvsp[-5].inst);
+#if LINT
+if (0){YYERROR;}
+#endif
+			}
+#line 2697 "parse.cpp"
+    break;
+
+  case 81: /* @4: %empty  */
+#line 382 "../../../../src/oc/parse.ypp"
+                  { Symbol *s; (yyval.inst) = Code(varpush); codesym(s = spop());
+			hoc_obvar_declare(s, VAR, 1);
+		  }
+#line 2705 "parse.cpp"
+    break;
+
+  case 82: /* @5: %empty  */
+#line 386 "../../../../src/oc/parse.ypp"
+                  {TPD; TPD; hoc_opasgn_invalid((yyvsp[-3].narg)); 
+		    (yyval.inst) = code(shortfor); codei(0); codei(0);}
+#line 2712 "parse.cpp"
+    break;
+
+  case 83: /* stmt: FOR varname @4 ROP expr ',' expr @5 stmt end  */
+#line 389 "../../../../src/oc/parse.ypp"
+                  { (yyval.inst) = (yyvsp[-8].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			   ((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		  }
+#line 2720 "parse.cpp"
+    break;
+
+  case 84: /* @6: %empty  */
+#line 393 "../../../../src/oc/parse.ypp"
+                  { Symbol *s; (yyval.inst) = Code(varpush); codesym(s = spop());
+			hoc_obvar_declare(s, VAR, 1);
+		  }
+#line 2728 "parse.cpp"
+    break;
+
+  case 85: /* @7: %empty  */
+#line 397 "../../../../src/oc/parse.ypp"
+                  {TPD; TPD; hoc_opasgn_invalid((yyvsp[-3].narg)); 
+		     code(hoc_parallel_begin);
+		     (yyval.inst) = code(shortfor); codei(0); codei(0);}
+#line 2736 "parse.cpp"
+    break;
+
+  case 86: /* stmt: PARALLEL FOR varname @6 ROP expr ',' expr @7 stmt end  */
+#line 401 "../../../../src/oc/parse.ypp"
+                  { (yyval.inst) = (yyvsp[-8].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			   ((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+			code(hoc_parallel_end);
+		  }
+#line 2745 "parse.cpp"
+    break;
+
+  case 87: /* stmt: while cond stmt end  */
+#line 406 "../../../../src/oc/parse.ypp"
+                {
+		((yyvsp[-3].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-3].inst), 1);	/* body of loop */
+		((yyvsp[-3].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-3].inst), 2); }
+#line 2753 "parse.cpp"
+    break;
+
+  case 88: /* stmt: if cond stmt end  */
+#line 410 "../../../../src/oc/parse.ypp"
+                {
+		((yyvsp[-3].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-3].inst), 1);	/* thenpart */
+		((yyvsp[-3].inst))[3].i = relative((yyvsp[0].inst), (yyvsp[-3].inst), 3); }
+#line 2761 "parse.cpp"
+    break;
+
+  case 89: /* stmt: if cond stmt end ELSE stmt end  */
+#line 414 "../../../../src/oc/parse.ypp"
+                {
+		((yyvsp[-6].inst))[1].i = relative((yyvsp[-4].inst), (yyvsp[-6].inst), 1);	/* thenpart */
+		((yyvsp[-6].inst))[2].i = relative((yyvsp[-1].inst), (yyvsp[-6].inst), 2);	/* elsepart */
+		((yyvsp[-6].inst))[3].i = relative((yyvsp[0].inst), (yyvsp[-6].inst), 3); }
+#line 2770 "parse.cpp"
+    break;
+
+  case 90: /* $@8: %empty  */
+#line 419 "../../../../src/oc/parse.ypp"
+                { ntab++;}
+#line 2776 "parse.cpp"
+    break;
+
+  case 91: /* stmt: '{' $@8 stmtlist '}'  */
+#line 421 "../../../../src/oc/parse.ypp"
+                {
+		ntab--; (yyval.inst) = (yyvsp[-1].inst);
+		}
+#line 2784 "parse.cpp"
+    break;
+
+  case 93: /* stmt: SECTIONKEYWORD begin sectiondecl  */
+#line 427 "../../../../src/oc/parse.ypp"
+                                           { (yyval.inst) = (yyvsp[-1].inst); }
+#line 2790 "parse.cpp"
+    break;
+
+  case 94: /* stmt: CONNECTKEYWORD section_or_ob ',' expr  */
+#line 429 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[-2].inst); code(connectsection);}
+#line 2796 "parse.cpp"
+    break;
+
+  case 95: /* stmt: CONNECTKEYWORD section_or_ob ',' section '(' expr ')'  */
+#line 431 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[-5].inst); code(simpleconnectsection);}
+#line 2802 "parse.cpp"
+    break;
+
+  case 96: /* stmt: SETPOINTERKEYWORD rangevar '(' expr ')' ',' pointer  */
+#line 433 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[-5].inst); code(connectpointer); codesym(spop());}
+#line 2808 "parse.cpp"
+    break;
+
+  case 97: /* $@9: %empty  */
+#line 434 "../../../../src/oc/parse.ypp"
+                                  {code(nrn_cppp);}
+#line 2814 "parse.cpp"
+    break;
+
+  case 98: /* stmt: SETPOINTERKEYWORD begin $@9 ob ',' pointer  */
+#line 435 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); code(connect_point_process_pointer);
+			 hoc_ob_check(-1);}
+#line 2821 "parse.cpp"
+    break;
+
+  case 99: /* stmt: ACCESSKEYWORD section  */
+#line 438 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst); code(sec_access);}
+#line 2827 "parse.cpp"
+    break;
+
+  case 100: /* stmt: ACCESSKEYWORD ob  */
+#line 440 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst); hoc_ob_check(SECTION); code(sec_access_object);}
+#line 2833 "parse.cpp"
+    break;
+
+  case 101: /* stmt: INSERTKEYWORD anyname  */
+#line 442 "../../../../src/oc/parse.ypp"
+                { Symbol* s = (yyvsp[0].sym);
+			(yyval.inst) = Code(mech_access);
+			if (s->type != MECHANISM) {
+				s = hoc_table_lookup(s->name, hoc_built_in_symlist);
+				if (!s || s->type != MECHANISM) {
+					acterror((yyvsp[0].sym)->name, "is not a MECHANISM");
+				}
+			}
+			codesym(s);}
+#line 2847 "parse.cpp"
+    break;
+
+  case 102: /* stmt: UNINSERTKEYWORD MECHANISM  */
+#line 452 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = Code(mech_uninsert); codesym((yyvsp[0].sym));}
+#line 2853 "parse.cpp"
+    break;
+
+  case 103: /* stmt: section stmt  */
+#line 454 "../../../../src/oc/parse.ypp"
+                { code(sec_access_pop);}
+#line 2859 "parse.cpp"
+    break;
+
+  case 104: /* stmt: ob stmt end  */
+#line 456 "../../../../src/oc/parse.ypp"
+                { code(sec_access_pop); hoc_ob_check(-1);
+			insertcode((yyvsp[-1].inst), (yyvsp[0].inst), ob_sec_access);}
+#line 2866 "parse.cpp"
+    break;
+
+  case 105: /* stmt: rangevar '(' expr ':' expr ')' ROP expr ':' expr  */
+#line 459 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; TPD; TPD; code(range_interpolate); codesym(spop());
+		  codei((yyvsp[-3].narg));
+		}
+#line 2874 "parse.cpp"
+    break;
+
+  case 106: /* stmt: rangevar '(' expr ')' ROP expr  */
+#line 463 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(range_interpolate_single); codesym(spop());
+		  codei((yyvsp[-1].narg));
+		}
+#line 2882 "parse.cpp"
+    break;
+
+  case 107: /* @10: %empty  */
+#line 467 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code(varpush); codesym(s = spop());
+		 hoc_obvar_declare(s, VAR, 1);
+		 (yyval.inst) = code(for_segment); codei(0); codei(0);}
+#line 2890 "parse.cpp"
+    break;
+
+  case 108: /* stmt: FOR '(' varname ')' @10 stmt end  */
+#line 471 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2898 "parse.cpp"
+    break;
+
+  case 109: /* $@11: %empty  */
+#line 475 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code(varpush); codesym(s = spop());
+		hoc_obvar_declare(s, VAR, 1);}
+#line 2905 "parse.cpp"
+    break;
+
+  case 110: /* @12: %empty  */
+#line 478 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = code(for_segment1); codei(0); codei(0);}
+#line 2911 "parse.cpp"
+    break;
+
+  case 111: /* stmt: FOR '(' varname ',' $@11 expr ')' @12 stmt end  */
+#line 480 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-7].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2919 "parse.cpp"
+    break;
+
+  case 112: /* @13: %empty  */
+#line 484 "../../../../src/oc/parse.ypp"
+                {	code(hoc_push_string); codesym((Symbol*)0);
+			(yyval.inst) = code(forall_section); codei(0); codei(0);}
+#line 2926 "parse.cpp"
+    break;
+
+  case 113: /* stmt: FORALL begin @13 stmt end  */
+#line 487 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2934 "parse.cpp"
+    break;
+
+  case 114: /* @14: %empty  */
+#line 491 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(forall_section); codei(0); codei(0);}
+#line 2940 "parse.cpp"
+    break;
+
+  case 115: /* stmt: FORSEC begin string1 @14 stmt end  */
+#line 493 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2948 "parse.cpp"
+    break;
+
+  case 116: /* @15: %empty  */
+#line 497 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(hoc_ifsec); codei(0); codei(0);}
+#line 2954 "parse.cpp"
+    break;
+
+  case 117: /* stmt: IFSEC begin string1 @15 stmt end  */
+#line 499 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2962 "parse.cpp"
+    break;
+
+  case 118: /* @16: %empty  */
+#line 503 "../../../../src/oc/parse.ypp"
+                {hoc_ob_check(-1);
+		(yyval.inst) = code(forall_sectionlist); codei(0); codei(0); }
+#line 2969 "parse.cpp"
+    break;
+
+  case 119: /* stmt: FORSEC begin ob @16 stmt end  */
+#line 506 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2977 "parse.cpp"
+    break;
+
+  case 120: /* @17: %empty  */
+#line 510 "../../../../src/oc/parse.ypp"
+                { hoc_ob_check(-1);
+		 (yyval.inst) = code(hoc_ifseclist); codei(0); codei(0);
+		}
+#line 2985 "parse.cpp"
+    break;
+
+  case 121: /* stmt: IFSEC begin ob @17 stmt end  */
+#line 515 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-4].inst); ((yyvsp[-2].inst))[1].i = relative((yyvsp[-1].inst), (yyvsp[-2].inst), 1); /* body */
+			((yyvsp[-2].inst))[2].i = relative((yyvsp[0].inst), (yyvsp[-2].inst), 2); /* exit */
+		}
+#line 2993 "parse.cpp"
+    break;
+
+  case 122: /* iterator: ITERATOR '(' arglist ')'  */
+#line 522 "../../../../src/oc/parse.ypp"
+                {
+		  code(hoc_iterator); codesym((yyvsp[-3].sym)); codei((yyvsp[-1].narg));
+		  (yyval.inst) = progp; codein(STOP); codein(STOP);
+		}
+#line 3002 "parse.cpp"
+    break;
+
+  case 123: /* $@18: %empty  */
+#line 526 "../../../../src/oc/parse.ypp"
+          {code(hoc_push_current_object);}
+#line 3008 "parse.cpp"
+    break;
+
+  case 124: /* iterator: $@18 ob  */
+#line 527 "../../../../src/oc/parse.ypp"
+                {codei(ITERATOR);
+		  (yyval.inst) = progp; codein(STOP); codein(STOP);
+		}
+#line 3016 "parse.cpp"
+    break;
+
+  case 125: /* $@19: %empty  */
+#line 532 "../../../../src/oc/parse.ypp"
+                 {pushs((yyvsp[0].sym)); pushi(CHECK);}
+#line 3022 "parse.cpp"
+    break;
+
+  case 126: /* section: SECTION $@19 wholearray  */
+#line 533 "../../../../src/oc/parse.ypp"
+                {code(sec_access_push); codesym(spop()); (yyval.inst) = (yyvsp[0].inst);}
+#line 3028 "parse.cpp"
+    break;
+
+  case 127: /* section: INTERNALSECTIONNAME  */
+#line 535 "../../../../src/oc/parse.ypp"
+                {
+		  (yyval.inst) = code(hoc_sec_internal_push);
+		  hoc_codeptr((yyvsp[0].ptr));
+		}
+#line 3037 "parse.cpp"
+    break;
+
+  case 128: /* section: pysec  */
+#line 540 "../../../../src/oc/parse.ypp"
+                {
+		  nrn_parsing_pysec_ = NULL;
+		  (yyval.inst) = code(hoc_sec_internal_push);
+		  hoc_codeptr((yyvsp[0].ptr));
+		}
+#line 3047 "parse.cpp"
+    break;
+
+  case 129: /* pysec: PYSEC '.' pysec1  */
+#line 548 "../../../../src/oc/parse.ypp"
+                { (yyval.ptr) = (yyvsp[0].ptr); }
+#line 3053 "parse.cpp"
+    break;
+
+  case 131: /* pysec1: PYSECOBJ '.' PYSECNAME  */
+#line 553 "../../../../src/oc/parse.ypp"
+                { (yyval.ptr) = (yyvsp[0].ptr); }
+#line 3059 "parse.cpp"
+    break;
+
+  case 132: /* section_or_ob: section '(' expr ')'  */
+#line 556 "../../../../src/oc/parse.ypp"
+                                    {TPD;}
+#line 3065 "parse.cpp"
+    break;
+
+  case 133: /* @20: %empty  */
+#line 557 "../../../../src/oc/parse.ypp"
+          {(yyval.inst) = progp; code(connect_obsec_syntax);}
+#line 3071 "parse.cpp"
+    break;
+
+  case 134: /* section_or_ob: @20 ob  */
+#line 558 "../../../../src/oc/parse.ypp"
+                {
+#if 0
+		 acterror("Sorry. The \"connect ob.sec...\" syntax ",
+			"is not implemented");
+#endif
+		 hoc_ob_check(SECTION); code(ob_sec_access);
+		}
+#line 3083 "parse.cpp"
+    break;
+
+  case 135: /* sectiondecl: sectionname  */
+#line 568 "../../../../src/oc/parse.ypp"
+                { code(add_section); codesym((yyvsp[0].sym)); codei(0);}
+#line 3089 "parse.cpp"
+    break;
+
+  case 136: /* sectiondecl: sectionname numdimen  */
+#line 570 "../../../../src/oc/parse.ypp"
+                { code(add_section); codesym((yyvsp[-1].sym)); codei((yyvsp[0].narg));}
+#line 3095 "parse.cpp"
+    break;
+
+  case 137: /* sectiondecl: sectiondecl ',' sectionname  */
+#line 572 "../../../../src/oc/parse.ypp"
+                {code(add_section); codesym((yyvsp[0].sym)); codei(0);}
+#line 3101 "parse.cpp"
+    break;
+
+  case 138: /* sectiondecl: sectiondecl ',' sectionname numdimen  */
+#line 574 "../../../../src/oc/parse.ypp"
+                { code(add_section); codesym((yyvsp[-1].sym)); codei((yyvsp[0].narg));}
+#line 3107 "parse.cpp"
+    break;
+
+  case 139: /* sectionname: anyname  */
+#line 577 "../../../../src/oc/parse.ypp"
+                {
+			Symbol* s;
+			s = hoc_decl((yyvsp[0].sym));
+			if (s->type != UNDEF && s->type != SECTION)
+				acterror(s->name, " already declared");
+		}
+#line 3118 "parse.cpp"
+    break;
+
+  case 140: /* rangevar: rangevar1  */
+#line 585 "../../../../src/oc/parse.ypp"
+                { code(sec_access_push); codesym((Symbol *)0);}
+#line 3124 "parse.cpp"
+    break;
+
+  case 142: /* $@21: %empty  */
+#line 588 "../../../../src/oc/parse.ypp"
+                    {pushs((yyvsp[0].sym)); pushi(CHECK);}
+#line 3130 "parse.cpp"
+    break;
+
+  case 143: /* rangevar1: RANGEVAR $@21 wholearray  */
+#line 589 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = (yyvsp[0].inst);}
+#line 3136 "parse.cpp"
+    break;
+
+  case 144: /* pointer: varname  */
+#line 592 "../../../../src/oc/parse.ypp"
+                { code3(varpush, spop(), hoc_evalpointer);}
+#line 3142 "parse.cpp"
+    break;
+
+  case 145: /* pointer: rangevar '(' expr ')'  */
+#line 594 "../../../../src/oc/parse.ypp"
+                { TPD; code(rangevarevalpointer); codesym(spop());}
+#line 3148 "parse.cpp"
+    break;
+
+  case 146: /* pointer: ob  */
+#line 596 "../../../../src/oc/parse.ypp"
+                {hoc_ipop(); code(hoc_ob_pointer);}
+#line 3154 "parse.cpp"
+    break;
+
+  case 147: /* pointer: rangevar error  */
+#line 597 "../../../../src/oc/parse.ypp"
+                         {myerr("rangevariable needs explicit arc position,eg. v(.5)");}
+#line 3160 "parse.cpp"
+    break;
+
+  case 148: /* pointer: ARGREF  */
+#line 599 "../../../../src/oc/parse.ypp"
+                {(yyval.inst) = argcode(hoc_argrefarg, (yyvsp[0].narg));}
+#line 3166 "parse.cpp"
+    break;
+
+  case 149: /* for_init: FOR '(' stmt ';'  */
+#line 605 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-1].inst);}
+#line 3172 "parse.cpp"
+    break;
+
+  case 150: /* for_init: FOR '(' ';'  */
+#line 607 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = progp; }
+#line 3178 "parse.cpp"
+    break;
+
+  case 151: /* for_st: %empty  */
+#line 610 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(forcode); codei(0); codei(0); codei(0); }
+#line 3184 "parse.cpp"
+    break;
+
+  case 152: /* for_cond: expr  */
+#line 613 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[0].inst); codein(STOP);}
+#line 3190 "parse.cpp"
+    break;
+
+  case 153: /* for_inc: ';' stmt ')'  */
+#line 616 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-1].inst); codein(STOP);}
+#line 3196 "parse.cpp"
+    break;
+
+  case 154: /* for_inc: ';' ')'  */
+#line 618 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = progp; codein(STOP);}
+#line 3202 "parse.cpp"
+    break;
+
+  case 155: /* cond: '(' expr ')'  */
+#line 621 "../../../../src/oc/parse.ypp"
+                { TPD; codein(STOP); (yyval.inst) = (yyvsp[-1].inst);}
+#line 3208 "parse.cpp"
+    break;
+
+  case 156: /* while: WHILE for_st  */
+#line 624 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst); }
+#line 3214 "parse.cpp"
+    break;
+
+  case 157: /* if: IF  */
+#line 627 "../../../../src/oc/parse.ypp"
+                { (yyval.inst)=code(ifcode); codei(0); codei(0); codei(0); }
+#line 3220 "parse.cpp"
+    break;
+
+  case 158: /* begin: %empty  */
+#line 630 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = progp; }
+#line 3226 "parse.cpp"
+    break;
+
+  case 159: /* end: %empty  */
+#line 633 "../../../../src/oc/parse.ypp"
+                { codein(STOP); (yyval.inst) = progp; }
+#line 3232 "parse.cpp"
+    break;
+
+  case 160: /* stmtlist: %empty  */
+#line 636 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = progp; prog_error = (yyval.inst); }
+#line 3238 "parse.cpp"
+    break;
+
+  case 161: /* stmtlist: stmtlist '\n'  */
+#line 638 "../../../../src/oc/parse.ypp"
+                {
+			prog_parse_recover = progp;
+			prog_error = (yyval.inst);
+			if (fin && nrn_fw_eq(fin, stdin) && !pipeflag)
+			{	int i;
+				Printf(">");
+				for (i = 0; i < ntab; i++)
+					Printf("	");
+			}
+		}
+#line 3253 "parse.cpp"
+    break;
+
+  case 163: /* stmtlist: error  */
+#line 650 "../../../../src/oc/parse.ypp"
+                {myerr("syntax error in compound statement");}
+#line 3259 "parse.cpp"
+    break;
+
+  case 164: /* expr: NUMBER  */
+#line 655 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(constpush); codesym((yyvsp[0].sym)); PN;}
+#line 3265 "parse.cpp"
+    break;
+
+  case 165: /* expr: NUMZERO  */
+#line 657 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(pushzero); PN;}
+#line 3271 "parse.cpp"
+    break;
+
+  case 166: /* expr: varname  */
+#line 659 "../../../../src/oc/parse.ypp"
+                { code3(varpush, spop(), eval); PN;}
+#line 3277 "parse.cpp"
+    break;
+
+  case 167: /* expr: ARG  */
+#line 661 "../../../../src/oc/parse.ypp"
+                { defnonly("$"); (yyval.inst) = argcode(arg, (yyvsp[0].narg)); PN;}
+#line 3283 "parse.cpp"
+    break;
+
+  case 168: /* expr: ARGREF argrefdim  */
+#line 663 "../../../../src/oc/parse.ypp"
+                { defnonly("$&"); (yyval.inst) = argrefcode(hoc_argref, (yyvsp[-1].narg), (yyvsp[0].narg)); PN;}
+#line 3289 "parse.cpp"
+    break;
+
+  case 169: /* expr: rangevar  */
+#line 666 "../../../../src/oc/parse.ypp"
+                {code(rangepoint); codesym(spop()); PN;}
+#line 3295 "parse.cpp"
+    break;
+
+  case 170: /* expr: rangevar '(' expr ')'  */
+#line 668 "../../../../src/oc/parse.ypp"
+                { TPD; code(rangevareval); codesym(spop()); PN;}
+#line 3301 "parse.cpp"
+    break;
+
+  case 171: /* expr: ob  */
+#line 672 "../../../../src/oc/parse.ypp"
+                {code(hoc_object_eval);}
+#line 3307 "parse.cpp"
+    break;
+
+  case 173: /* expr: function begin '(' arglist ')'  */
+#line 676 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); code(call); codesym((yyvsp[-4].sym)); codei((yyvsp[-1].narg)); PN;}
+#line 3313 "parse.cpp"
+    break;
+
+  case 174: /* expr: varname '(' arglist ')'  */
+#line 678 "../../../../src/oc/parse.ypp"
+                { code(call); codesym(spop()); codei((yyvsp[-1].narg)); PN;}
+#line 3319 "parse.cpp"
+    break;
+
+  case 175: /* expr: READ '(' varname ')'  */
+#line 680 "../../../../src/oc/parse.ypp"
+                { (yyval.inst)=(yyvsp[-1].inst); code(varread); codesym(spop()); PN;}
+#line 3325 "parse.cpp"
+    break;
+
+  case 176: /* expr: BLTIN '(' expr ')'  */
+#line 682 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[-1].inst); code(bltin); codesym((yyvsp[-3].sym)); PN;}
+#line 3331 "parse.cpp"
+    break;
+
+  case 177: /* expr: '(' expr ')'  */
+#line 684 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-1].inst); }
+#line 3337 "parse.cpp"
+    break;
+
+  case 178: /* expr: '(' error  */
+#line 686 "../../../../src/oc/parse.ypp"
+                {myerr("syntax error in expression");}
+#line 3343 "parse.cpp"
+    break;
+
+  case 179: /* expr: expr '+' expr  */
+#line 688 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(add); PN; }
+#line 3349 "parse.cpp"
+    break;
+
+  case 180: /* expr: expr '-' expr  */
+#line 690 "../../../../src/oc/parse.ypp"
+                { TPD; TPD;code(hoc_sub); PN;}
+#line 3355 "parse.cpp"
+    break;
+
+  case 181: /* expr: expr '*' expr  */
+#line 692 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(mul); PN;}
+#line 3361 "parse.cpp"
+    break;
+
+  case 182: /* expr: expr '/' expr  */
+#line 694 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(hoc_div); PN;}
+#line 3367 "parse.cpp"
+    break;
+
+  case 183: /* expr: expr '%' expr  */
+#line 696 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(hoc_cyclic); PN;}
+#line 3373 "parse.cpp"
+    break;
+
+  case 184: /* expr: expr '^' expr  */
+#line 698 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(power); PN;}
+#line 3379 "parse.cpp"
+    break;
+
+  case 185: /* expr: '-' expr  */
+#line 700 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[0].inst); code(negate); PN;}
+#line 3385 "parse.cpp"
+    break;
+
+  case 186: /* expr: expr GT expr  */
+#line 702 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(gt); PN;}
+#line 3391 "parse.cpp"
+    break;
+
+  case 187: /* expr: expr GE expr  */
+#line 704 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(ge); PN;}
+#line 3397 "parse.cpp"
+    break;
+
+  case 188: /* expr: expr LT expr  */
+#line 706 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(lt); PN;}
+#line 3403 "parse.cpp"
+    break;
+
+  case 189: /* expr: expr LE expr  */
+#line 708 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(le); PN;}
+#line 3409 "parse.cpp"
+    break;
+
+  case 190: /* expr: expr EQ expr  */
+#line 710 "../../../../src/oc/parse.ypp"
+                { hoc_ob_check(-1); hoc_ob_check(-1); code(eq); PN;}
+#line 3415 "parse.cpp"
+    break;
+
+  case 191: /* expr: expr NE expr  */
+#line 712 "../../../../src/oc/parse.ypp"
+                { hoc_ob_check(-1); hoc_ob_check(-1); code(ne); PN;}
+#line 3421 "parse.cpp"
+    break;
+
+  case 192: /* expr: expr AND expr  */
+#line 714 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(hoc_and); PN;}
+#line 3427 "parse.cpp"
+    break;
+
+  case 193: /* expr: expr OR expr  */
+#line 716 "../../../../src/oc/parse.ypp"
+                { TPD; TPD; code(hoc_or); PN;}
+#line 3433 "parse.cpp"
+    break;
+
+  case 194: /* expr: NOT expr  */
+#line 718 "../../../../src/oc/parse.ypp"
+                { TPD; (yyval.inst) = (yyvsp[0].inst); code(hoc_not); PN;}
+#line 3439 "parse.cpp"
+    break;
+
+  case 199: /* doublelist: parseDOUBLE begin newarray  */
+#line 726 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code(varpush); codesym(s=spop()); (yyval.inst) = (yyvsp[-1].inst);
+		code(arayinstal); codei((yyvsp[0].narg)); hoc_obvar_declare(s, VAR, 0);}
+#line 3446 "parse.cpp"
+    break;
+
+  case 200: /* doublelist: doublelist ',' newarray  */
+#line 729 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code(varpush); codesym(s = spop());
+		code(arayinstal); codei((yyvsp[0].narg)); hoc_obvar_declare(s, VAR, 0);}
+#line 3453 "parse.cpp"
+    break;
+
+  case 201: /* newarray: newname numdimen  */
+#line 734 "../../../../src/oc/parse.ypp"
+                {pushs((yyvsp[-1].sym)); (yyval.narg) = (yyvsp[0].narg);}
+#line 3459 "parse.cpp"
+    break;
+
+  case 202: /* numdimen: '[' expr ']'  */
+#line 737 "../../../../src/oc/parse.ypp"
+                {  TPD; (yyval.narg) = 1; }
+#line 3465 "parse.cpp"
+    break;
+
+  case 203: /* numdimen: numdimen '[' expr ']'  */
+#line 739 "../../../../src/oc/parse.ypp"
+                {  TPD;(yyval.narg) = (yyval.narg) + 1; }
+#line 3471 "parse.cpp"
+    break;
+
+  case 205: /* varname: AUTO begin  */
+#line 745 "../../../../src/oc/parse.ypp"
+                { pushs((yyvsp[-1].sym)); (yyval.inst) = (yyvsp[0].inst); }
+#line 3477 "parse.cpp"
+    break;
+
+  case 206: /* $@22: %empty  */
+#line 747 "../../../../src/oc/parse.ypp"
+                { if ((yyvsp[-1].sym)->subtype == USERPROPERTY) {
+			code(sec_access_push); codesym((Symbol *)0);
+		  }
+		pushs((yyvsp[-1].sym)); pushi(CHECK);
+		}
+#line 3487 "parse.cpp"
+    break;
+
+  case 207: /* varname: VAR begin $@22 wholearray  */
+#line 752 "../../../../src/oc/parse.ypp"
+                   {(yyval.inst) = (yyvsp[-2].inst);}
+#line 3493 "parse.cpp"
+    break;
+
+  case 208: /* varname: section '.' VAR  */
+#line 754 "../../../../src/oc/parse.ypp"
+                { if ((yyvsp[0].sym)->subtype != USERPROPERTY) {
+			acterror((yyvsp[0].sym)->name, "not a section variable");
+		  }
+		(yyval.inst) = (yyvsp[-2].inst); pushs((yyvsp[0].sym));
+		}
+#line 3503 "parse.cpp"
+    break;
+
+  case 209: /* wholearray: begin array  */
+#line 768 "../../../../src/oc/parse.ypp"
+                {
+		int d1, chk;
+		Symbol *sym;
+		d1 = ipop();
+		chk = ipop();
+		sym = spop();
+   if (chk) {
+	if (!ISARRAY(sym)) {
+		if (d1)
+			acterror(sym->name, "not an array variable");
+	}else{
+		if ( d1 == 0 ) { /*fake index list with all 0's*/
+			int i;
+			for (i=0; i<sym->arayinfo->nsub; i++) {
+				code(pushzero);
+			}
+		}			
+		else if ( d1 != sym->arayinfo->nsub) {
+			acterror("wrong # of subscripts",sym->name);
+		}
+	}
+   }else {
+	pushi(d1); /* must check dynamically */
+   }
+		pushs(sym);
+		}
+#line 3534 "parse.cpp"
+    break;
+
+  case 210: /* argrefdim: array  */
+#line 797 "../../../../src/oc/parse.ypp"
+                {
+			(yyval.narg) = ipop();
+		}
+#line 3542 "parse.cpp"
+    break;
+
+  case 211: /* array: %empty  */
+#line 803 "../../../../src/oc/parse.ypp"
+                { pushi(0); }
+#line 3548 "parse.cpp"
+    break;
+
+  case 212: /* array: array '[' expr ']'  */
+#line 805 "../../../../src/oc/parse.ypp"
+                {  TPD;pushi(ipop() + 1); }
+#line 3554 "parse.cpp"
+    break;
+
+  case 213: /* prlist: expr  */
+#line 809 "../../../../src/oc/parse.ypp"
+                { TPDYNAM; code(prexpr);}
+#line 3560 "parse.cpp"
+    break;
+
+  case 214: /* prlist: string1  */
+#line 811 "../../../../src/oc/parse.ypp"
+                { code(prstr); }
+#line 3566 "parse.cpp"
+    break;
+
+  case 215: /* prlist: prlist ',' expr  */
+#line 813 "../../../../src/oc/parse.ypp"
+                { TPDYNAM; code(prexpr);}
+#line 3572 "parse.cpp"
+    break;
+
+  case 216: /* prlist: prlist ',' string1  */
+#line 815 "../../../../src/oc/parse.ypp"
+                { code(prstr); }
+#line 3578 "parse.cpp"
+    break;
+
+  case 217: /* delsym: VAR  */
+#line 818 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = code(hoc_delete_symbol); codesym((yyvsp[0].sym)); }
+#line 3584 "parse.cpp"
+    break;
+
+  case 218: /* $@23: %empty  */
+#line 822 "../../../../src/oc/parse.ypp"
+                {(yyvsp[0].sym)->type=FUNCTION; indef=1; }
+#line 3590 "parse.cpp"
+    break;
+
+  case 219: /* defn: FUNC procname $@23 '(' ')' procstmt  */
+#line 824 "../../../../src/oc/parse.ypp"
+                { code(procret); hoc_define((yyvsp[-4].sym));
+		 (yyvsp[-4].sym)->u.u_proc->nobjauto = (yyvsp[0].narg) - localcnt;
+		 (yyvsp[-4].sym)->u.u_proc->nauto=(yyvsp[0].narg); indef=0; }
+#line 3598 "parse.cpp"
+    break;
+
+  case 220: /* $@24: %empty  */
+#line 828 "../../../../src/oc/parse.ypp"
+                { (yyvsp[0].sym)->type=PROCEDURE; indef=1; }
+#line 3604 "parse.cpp"
+    break;
+
+  case 221: /* defn: parsePROC procname $@24 '(' ')' procstmt  */
+#line 830 "../../../../src/oc/parse.ypp"
+                { code(procret); hoc_define((yyvsp[-4].sym));
+		 (yyvsp[-4].sym)->u.u_proc->nobjauto = (yyvsp[0].narg) - localcnt;
+		 (yyvsp[-4].sym)->u.u_proc->nauto=(yyvsp[0].narg); indef=0; }
+#line 3612 "parse.cpp"
+    break;
+
+  case 222: /* $@25: %empty  */
+#line 834 "../../../../src/oc/parse.ypp"
+                { (yyvsp[0].sym)->type = ITERATOR; indef=2; }
+#line 3618 "parse.cpp"
+    break;
+
+  case 223: /* defn: ITERKEYWORD procname $@25 '(' ')' procstmt  */
+#line 836 "../../../../src/oc/parse.ypp"
+                {code(procret); hoc_define((yyvsp[-4].sym));
+		 (yyvsp[-4].sym)->u.u_proc->nobjauto = (yyvsp[0].narg) - localcnt;
+		 (yyvsp[-4].sym)->u.u_proc->nauto = (yyvsp[0].narg); indef = 0; }
+#line 3626 "parse.cpp"
+    break;
+
+  case 224: /* $@26: %empty  */
+#line 840 "../../../../src/oc/parse.ypp"
+                { (yyvsp[0].sym)->type=HOCOBJFUNCTION; indef=3; }
+#line 3632 "parse.cpp"
+    break;
+
+  case 225: /* defn: HOCOBJFUNC procname $@26 '(' ')' procstmt  */
+#line 842 "../../../../src/oc/parse.ypp"
+                { code(procret); hoc_define((yyvsp[-4].sym));
+		 (yyvsp[-4].sym)->u.u_proc->nobjauto = (yyvsp[0].narg) - localcnt;
+		 (yyvsp[-4].sym)->u.u_proc->nauto=(yyvsp[0].narg); indef=0; }
+#line 3640 "parse.cpp"
+    break;
+
+  case 226: /* procname: ckvar  */
+#line 847 "../../../../src/oc/parse.ypp"
+                { Symbol *s; s=yylval.sym;
+		if(s->type != UNDEF) acterror(s->name, "already defined");
+		/* avoid valgrind uninitialized variable error for nautoobj */
+		s->u.u_proc = (Proc *)ecalloc(1, sizeof(Proc));
+		s->u.u_proc->defn.in = STOP;
+		s->u.u_proc->list = (Symlist *)0; }
+#line 3651 "parse.cpp"
+    break;
+
+  case 231: /* $@27: %empty  */
+#line 858 "../../../../src/oc/parse.ypp"
+                             {ntab++;}
+#line 3657 "parse.cpp"
+    break;
+
+  case 232: /* procstmt: '{' local localobj $@27 stmtlist '}'  */
+#line 859 "../../../../src/oc/parse.ypp"
+                {
+		ntab--;
+		(yyval.narg) = (yyvsp[-4].narg) + (yyvsp[-3].narg);
+		}
+#line 3666 "parse.cpp"
+    break;
+
+  case 233: /* arglist: %empty  */
+#line 865 "../../../../src/oc/parse.ypp"
+                { (yyval.narg) = 0; }
+#line 3672 "parse.cpp"
+    break;
+
+  case 235: /* arglist1: arglist2  */
+#line 869 "../../../../src/oc/parse.ypp"
+                {(yyval.narg) = 1;}
+#line 3678 "parse.cpp"
+    break;
+
+  case 236: /* arglist1: arglist1 ',' arglist2  */
+#line 871 "../../../../src/oc/parse.ypp"
+                {(yyval.narg) = (yyvsp[-2].narg) + 1;}
+#line 3684 "parse.cpp"
+    break;
+
+  case 237: /* arglist2: string1  */
+#line 874 "../../../../src/oc/parse.ypp"
+                {}
+#line 3690 "parse.cpp"
+    break;
+
+  case 238: /* arglist2: expr  */
+#line 876 "../../../../src/oc/parse.ypp"
+                { hoc_ob_check(-1);}
+#line 3696 "parse.cpp"
+    break;
+
+  case 240: /* arglist2: NEW anyname '(' arglist ')'  */
+#line 879 "../../../../src/oc/parse.ypp"
+                {
+		 code(hoc_newobj_arg); codesym(hoc_which_template((yyvsp[-3].sym))); codei((yyvsp[-1].narg));
+		}
+#line 3704 "parse.cpp"
+    break;
+
+  case 241: /* eqn_list: DEPENDENT dep_list  */
+#line 884 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[0].inst); }
+#line 3710 "parse.cpp"
+    break;
+
+  case 242: /* $@28: %empty  */
+#line 886 "../../../../src/oc/parse.ypp"
+                {code3(varpush, spop(), eqn_name);
+		do_equation = 1; }
+#line 3717 "parse.cpp"
+    break;
+
+  case 243: /* eqn_list: EQUATION varname ':' $@28 equation  */
+#line 889 "../../../../src/oc/parse.ypp"
+                { (yyval.inst) = (yyvsp[-3].inst); do_equation = 0; }
+#line 3723 "parse.cpp"
+    break;
+
+  case 244: /* dep_list: varname  */
+#line 892 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code3(varpush,s= spop(), dep_make); hoc_obvar_declare(s, VAR, 0);}
+#line 3729 "parse.cpp"
+    break;
+
+  case 245: /* dep_list: dep_list ',' varname  */
+#line 894 "../../../../src/oc/parse.ypp"
+                {Symbol *s; code3(varpush, s=spop(), dep_make); hoc_obvar_declare(s, VAR, 0);}
+#line 3735 "parse.cpp"
+    break;
+
+  case 248: /* $@29: %empty  */
+#line 899 "../../../../src/oc/parse.ypp"
+                { code(eqn_init); }
+#line 3741 "parse.cpp"
+    break;
+
+  case 250: /* $@30: %empty  */
+#line 903 "../../../../src/oc/parse.ypp"
+                { code(eqn_lhs); }
+#line 3747 "parse.cpp"
+    break;
+
+  case 251: /* lhs: $@30 expr  */
+#line 905 "../../../../src/oc/parse.ypp"
+                { codein(STOP); TPD; }
+#line 3753 "parse.cpp"
+    break;
+
+  case 252: /* $@31: %empty  */
+#line 908 "../../../../src/oc/parse.ypp"
+                { code(eqn_rhs); }
+#line 3759 "parse.cpp"
+    break;
+
+  case 253: /* rhs: $@31 expr  */
+#line 910 "../../../../src/oc/parse.ypp"
+                { codein(STOP); TPD; }
+#line 3765 "parse.cpp"
+    break;
+
+  case 254: /* local: %empty  */
+#line 913 "../../../../src/oc/parse.ypp"
+                { (yyval.narg) = 0; localcnt = (yyval.narg);}
+#line 3771 "parse.cpp"
+    break;
+
+  case 256: /* local1: LOCAL anyname  */
+#line 917 "../../../../src/oc/parse.ypp"
+                {
+		Symbol *sp;
+		(yyval.narg) = 1; localcnt = (yyval.narg);
+		sp = install((yyvsp[0].sym)->name, AUTO, 0.0, &p_symlist);
+		sp->u.u_auto = (yyval.narg);
+		}
+#line 3782 "parse.cpp"
+    break;
+
+  case 257: /* local1: local1 ',' anyname  */
+#line 924 "../../../../src/oc/parse.ypp"
+                {
+		Symbol *sp;
+		(yyval.narg) = (yyvsp[-2].narg) + 1; localcnt = (yyval.narg);
+		if (hoc_table_lookup((yyvsp[0].sym)->name, p_symlist)) {
+			acterror((yyvsp[0].sym)->name, "already declared local");
+		}
+		sp = install((yyvsp[0].sym)->name, AUTO, 0.0, &p_symlist);
+		sp->u.u_auto = (yyval.narg);
+		}
+#line 3796 "parse.cpp"
+    break;
+
+  case 258: /* localobj: %empty  */
+#line 935 "../../../../src/oc/parse.ypp"
+                { (yyval.narg) = 0;}
+#line 3802 "parse.cpp"
+    break;
+
+  case 260: /* local2: LOCALOBJ anyname  */
+#line 939 "../../../../src/oc/parse.ypp"
+                {
+		Symbol *sp;
+		(yyval.narg) = 1;
+		if (hoc_table_lookup((yyvsp[0].sym)->name, p_symlist)) {
+			acterror((yyvsp[0].sym)->name, "already declared local");
+		}
+		sp = install((yyvsp[0].sym)->name, AUTOOBJ, 0.0, &p_symlist);
+		sp->u.u_auto = (yyval.narg) + localcnt;
+		}
+#line 3816 "parse.cpp"
+    break;
+
+  case 261: /* local2: local2 ',' anyname  */
+#line 949 "../../../../src/oc/parse.ypp"
+                {
+		Symbol *sp;
+		(yyval.narg) = (yyvsp[-2].narg) + 1;
+		if (hoc_table_lookup((yyvsp[0].sym)->name, p_symlist)) {
+			acterror((yyvsp[0].sym)->name, "already declared local");
+		}
+		sp = install((yyvsp[0].sym)->name, AUTOOBJ, 0.0, &p_symlist);
+		sp->u.u_auto = (yyval.narg) + localcnt;
+		}
+#line 3830 "parse.cpp"
+    break;
+
+  case 262: /* ckvar: VAR  */
+#line 960 "../../../../src/oc/parse.ypp"
+        {  Symbol* s;
+	   s = hoc_decl((yyvsp[0].sym));
+	   if (s->subtype != NOTUSER)
+		acterror("can't redeclare user variable", s->name);
+	   (yyval.sym) = s;
+	}
+#line 3841 "parse.cpp"
+    break;
+
+
+#line 3845 "parse.cpp"
+
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+
+  *++yyvsp = yyval;
+
+  /* Now 'shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
+
+  goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+      yyerror (YY_("syntax error"));
+    }
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+         error, discard it.  */
+
+      if (yychar <= YYEOF)
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
+      else
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval);
+          yychar = YYEMPTY;
+        }
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
+  ++yynerrs;
+
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+
+  /* Pop stack until we find a state that shifts the error token.  */
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYSYMBOL_YYerror;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+        YYABORT;
+
+
+      yydestruct ("Error: popping",
+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturnlab;
+
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturnlab;
+
+
+/*-----------------------------------------------------------.
+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
+`-----------------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  goto yyreturnlab;
+
+
+/*----------------------------------------------------------.
+| yyreturnlab -- parsing is finished, clean up and return.  |
+`----------------------------------------------------------*/
+yyreturnlab:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+
+  return yyresult;
+}
+
+#line 972 "../../../../src/oc/parse.ypp"
+
+	/* end of grammar */
+
+static void yyerror(const char* s)	/* called for yacc syntax error */
+{
+	execerror(s, (char *)0);
+}
+
+void acterror(const char* s, const char*t)	/* recover from action error while parsing */
+{
+	execerror(s,t);
+}
+
+static Inst* argrefcode(Pfrv pfrv, int i, int j){
+	Inst* in;
+	in = argcode(pfrv, i);
+	codei(j);
+	return in;
+}
+
+static Inst* argcode(Pfrv pfrv, int i) {
+	Inst* in;
+	if (i == 0) {
+		Symbol* si = hoc_lookup("i");
+		if (si->type != AUTO) {
+			acterror("arg index used and i is not a LOCAL variable", 0);
+		}
+		in = code3(varpush, si, eval);		
+		Code(pfrv);
+		codei(0);
+	}else{
+		in = Code(pfrv);
+		codei(i);
+	}
+	return in;
+}
+
+static void hoc_opasgn_invalid(int op) {
+        if (op) {
+                acterror("Invalid assignment operator.", "Only '=' allowed. ");
+        }
+} 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated/parse.hpp
@@ -0,0 +1,173 @@
+/* A Bison parser, made by GNU Bison 3.8.2.  */
+
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+   especially those whose name start with YY_ or yy_.  They are
+   private implementation details that can be changed or removed.  */
+
+#ifndef YY_YY_PARSE_HPP_INCLUDED
+# define YY_YY_PARSE_HPP_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token kinds.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    YYEMPTY = -2,
+    YYEOF = 0,                     /* "end of file"  */
+    YYerror = 256,                 /* error  */
+    YYUNDEF = 257,                 /* "invalid token"  */
+    EQNEQ = 258,                   /* EQNEQ  */
+    NUMBER = 259,                  /* NUMBER  */
+    STRING = 260,                  /* STRING  */
+    PRINT = 261,                   /* PRINT  */
+    parseDELETE = 262,             /* parseDELETE  */
+    VAR = 263,                     /* VAR  */
+    BLTIN = 264,                   /* BLTIN  */
+    UNDEF = 265,                   /* UNDEF  */
+    WHILE = 266,                   /* WHILE  */
+    IF = 267,                      /* IF  */
+    ELSE = 268,                    /* ELSE  */
+    FOR = 269,                     /* FOR  */
+    FUNCTION = 270,                /* FUNCTION  */
+    PROCEDURE = 271,               /* PROCEDURE  */
+    RETURN = 272,                  /* RETURN  */
+    FUNC = 273,                    /* FUNC  */
+    parsePROC = 274,               /* parsePROC  */
+    HOCOBJFUNC = 275,              /* HOCOBJFUNC  */
+    READ = 276,                    /* READ  */
+    parseDOUBLE = 277,             /* parseDOUBLE  */
+    DEBUG = 278,                   /* DEBUG  */
+    EDIT = 279,                    /* EDIT  */
+    FUN_BLTIN = 280,               /* FUN_BLTIN  */
+    DEPENDENT = 281,               /* DEPENDENT  */
+    EQUATION = 282,                /* EQUATION  */
+    LOCAL = 283,                   /* LOCAL  */
+    HOCOBJFUNCTION = 284,          /* HOCOBJFUNCTION  */
+    BREAK = 285,                   /* BREAK  */
+    CONTINUE = 286,                /* CONTINUE  */
+    AUTO = 287,                    /* AUTO  */
+    STRDEF = 288,                  /* STRDEF  */
+    STOPSTMT = 289,                /* STOPSTMT  */
+    CSTRING = 290,                 /* CSTRING  */
+    PARALLEL = 291,                /* PARALLEL  */
+    HELP = 292,                    /* HELP  */
+    ITERATOR = 293,                /* ITERATOR  */
+    ITERKEYWORD = 294,             /* ITERKEYWORD  */
+    ITERSTMT = 295,                /* ITERSTMT  */
+    STRINGFUNC = 296,              /* STRINGFUNC  */
+    OBJECTFUNC = 297,              /* OBJECTFUNC  */
+    LOCALOBJ = 298,                /* LOCALOBJ  */
+    AUTOOBJ = 299,                 /* AUTOOBJ  */
+    ARG = 300,                     /* ARG  */
+    NUMZERO = 301,                 /* NUMZERO  */
+    ARGREF = 302,                  /* ARGREF  */
+    INTERNALSECTIONNAME = 303,     /* INTERNALSECTIONNAME  */
+    PYSEC = 304,                   /* PYSEC  */
+    PYSECNAME = 305,               /* PYSECNAME  */
+    PYSECOBJ = 306,                /* PYSECOBJ  */
+    SECTIONKEYWORD = 307,          /* SECTIONKEYWORD  */
+    SECTION = 308,                 /* SECTION  */
+    CONNECTKEYWORD = 309,          /* CONNECTKEYWORD  */
+    ACCESSKEYWORD = 310,           /* ACCESSKEYWORD  */
+    RANGEVAR = 311,                /* RANGEVAR  */
+    MECHANISM = 312,               /* MECHANISM  */
+    INSERTKEYWORD = 313,           /* INSERTKEYWORD  */
+    FORALL = 314,                  /* FORALL  */
+    NRNPNTVAR = 315,               /* NRNPNTVAR  */
+    FORSEC = 316,                  /* FORSEC  */
+    IFSEC = 317,                   /* IFSEC  */
+    UNINSERTKEYWORD = 318,         /* UNINSERTKEYWORD  */
+    SETPOINTERKEYWORD = 319,       /* SETPOINTERKEYWORD  */
+    SECTIONREF = 320,              /* SECTIONREF  */
+    BEGINTEMPLATE = 321,           /* BEGINTEMPLATE  */
+    ENDTEMPLATE = 322,             /* ENDTEMPLATE  */
+    NEW = 323,                     /* NEW  */
+    OBJECTVAR = 324,               /* OBJECTVAR  */
+    TEMPLATE = 325,                /* TEMPLATE  */
+    OBJVARDECL = 326,              /* OBJVARDECL  */
+    PUBLICDECL = 327,              /* PUBLICDECL  */
+    EXTERNALDECL = 328,            /* EXTERNALDECL  */
+    OBFUNCTION = 329,              /* OBFUNCTION  */
+    STRFUNCTION = 330,             /* STRFUNCTION  */
+    OBJECTARG = 331,               /* OBJECTARG  */
+    STRINGARG = 332,               /* STRINGARG  */
+    ROP = 333,                     /* ROP  */
+    OR = 334,                      /* OR  */
+    AND = 335,                     /* AND  */
+    GT = 336,                      /* GT  */
+    GE = 337,                      /* GE  */
+    LT = 338,                      /* LT  */
+    LE = 339,                      /* LE  */
+    EQ = 340,                      /* EQ  */
+    NE = 341,                      /* NE  */
+    UNARYMINUS = 342,              /* UNARYMINUS  */
+    NOT = 343                      /* NOT  */
+  };
+  typedef enum yytokentype yytoken_kind_t;
+#endif
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+union YYSTYPE
+{
+#line 84 "../../../../src/oc/parse.ypp"
+				/* stack type */
+	Symbol	*sym;			/* symbol table pointer */
+	Inst	*inst;			/* machine instruction */
+	int	narg;			/* number of arguments */
+	void*	ptr;
+
+#line 159 "parse.hpp"
+
+};
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+
+int yyparse (void);
+
+
+#endif /* !YY_YY_PARSE_HPP_INCLUDED  */
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc/nrnconfigargs.h
@@ -0,0 +1,7 @@
+#ifndef nrnconfigargs_h
+#define nrnconfigargs_h
+
+/* define to the args passed to configure */
+#define NRN_CONFIG_ARGS "cmake option default differences: 'NRN_ENABLE_PYTHON_DYNAMIC=ON' 'NRN_MODULE_INSTALL_OPTIONS=--prefix=/home/debian-build/wuruilong/demo/neuron-8.2.2/debian/tmp/usr' 'CMAKE_INSTALL_PREFIX=/usr' 'CMAKE_C_COMPILER=/usr/bin/cc' 'CMAKE_CXX_COMPILER=/usr/bin/c++' 'PYTHON_EXECUTABLE=/usr/bin/python3'"
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnoc/nrnsemanticversion.h
@@ -0,0 +1,4 @@
+#pragma once
+#define NRN_VERSION_MAJOR 8
+#define NRN_VERSION_MINOR 2
+#define NRN_VERSION_PATCH 2
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/debian-build/wuruilong/demo/neuron-8.2.2")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/DependInfo.cmake
@@ -0,0 +1,18 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/build.make
@@ -0,0 +1,105 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Utility rule file for hoc_module.
+
+# Include any custom commands dependencies for this target.
+include src/nrnpython/CMakeFiles/hoc_module.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrnpython/CMakeFiles/hoc_module.dir/progress.make
+
+src/nrnpython/CMakeFiles/hoc_module: src/nrnpython/inithoc.cpp
+
+src/nrnpython/inithoc.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/inithoc.cpp
+src/nrnpython/inithoc.cpp: src/nrnpython/setup.py
+src/nrnpython/inithoc.cpp: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/oc/nrnmpi.h
+src/nrnpython/inithoc.cpp: src/oc/nrnmpiuse.h
+src/nrnpython/inithoc.cpp: src/oc/nrnpthread.h
+src/nrnpython/inithoc.cpp: src/nrnpython/nrnpython_config.h
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating inithoc.cpp"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython && cp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/inithoc.cpp /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/inithoc.cpp
+
+hoc_module: src/nrnpython/CMakeFiles/hoc_module
+hoc_module: src/nrnpython/inithoc.cpp
+hoc_module: src/nrnpython/CMakeFiles/hoc_module.dir/build.make
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/cmake -E copy_directory /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/lib
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/cmake -E copy_directory /home/debian-build/wuruilong/demo/neuron-8.2.2/share/demo /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/nrn/demo
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold "Building python module with: /usr/bin/python3"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/cmake -E copy_if_different /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/inithoc.cpp /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/inithoc.cpp
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/cmake -E copy_if_different /home/debian-build/wuruilong/demo/neuron-8.2.2/share/lib/python/neuron/help_data.dat /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/lib/python/neuron/help_data.dat
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/cmake -E env SETUPTOOLS_USE_DISTUTILS=stdlib /usr/bin/python3 setup.py --quiet build --build-lib=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python
+.PHONY : hoc_module
+
+# Rule to build all files generated by this target.
+src/nrnpython/CMakeFiles/hoc_module.dir/build: hoc_module
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/build
+
+src/nrnpython/CMakeFiles/hoc_module.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && $(CMAKE_COMMAND) -P CMakeFiles/hoc_module.dir/cmake_clean.cmake
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/clean
+
+src/nrnpython/CMakeFiles/hoc_module.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/cmake_clean.cmake
@@ -0,0 +1,9 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/hoc_module"
+  "inithoc.cpp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/hoc_module.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty custom commands generated dependencies file for hoc_module.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for custom commands dependencies management for hoc_module.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/hoc_module.dir/progress.make
@@ -0,0 +1,2 @@
+CMAKE_PROGRESS_1 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/DependInfo.cmake
@@ -0,0 +1,29 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/grids.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_hoc.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_nrn.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_p2h.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_extracellular.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_intracellular.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_llgramarea.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_marching_cubes.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o.d"
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_vol.cpp" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o" "gcc" "src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o.d"
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/build.make
@@ -0,0 +1,273 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrnpython/CMakeFiles/nrnpython3.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrnpython/CMakeFiles/nrnpython3.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o -MF CMakeFiles/nrnpython3.dir/nrnpython.cpp.o.d -o CMakeFiles/nrnpython3.dir/nrnpython.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/nrnpython.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython.cpp > CMakeFiles/nrnpython3.dir/nrnpython.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/nrnpython.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpython.cpp -o CMakeFiles/nrnpython3.dir/nrnpython.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_hoc.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o -MF CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o.d -o CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_hoc.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_hoc.cpp > CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_hoc.cpp -o CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_nrn.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o -MF CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o.d -o CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_nrn.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_nrn.cpp > CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_nrn.cpp -o CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_p2h.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o -MF CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o.d -o CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_p2h.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_p2h.cpp > CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/nrnpy_p2h.cpp -o CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/grids.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o -MF CMakeFiles/nrnpython3.dir/grids.cpp.o.d -o CMakeFiles/nrnpython3.dir/grids.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/grids.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/grids.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/grids.cpp > CMakeFiles/nrnpython3.dir/grids.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/grids.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/grids.cpp -o CMakeFiles/nrnpython3.dir/grids.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd.cpp > CMakeFiles/nrnpython3.dir/rxd.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd.cpp -o CMakeFiles/nrnpython3.dir/rxd.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_extracellular.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_extracellular.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_extracellular.cpp > CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_extracellular.cpp -o CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_intracellular.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_intracellular.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_intracellular.cpp > CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_intracellular.cpp -o CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_vol.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_vol.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd_vol.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_vol.cpp > CMakeFiles/nrnpython3.dir/rxd_vol.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd_vol.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_vol.cpp -o CMakeFiles/nrnpython3.dir/rxd_vol.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_marching_cubes.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_marching_cubes.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_marching_cubes.cpp > CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_marching_cubes.cpp -o CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.s
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_llgramarea.cpp
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o: src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o -MF CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o.d -o CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_llgramarea.cpp
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_llgramarea.cpp > CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.i
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxd_llgramarea.cpp -o CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.s
+
+# Object files for target nrnpython3
+nrnpython3_OBJECTS = \
+"CMakeFiles/nrnpython3.dir/nrnpython.cpp.o" \
+"CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o" \
+"CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o" \
+"CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o" \
+"CMakeFiles/nrnpython3.dir/grids.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o" \
+"CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o"
+
+# External object files for target nrnpython3
+nrnpython3_EXTERNAL_OBJECTS =
+
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/build.make
+lib/libnrnpython3.so: src/nrnpython/CMakeFiles/nrnpython3.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Linking CXX shared library ../../lib/libnrnpython3.so"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/nrnpython3.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrnpython/CMakeFiles/nrnpython3.dir/build: lib/libnrnpython3.so
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/build
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && $(CMAKE_COMMAND) -P CMakeFiles/nrnpython3.dir/cmake_clean.cmake
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/clean
+
+src/nrnpython/CMakeFiles/nrnpython3.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/cmake_clean.cmake
@@ -0,0 +1,31 @@
+file(REMOVE_RECURSE
+  "../../lib/libnrnpython3.pdb"
+  "../../lib/libnrnpython3.so"
+  "CMakeFiles/nrnpython3.dir/grids.cpp.o"
+  "CMakeFiles/nrnpython3.dir/grids.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o"
+  "CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o"
+  "CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o"
+  "CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/nrnpython.cpp.o"
+  "CMakeFiles/nrnpython3.dir/nrnpython.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o.d"
+  "CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o"
+  "CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o.d"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/nrnpython3.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for nrnpython3.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for nrnpython3.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for nrnpython3.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile CXX with /usr/bin/c++
+CXX_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -Dnrnpython3_EXPORTS
+
+CXX_INCLUDES = -I/usr/include/python3.11 -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/. -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../nrnoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../ivoc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../nrniv -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../ivos -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../gnu -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../mesch -I/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/../nrnmpi -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/ivos -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc -I/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrniv/oc_generated
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11 -fPIC
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro -shared -Wl,-soname,libnrnpython3.so -o ../../lib/libnrnpython3.so CMakeFiles/nrnpython3.dir/nrnpython.cpp.o CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o CMakeFiles/nrnpython3.dir/grids.cpp.o CMakeFiles/nrnpython3.dir/rxd.cpp.o CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o  -Wl,-rpath,:::::::::::: 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/nrnpython3.dir/progress.make
@@ -0,0 +1,13 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 
+CMAKE_PROGRESS_3 = 
+CMAKE_PROGRESS_4 = 97
+CMAKE_PROGRESS_5 = 
+CMAKE_PROGRESS_6 = 
+CMAKE_PROGRESS_7 = 
+CMAKE_PROGRESS_8 = 
+CMAKE_PROGRESS_9 = 98
+CMAKE_PROGRESS_10 = 
+CMAKE_PROGRESS_11 = 
+CMAKE_PROGRESS_12 = 
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+93
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/DependInfo.cmake
@@ -0,0 +1,19 @@
+
+# Consider dependencies only in project.
+set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
+
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+
+# The set of dependency files which are needed:
+set(CMAKE_DEPENDS_DEPENDENCY_FILES
+  "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp" "src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o" "gcc" "src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o.d"
+  )
+
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/build.make
@@ -0,0 +1,113 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+# Include any dependencies generated for this target.
+include src/nrnpython/CMakeFiles/rxdmath.dir/depend.make
+# Include any dependencies generated by the compiler for this target.
+include src/nrnpython/CMakeFiles/rxdmath.dir/compiler_depend.make
+
+# Include the progress variables for this target.
+include src/nrnpython/CMakeFiles/rxdmath.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include src/nrnpython/CMakeFiles/rxdmath.dir/flags.make
+
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o: src/nrnpython/CMakeFiles/rxdmath.dir/flags.make
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o: src/nrnpython/CMakeFiles/rxdmath.dir/compiler_depend.ts
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o -MF CMakeFiles/rxdmath.dir/rxdmath.cpp.o.d -o CMakeFiles/rxdmath.dir/rxdmath.cpp.o -c /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp
+
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/rxdmath.dir/rxdmath.cpp.i"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp > CMakeFiles/rxdmath.dir/rxdmath.cpp.i
+
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/rxdmath.dir/rxdmath.cpp.s"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp -o CMakeFiles/rxdmath.dir/rxdmath.cpp.s
+
+# Object files for target rxdmath
+rxdmath_OBJECTS = \
+"CMakeFiles/rxdmath.dir/rxdmath.cpp.o"
+
+# External object files for target rxdmath
+rxdmath_EXTERNAL_OBJECTS =
+
+lib/librxdmath.so: src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o
+lib/librxdmath.so: src/nrnpython/CMakeFiles/rxdmath.dir/build.make
+lib/librxdmath.so: src/nrnpython/CMakeFiles/rxdmath.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library ../../lib/librxdmath.so"
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/rxdmath.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+src/nrnpython/CMakeFiles/rxdmath.dir/build: lib/librxdmath.so
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/build
+
+src/nrnpython/CMakeFiles/rxdmath.dir/clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython && $(CMAKE_COMMAND) -P CMakeFiles/rxdmath.dir/cmake_clean.cmake
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/clean
+
+src/nrnpython/CMakeFiles/rxdmath.dir/depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/debian-build/wuruilong/demo/neuron-8.2.2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/DependInfo.cmake "--color=$(COLOR)"
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/depend
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/cmake_clean.cmake
@@ -0,0 +1,11 @@
+file(REMOVE_RECURSE
+  "../../lib/librxdmath.pdb"
+  "../../lib/librxdmath.so"
+  "CMakeFiles/rxdmath.dir/rxdmath.cpp.o"
+  "CMakeFiles/rxdmath.dir/rxdmath.cpp.o.d"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/rxdmath.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/compiler_depend.make
@@ -0,0 +1,2 @@
+# Empty compiler generated dependencies file for rxdmath.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/compiler_depend.ts
@@ -0,0 +1,2 @@
+# CMAKE generated file: DO NOT EDIT!
+# Timestamp file for compiler generated dependencies management for rxdmath.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/depend.make
@@ -0,0 +1,2 @@
+# Empty dependencies file for rxdmath.
+# This may be replaced when dependencies are built.
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# compile CXX with /usr/bin/c++
+CXX_DEFINES = -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -Drxdmath_EXPORTS
+
+CXX_INCLUDES = 
+
+CXX_FLAGS = -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -std=c++11 -fPIC
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/home/debian-build/wuruilong/demo/neuron-8.2.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -O2 -Wno-write-strings -Wl,-z,relro -shared -Wl,-soname,librxdmath.so -o ../../lib/librxdmath.so CMakeFiles/rxdmath.dir/rxdmath.cpp.o  -Wl,-rpath,:::::::::::: 
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/progress.make
@@ -0,0 +1,3 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 100
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o.d
@@ -0,0 +1,64 @@
+src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o: \
+ /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython/rxdmath.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/cmath /usr/include/c++/13/bits/requires_hosted.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/c++config.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/os_defines.h \
+ /usr/include/features.h /usr/include/features-time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/wordsize.h \
+ /usr/include/loongarch64-linux-gnu/bits/timesize.h \
+ /usr/include/loongarch64-linux-gnu/sys/cdefs.h \
+ /usr/include/loongarch64-linux-gnu/bits/long-double.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs.h \
+ /usr/include/loongarch64-linux-gnu/gnu/stubs-lp64d.h \
+ /usr/include/loongarch64-linux-gnu/c++/13/bits/cpu_defines.h \
+ /usr/include/c++/13/bits/cpp_type_traits.h \
+ /usr/include/c++/13/ext/type_traits.h /usr/include/math.h \
+ /usr/include/loongarch64-linux-gnu/bits/libc-header-start.h \
+ /usr/include/loongarch64-linux-gnu/bits/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/typesizes.h \
+ /usr/include/loongarch64-linux-gnu/bits/time64.h \
+ /usr/include/loongarch64-linux-gnu/bits/math-vector.h \
+ /usr/include/loongarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn.h \
+ /usr/include/loongarch64-linux-gnu/bits/floatn-common.h \
+ /usr/include/loongarch64-linux-gnu/bits/flt-eval-method.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-logb.h \
+ /usr/include/loongarch64-linux-gnu/bits/fp-fast.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-helper-functions.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls.h \
+ /usr/include/loongarch64-linux-gnu/bits/mathcalls-narrow.h \
+ /usr/include/loongarch64-linux-gnu/bits/iscanonical.h \
+ /usr/include/c++/13/bits/std_abs.h /usr/include/stdlib.h \
+ /usr/lib/gcc/loongarch64-linux-gnu/13/include/stddef.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitflags.h \
+ /usr/include/loongarch64-linux-gnu/bits/waitstatus.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/locale_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__locale_t.h \
+ /usr/include/loongarch64-linux-gnu/sys/types.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clock_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/clockid_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/time_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/timer_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdint-intn.h \
+ /usr/include/endian.h /usr/include/loongarch64-linux-gnu/bits/endian.h \
+ /usr/include/loongarch64-linux-gnu/bits/endianness.h \
+ /usr/include/loongarch64-linux-gnu/bits/byteswap.h \
+ /usr/include/loongarch64-linux-gnu/bits/uintn-identity.h \
+ /usr/include/loongarch64-linux-gnu/sys/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/select.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/__sigset_t.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timeval.h \
+ /usr/include/loongarch64-linux-gnu/bits/types/struct_timespec.h \
+ /usr/include/loongarch64-linux-gnu/bits/select2.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes.h \
+ /usr/include/loongarch64-linux-gnu/bits/thread-shared-types.h \
+ /usr/include/loongarch64-linux-gnu/bits/pthreadtypes-arch.h \
+ /usr/include/loongarch64-linux-gnu/bits/atomic_wide_counter.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_mutex.h \
+ /usr/include/loongarch64-linux-gnu/bits/struct_rwlock.h \
+ /usr/include/alloca.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/loongarch64-linux-gnu/bits/stdlib.h
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/Makefile
@@ -0,0 +1,561 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.27
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Produce verbose output by default.
+VERBOSE = 1
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython//CMakeFiles/progress.marks
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: cmake_check_build_system
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+src/nrnpython/CMakeFiles/rxdmath.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/rxdmath.dir/rule
+.PHONY : src/nrnpython/CMakeFiles/rxdmath.dir/rule
+
+# Convenience name for target.
+rxdmath: src/nrnpython/CMakeFiles/rxdmath.dir/rule
+.PHONY : rxdmath
+
+# fast build rule for target.
+rxdmath/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/build
+.PHONY : rxdmath/fast
+
+# Convenience name for target.
+src/nrnpython/CMakeFiles/nrnpython3.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/nrnpython3.dir/rule
+.PHONY : src/nrnpython/CMakeFiles/nrnpython3.dir/rule
+
+# Convenience name for target.
+nrnpython3: src/nrnpython/CMakeFiles/nrnpython3.dir/rule
+.PHONY : nrnpython3
+
+# fast build rule for target.
+nrnpython3/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/build
+.PHONY : nrnpython3/fast
+
+# Convenience name for target.
+src/nrnpython/CMakeFiles/hoc_module.dir/rule:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/nrnpython/CMakeFiles/hoc_module.dir/rule
+.PHONY : src/nrnpython/CMakeFiles/hoc_module.dir/rule
+
+# Convenience name for target.
+hoc_module: src/nrnpython/CMakeFiles/hoc_module.dir/rule
+.PHONY : hoc_module
+
+# fast build rule for target.
+hoc_module/fast:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/hoc_module.dir/build.make src/nrnpython/CMakeFiles/hoc_module.dir/build
+.PHONY : hoc_module/fast
+
+grids.o: grids.cpp.o
+.PHONY : grids.o
+
+# target to build an object file
+grids.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.o
+.PHONY : grids.cpp.o
+
+grids.i: grids.cpp.i
+.PHONY : grids.i
+
+# target to preprocess a source file
+grids.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.i
+.PHONY : grids.cpp.i
+
+grids.s: grids.cpp.s
+.PHONY : grids.s
+
+# target to generate assembly for a file
+grids.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/grids.cpp.s
+.PHONY : grids.cpp.s
+
+nrnpy_hoc.o: nrnpy_hoc.cpp.o
+.PHONY : nrnpy_hoc.o
+
+# target to build an object file
+nrnpy_hoc.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.o
+.PHONY : nrnpy_hoc.cpp.o
+
+nrnpy_hoc.i: nrnpy_hoc.cpp.i
+.PHONY : nrnpy_hoc.i
+
+# target to preprocess a source file
+nrnpy_hoc.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.i
+.PHONY : nrnpy_hoc.cpp.i
+
+nrnpy_hoc.s: nrnpy_hoc.cpp.s
+.PHONY : nrnpy_hoc.s
+
+# target to generate assembly for a file
+nrnpy_hoc.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_hoc.cpp.s
+.PHONY : nrnpy_hoc.cpp.s
+
+nrnpy_nrn.o: nrnpy_nrn.cpp.o
+.PHONY : nrnpy_nrn.o
+
+# target to build an object file
+nrnpy_nrn.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.o
+.PHONY : nrnpy_nrn.cpp.o
+
+nrnpy_nrn.i: nrnpy_nrn.cpp.i
+.PHONY : nrnpy_nrn.i
+
+# target to preprocess a source file
+nrnpy_nrn.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.i
+.PHONY : nrnpy_nrn.cpp.i
+
+nrnpy_nrn.s: nrnpy_nrn.cpp.s
+.PHONY : nrnpy_nrn.s
+
+# target to generate assembly for a file
+nrnpy_nrn.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_nrn.cpp.s
+.PHONY : nrnpy_nrn.cpp.s
+
+nrnpy_p2h.o: nrnpy_p2h.cpp.o
+.PHONY : nrnpy_p2h.o
+
+# target to build an object file
+nrnpy_p2h.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.o
+.PHONY : nrnpy_p2h.cpp.o
+
+nrnpy_p2h.i: nrnpy_p2h.cpp.i
+.PHONY : nrnpy_p2h.i
+
+# target to preprocess a source file
+nrnpy_p2h.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.i
+.PHONY : nrnpy_p2h.cpp.i
+
+nrnpy_p2h.s: nrnpy_p2h.cpp.s
+.PHONY : nrnpy_p2h.s
+
+# target to generate assembly for a file
+nrnpy_p2h.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpy_p2h.cpp.s
+.PHONY : nrnpy_p2h.cpp.s
+
+nrnpython.o: nrnpython.cpp.o
+.PHONY : nrnpython.o
+
+# target to build an object file
+nrnpython.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.o
+.PHONY : nrnpython.cpp.o
+
+nrnpython.i: nrnpython.cpp.i
+.PHONY : nrnpython.i
+
+# target to preprocess a source file
+nrnpython.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.i
+.PHONY : nrnpython.cpp.i
+
+nrnpython.s: nrnpython.cpp.s
+.PHONY : nrnpython.s
+
+# target to generate assembly for a file
+nrnpython.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/nrnpython.cpp.s
+.PHONY : nrnpython.cpp.s
+
+rxd.o: rxd.cpp.o
+.PHONY : rxd.o
+
+# target to build an object file
+rxd.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.o
+.PHONY : rxd.cpp.o
+
+rxd.i: rxd.cpp.i
+.PHONY : rxd.i
+
+# target to preprocess a source file
+rxd.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.i
+.PHONY : rxd.cpp.i
+
+rxd.s: rxd.cpp.s
+.PHONY : rxd.s
+
+# target to generate assembly for a file
+rxd.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd.cpp.s
+.PHONY : rxd.cpp.s
+
+rxd_extracellular.o: rxd_extracellular.cpp.o
+.PHONY : rxd_extracellular.o
+
+# target to build an object file
+rxd_extracellular.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.o
+.PHONY : rxd_extracellular.cpp.o
+
+rxd_extracellular.i: rxd_extracellular.cpp.i
+.PHONY : rxd_extracellular.i
+
+# target to preprocess a source file
+rxd_extracellular.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.i
+.PHONY : rxd_extracellular.cpp.i
+
+rxd_extracellular.s: rxd_extracellular.cpp.s
+.PHONY : rxd_extracellular.s
+
+# target to generate assembly for a file
+rxd_extracellular.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_extracellular.cpp.s
+.PHONY : rxd_extracellular.cpp.s
+
+rxd_intracellular.o: rxd_intracellular.cpp.o
+.PHONY : rxd_intracellular.o
+
+# target to build an object file
+rxd_intracellular.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.o
+.PHONY : rxd_intracellular.cpp.o
+
+rxd_intracellular.i: rxd_intracellular.cpp.i
+.PHONY : rxd_intracellular.i
+
+# target to preprocess a source file
+rxd_intracellular.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.i
+.PHONY : rxd_intracellular.cpp.i
+
+rxd_intracellular.s: rxd_intracellular.cpp.s
+.PHONY : rxd_intracellular.s
+
+# target to generate assembly for a file
+rxd_intracellular.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_intracellular.cpp.s
+.PHONY : rxd_intracellular.cpp.s
+
+rxd_llgramarea.o: rxd_llgramarea.cpp.o
+.PHONY : rxd_llgramarea.o
+
+# target to build an object file
+rxd_llgramarea.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.o
+.PHONY : rxd_llgramarea.cpp.o
+
+rxd_llgramarea.i: rxd_llgramarea.cpp.i
+.PHONY : rxd_llgramarea.i
+
+# target to preprocess a source file
+rxd_llgramarea.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.i
+.PHONY : rxd_llgramarea.cpp.i
+
+rxd_llgramarea.s: rxd_llgramarea.cpp.s
+.PHONY : rxd_llgramarea.s
+
+# target to generate assembly for a file
+rxd_llgramarea.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_llgramarea.cpp.s
+.PHONY : rxd_llgramarea.cpp.s
+
+rxd_marching_cubes.o: rxd_marching_cubes.cpp.o
+.PHONY : rxd_marching_cubes.o
+
+# target to build an object file
+rxd_marching_cubes.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.o
+.PHONY : rxd_marching_cubes.cpp.o
+
+rxd_marching_cubes.i: rxd_marching_cubes.cpp.i
+.PHONY : rxd_marching_cubes.i
+
+# target to preprocess a source file
+rxd_marching_cubes.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.i
+.PHONY : rxd_marching_cubes.cpp.i
+
+rxd_marching_cubes.s: rxd_marching_cubes.cpp.s
+.PHONY : rxd_marching_cubes.s
+
+# target to generate assembly for a file
+rxd_marching_cubes.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_marching_cubes.cpp.s
+.PHONY : rxd_marching_cubes.cpp.s
+
+rxd_vol.o: rxd_vol.cpp.o
+.PHONY : rxd_vol.o
+
+# target to build an object file
+rxd_vol.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.o
+.PHONY : rxd_vol.cpp.o
+
+rxd_vol.i: rxd_vol.cpp.i
+.PHONY : rxd_vol.i
+
+# target to preprocess a source file
+rxd_vol.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.i
+.PHONY : rxd_vol.cpp.i
+
+rxd_vol.s: rxd_vol.cpp.s
+.PHONY : rxd_vol.s
+
+# target to generate assembly for a file
+rxd_vol.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/nrnpython3.dir/build.make src/nrnpython/CMakeFiles/nrnpython3.dir/rxd_vol.cpp.s
+.PHONY : rxd_vol.cpp.s
+
+rxdmath.o: rxdmath.cpp.o
+.PHONY : rxdmath.o
+
+# target to build an object file
+rxdmath.cpp.o:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.o
+.PHONY : rxdmath.cpp.o
+
+rxdmath.i: rxdmath.cpp.i
+.PHONY : rxdmath.i
+
+# target to preprocess a source file
+rxdmath.cpp.i:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.i
+.PHONY : rxdmath.cpp.i
+
+rxdmath.s: rxdmath.cpp.s
+.PHONY : rxdmath.s
+
+# target to generate assembly for a file
+rxdmath.cpp.s:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(MAKE) $(MAKESILENT) -f src/nrnpython/CMakeFiles/rxdmath.dir/build.make src/nrnpython/CMakeFiles/rxdmath.dir/rxdmath.cpp.s
+.PHONY : rxdmath.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... edit_cache"
+	@echo "... install"
+	@echo "... install/local"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... rebuild_cache"
+	@echo "... hoc_module"
+	@echo "... nrnpython3"
+	@echo "... rxdmath"
+	@echo "... grids.o"
+	@echo "... grids.i"
+	@echo "... grids.s"
+	@echo "... nrnpy_hoc.o"
+	@echo "... nrnpy_hoc.i"
+	@echo "... nrnpy_hoc.s"
+	@echo "... nrnpy_nrn.o"
+	@echo "... nrnpy_nrn.i"
+	@echo "... nrnpy_nrn.s"
+	@echo "... nrnpy_p2h.o"
+	@echo "... nrnpy_p2h.i"
+	@echo "... nrnpy_p2h.s"
+	@echo "... nrnpython.o"
+	@echo "... nrnpython.i"
+	@echo "... nrnpython.s"
+	@echo "... rxd.o"
+	@echo "... rxd.i"
+	@echo "... rxd.s"
+	@echo "... rxd_extracellular.o"
+	@echo "... rxd_extracellular.i"
+	@echo "... rxd_extracellular.s"
+	@echo "... rxd_intracellular.o"
+	@echo "... rxd_intracellular.i"
+	@echo "... rxd_intracellular.s"
+	@echo "... rxd_llgramarea.o"
+	@echo "... rxd_llgramarea.i"
+	@echo "... rxd_llgramarea.s"
+	@echo "... rxd_marching_cubes.o"
+	@echo "... rxd_marching_cubes.i"
+	@echo "... rxd_marching_cubes.s"
+	@echo "... rxd_vol.o"
+	@echo "... rxd_vol.i"
+	@echo "... rxd_vol.s"
+	@echo "... rxdmath.o"
+	@echo "... rxdmath.i"
+	@echo "... rxdmath.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/cmake_install.cmake
@@ -0,0 +1,122 @@
+# Install script for directory: /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnpython
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+  set(CMAKE_OBJDUMP "/usr/bin/objdump")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/librxdmath.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/librxdmath.so")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}/usr/lib/librxdmath.so"
+         RPATH "/usr/lib/nrn")
+  endif()
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/librxdmath.so")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib" TYPE SHARED_LIBRARY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/librxdmath.so")
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/librxdmath.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/librxdmath.so")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}/usr/lib/librxdmath.so"
+         OLD_RPATH "::::::::::::"
+         NEW_RPATH "/usr/lib/nrn")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/lib/librxdmath.so")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/libnrnpython3.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/libnrnpython3.so")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}/usr/lib/libnrnpython3.so"
+         RPATH "/usr/lib/nrn")
+  endif()
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/libnrnpython3.so")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib" TYPE SHARED_LIBRARY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/libnrnpython3.so")
+  if(EXISTS "$ENV{DESTDIR}/usr/lib/libnrnpython3.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/libnrnpython3.so")
+    file(RPATH_CHANGE
+         FILE "$ENV{DESTDIR}/usr/lib/libnrnpython3.so"
+         OLD_RPATH "::::::::::::"
+         NEW_RPATH "/usr/lib/nrn")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/lib/libnrnpython3.so")
+    endif()
+  endif()
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/usr/lib/python")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  file(INSTALL DESTINATION "/usr/lib" TYPE DIRECTORY FILES "/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/share/lib/python" FILES_MATCHING REGEX "/[^/]*\\.py$" REGEX "/[^/]*\\.so$" REGEX "/[^/]*\\.dylib$" REGEX "/[^/]*\\.dat$")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
+  execute_process(COMMAND bash /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/neuron_module_install.sh /usr/bin/python3 COMMAND_ERROR_IS_FATAL LAST)
+endif()
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/neuron_module_install.sh
@@ -0,0 +1,6 @@
+#!bash
+echo 'Installing python module using:'
+set -ex
+cd /home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython
+export SETUPTOOLS_USE_DISTUTILS=stdlib
+$1 setup.py --quiet build --build-lib=/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib/python install --prefix=/home/debian-build/wuruilong/demo/neuron-8.2.2/debian/tmp/usr
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/nrnpython_config.h
@@ -0,0 +1,15 @@
+#ifndef H_nrnpython_config_included
+#define H_nrnpython_config_included
+/* Define if Python available */
+#define USE_PYTHON 1
+/* Define to sys.api_version if dynamic loading desired */
+/* 1013 is good for 2.5-2.7 */
+#define NRNPYTHON_DYNAMICLOAD 3
+
+#ifndef NRNHOSTCPU
+/* Define to the nrnivmodl consistent cpu name */
+#define NRNHOSTCPU "loongarch64"
+#endif
+
+#endif /* H_nrnpython_config_included */
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/nrnpython/setup.py
@@ -0,0 +1,228 @@
+#setup.py
+from distutils.core import setup, Extension
+from sysconfig import get_python_version
+
+import sys
+import os
+
+#using_pgi=True
+using_pgi=False
+#mingw = 1
+mingw = 0
+
+# TODO temporary workaround for mingw + cmake
+# When running with mingw-cmake, the path of the form C:/msys64/xyz
+# needs to be transformed to C:\msys64/xyz.
+def get_escaped_path(path):
+  if mingw:
+    return path.replace(":/", ":\\")
+  else:
+    return path
+
+# NRNPYTHON_DEFINES which were enabled at configure time
+extern_defines = ""
+nrnpython_exec = get_escaped_path("/usr/bin/python3")
+nrnpython_pyver = "3.11"
+nrnpython_pyver10 = "nrnpython"
+use_libnrnpython_majorminor = 0
+nrn_srcdir = get_escaped_path(os.path.relpath("/home/debian-build/wuruilong/demo/neuron-8.2.2"))
+build_rx3d = 1
+ivlibdir = get_escaped_path("/usr/include/../lib")
+if ivlibdir == "" :
+    ivlibdir = '.'
+
+destdir = os.getenv("DESTDIR")
+if not destdir:
+  destdir = ""
+
+# install into build directory and then copy to install prefix
+instdir = destdir + get_escaped_path(os.path.relpath("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu"))
+
+if nrn_srcdir[0] != '/' :
+  if mingw:
+    nrn_srcdir = nrn_srcdir
+
+if "" == "":
+  # can do all the setup.py without re-configure.
+  nrnpython_pyver = get_python_version()
+  nrnpython_exec = sys.executable
+  nrnpython_pyver10 = "nrnpython" + str(sys.version_info[0])
+  if use_libnrnpython_majorminor == 1:
+    nrnpython_pyver10 = "nrnpython" + str(sys.version_info[0]) + str(sys.version_info[1])
+
+else:
+  if nrnpython_pyver!=get_python_version():
+    print ("Error:")
+    print ("NEURON configure time python: "+nrnpython_exec+"  "+ nrnpython_pyver)
+    print ("Python presently executing setup.py: "+sys.executable+"   "+ get_python_version())
+    print ("These do not match, and they should!")
+    sys.exit(1)
+
+
+ldefs = extern_defines.split('-D')
+
+# if using MPI then at least for linking need special paths and libraries
+import os
+c_compiler_path = get_escaped_path("/usr/bin/cc")
+cxx_compiler_path = get_escaped_path("/usr/bin/c++")
+
+# setup.py tries to compile C++ code with the C compiler. This works with
+# gcc and intel but fails with at least PGI compiler. Hence, use C++ compiler
+# if PGI compiler is used.
+os.environ['CC'] = cxx_compiler_path if using_pgi else c_compiler_path
+os.environ["CXX"] = cxx_compiler_path
+
+if using_pgi:
+  # Spack installed Python includes patches that require setting LDSHARED
+  # and LDCXXSHARED environmental variables to ensure the PGI/NVIDIA linker
+  # is used as well as the compiler. Otherwise GCC is used and it chokes on
+  # PGI/NVIDIA-specific compiler flags.
+  os.environ["LDSHARED"] = os.environ['CC'] + " -shared"
+  os.environ["LDCXXSHARED"] = os.environ["CXX"] + " -shared"
+
+# apparently we do not need the following
+#################################
+## following http://code.google.com/p/maroonmpi/wiki/Installation
+## hack into distutils to replace the compiler in "linker_so" with mpicxx_bin
+#
+#import distutils
+#import distutils.unixccompiler
+#
+#class MPI_UnixCCompiler(distutils.unixccompiler.UnixCCompiler):
+#    __set_executable = distutils.unixccompiler.UnixCCompiler.set_executable
+#
+#    def set_executable(self,key,value):
+#	print "MPI_UnixCCompiler ", key, " | ", value
+#        if key == 'linker_so' and type(value) == str:
+#            value = mpicxx_bin + ' ' + ' '.join(value.split()[1:])
+#
+#        return self.__set_executable(key,value)
+#    
+#distutils.unixccompiler.UnixCCompiler = MPI_UnixCCompiler
+#################################
+
+#include_dirs for hoc module
+include_dirs = [nrn_srcdir+'/src/nrnpython', nrn_srcdir+'/src/oc', '../oc', nrn_srcdir+'/src/nrnmpi']
+#include dirs for all modules
+
+include_dirs_common = []
+
+#not needed with clang,clang++ and on my beta catalina does not
+#work anyway with /Library/Developer/CommandLineTools/usr/bin/cc
+#for the ctng module
+##include_dirs_common.append("/usr/include")
+
+defines = []
+
+libdirs = [destdir + get_escaped_path("/usr/lib"),
+  ivlibdir
+]
+
+# prepare rpath flags for neuron and iv libs directories
+rpath_prefix_flag='-Wl,-R'
+extra_link_args = []
+extra_link_args += [rpath_prefix_flag+lib_path for lib_path in libdirs]
+#extra_link_args.append("-Wl,-rpath, at loader_path/../../")
+#extra_link_args.append("-Wl,-rpath,%s" % ivlibdir)
+
+# as neuron module will be built during make, add build/lib
+# directory for linking. Note that build/lib shouldn't be
+# added to rpath to avoid issues with dlopen.
+libdirs.append(destdir + get_escaped_path(os.path.relpath("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu/lib")))
+
+readline="readline"
+#readline="readline"
+
+pgi_compiler_flags = "-noswitcherror"
+
+libs = [nrnpython_pyver10,
+"nrniv"
+]
+if "interviews" != "":
+    libs.append("interviews")
+
+extra_compile_args = []
+
+if using_pgi:
+  extra_link_args.append(pgi_compiler_flags)
+  extra_compile_args.append(pgi_compiler_flags)
+
+hoc_module = Extension(
+    "neuron.hoc",
+    ["inithoc.cpp"],
+    library_dirs=libdirs,
+    extra_link_args=extra_link_args,
+    #extra_objects = [],
+    extra_compile_args = extra_compile_args,
+    libraries = libs ,
+    include_dirs = include_dirs+include_dirs_common,
+    define_macros=defines
+    )
+
+# specify that the data_files paths are relative to same place as python files
+# from http://stackoverflow.com/questions/1612733/including-non-python-files-with-setup-py
+from distutils.command.install import INSTALL_SCHEMES
+for scheme in list(INSTALL_SCHEMES.values()):
+    scheme['data'] = scheme['purelib']
+
+ext_modules = [hoc_module]
+
+# The rx3d extensions are built using the setup.py.in in
+# nrn/share/lib/python/neuron/rxd/geometry3d which contains Cython pyx files
+# These files on Windows have to be compiled with the msvc compiler to avoid
+# issues with hypot, a #define, and some DL_IMPORT statements. At least for
+# Python3.5, the module must be built with the msvc toolchain to prevent a
+# crash, possibly due to incompatible c runtime libraries. The following
+# section is left here with the idea that someday the entire build on windows
+# may be done with the msvc toolchain. Note, although the extensions are not
+# built here, the python files are copied because of the call to setup here.
+
+if build_rx3d:
+  try:
+    import numpy
+    # TODO: do we need to use os.path.join?
+    src_path = nrn_srcdir + '/share/lib/python/neuron/rxd/geometry3d/'
+    build_path = '../../share/lib/python/neuron/rxd/geometry3d/'
+    include_dirs = [nrn_srcdir + '/share/lib/python/neuron/rxd/geometry3d', '.', numpy.get_include()]
+    include_dirs += include_dirs_common
+    extra_compile_args=["-O0"] + extra_compile_args
+    define_macros = []
+    if mingw:
+      #Avoid undefined __imp_Py_InitModule4 and hypot problem
+      define_macros.append(("MS_WIN64", None))
+    ext_modules=[hoc_module,
+                   Extension("neuron.rxd.geometry3d.graphicsPrimitives",
+                             sources=[build_path + "graphicsPrimitives.cpp"],
+                             extra_compile_args = extra_compile_args,
+                             extra_link_args=extra_link_args,
+                             define_macros = define_macros,
+                             include_dirs=include_dirs),
+                   Extension("neuron.rxd.geometry3d.ctng",
+                             sources=[build_path + "ctng.cpp"],
+                             extra_compile_args = extra_compile_args,
+                             extra_link_args=extra_link_args,
+                             define_macros = define_macros,
+                             include_dirs=include_dirs),
+                   Extension("neuron.rxd.geometry3d.surfaces",
+                             sources=[build_path + "surfaces.cpp", nrn_srcdir + "/src/nrnpython/rxd_marching_cubes.cpp", nrn_srcdir + "/src/nrnpython/rxd_llgramarea.cpp"],
+                             define_macros = define_macros,
+                             extra_compile_args = extra_compile_args,
+                             extra_link_args=extra_link_args,
+                             include_dirs=include_dirs)]
+  except:
+    pass
+
+packages=['neuron','neuron.neuroml','neuron.tests', 'neuron.rxd', 'neuron.crxd', 'neuron.gui2']
+if build_rx3d:
+  packages +=['neuron.rxd.geometry3d']
+
+pkg_dir = os.path.relpath("/home/debian-build/wuruilong/demo/neuron-8.2.2/obj-loongarch64-linux-gnu") + '/share/nrn/lib/python'
+
+setup(name="NEURON", version="8.2.2",
+      description = "NEURON bindings for python",
+      package_dir = {'': pkg_dir},
+      packages=packages,
+      data_files = [('neuron', [nrn_srcdir + '/share/lib/python/neuron/help_data.dat'])],
+      ext_modules=ext_modules
+)
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/hocusr.h
@@ -0,0 +1,190 @@
+extern void node_data(), disconnect();
+extern void batch_run(), batch_save();
+extern void pt3dadd(), n3d(), x3d(), y3d(), z3d(), arc3d(), diam3d();
+extern void pt3dclear(), pt3dinsert(), pt3dremove(), pt3dchange();
+extern void define_shape(), pt3dconst(), pt3dstyle();
+extern void spine3d(), setSpineArea(), getSpineArea();
+extern void area(), ri(), distance();
+extern void initnrn(), nrnhoc_topology(), fadvance(), finitialize();
+extern void fstim(), fstimi();
+extern void ion_style(), ion_register(), ion_charge(), nernst(), ghk();
+extern void section_owner();
+extern void make_mechanism(), make_pointprocess();
+extern void nrnpython();
+extern void nrnunit_use_legacy();
+extern void fsyn(), fsyng(), fsyni();
+extern void fclamp(), fclampi(), fclampv(), prstim();
+extern void fcurrent(), fmatrix(), frecord_init();
+extern void issection(), ismembrane(), sectionname(), psection();
+extern void pop_section(), push_section(), section_exists();
+extern void delete_section();
+extern int secondorder, diam_changed, nrn_shape_changed_;
+extern int nrn_netrec_state_adjust, nrn_sparse_partrans;
+extern double clamp_resist;
+extern double celsius;
+extern int stoprun;
+extern void fit_praxis(), attr_praxis(), pval_praxis(), stop_praxis();
+extern void keep_nseg_parm();
+extern void nlayer_extracellular();
+extern void nrnallsectionmenu(), nrnallpointmenu(), nrnsecmenu();
+extern void nrnglobalmechmenu(), nrnmechmenu(), nrnpointmenu();
+extern void this_section(), this_node(), parent_section(), parent_node();
+extern void parent_connection(), section_orientation();
+
+/* Functions */
+static VoidFunc functions[] = {
+
+"node_data", node_data,
+"disconnect", disconnect,
+"batch_run", batch_run,
+"batch_save", batch_save,
+"pt3dadd", pt3dadd,
+"n3d", n3d,
+"x3d", x3d,
+"y3d", y3d,
+"z3d", z3d,
+"arc3d", arc3d,
+"diam3d", diam3d,
+"pt3dclear", pt3dclear,
+"pt3dinsert", pt3dinsert,
+"pt3dremove", pt3dremove,
+"pt3dchange", pt3dchange,
+"define_shape", define_shape,
+"pt3dconst", pt3dconst,
+"pt3dstyle", pt3dstyle,
+"spine3d", spine3d,
+"setSpineArea", setSpineArea,
+"getSpineArea", getSpineArea,
+"area", area,
+"ri", ri,
+"distance", distance,
+"initnrn", initnrn,
+"topology", nrnhoc_topology,
+"fadvance", fadvance,
+"finitialize", finitialize,
+"fstim", fstim,
+"fstimi", fstimi,
+"ion_style", ion_style,
+"ion_register", ion_register,
+"ion_charge", ion_charge,
+"nernst", nernst,
+"ghk", ghk,
+"section_owner", section_owner,
+"make_mechanism", make_mechanism,
+"make_pointprocess", make_pointprocess,
+"nrnpython", nrnpython,
+"nrnunit_use_legacy", nrnunit_use_legacy,
+"fsyn", fsyn,
+"fsyng", fsyng,
+"fsyni", fsyni,
+"fclamp", fclamp,
+"fclampi", fclampi,
+"fclampv", fclampv,
+"prstim", prstim,
+"fcurrent", fcurrent,
+"fmatrix", fmatrix,
+"frecord_init", frecord_init,
+"issection", issection,
+"ismembrane", ismembrane,
+"sectionname", sectionname,
+"psection", psection,
+"pop_section", pop_section,
+"push_section", push_section,
+"section_exists", section_exists,
+"delete_section", delete_section,
+"fit_praxis", fit_praxis,
+"attr_praxis", attr_praxis,
+"pval_praxis", pval_praxis,
+"stop_praxis", stop_praxis,
+"keep_nseg_parm", keep_nseg_parm,
+"nlayer_extracellular", nlayer_extracellular,
+"nrnallsectionmenu", nrnallsectionmenu,
+"nrnallpointmenu", nrnallpointmenu,
+"nrnsecmenu", nrnsecmenu,
+"nrnglobalmechmenu", nrnglobalmechmenu,
+"nrnmechmenu", nrnmechmenu,
+"nrnpointmenu", nrnpointmenu,
+"this_section", this_section,
+"this_node", this_node,
+"parent_section", parent_section,
+"parent_node", parent_node,
+"parent_connection", parent_connection,
+"section_orientation", section_orientation,
+0, 0
+};
+
+static struct {  /* Integer Scalars */
+  const char *name;
+  int  *pint;
+} scint[] = {
+
+"secondorder", &secondorder,
+"diam_changed", &diam_changed,
+"nrn_shape_changed_", &nrn_shape_changed_,
+"nrn_netrec_state_adjust", &nrn_netrec_state_adjust,
+"nrn_sparse_partrans", &nrn_sparse_partrans,
+"stoprun", &stoprun,
+0, 0
+};
+
+static struct {  /* Vector integers */
+  const char *name;
+  int  *pint;
+  int  index1;
+} vint[] = {
+
+0,0
+};
+
+static struct {  /* Float Scalars */
+  const char *name;
+  float  *pfloat;
+} scfloat[] = {
+
+0, 0
+};
+
+static struct {  /* Vector float */
+  const char *name;
+  float *pfloat;
+  int index1;
+} vfloat[] = {
+
+0,0,0
+};
+
+/* Double Scalars */
+DoubScal scdoub[] = {
+
+"clamp_resist", &clamp_resist,
+"celsius", &celsius,
+0,0
+};
+
+/* Vectors */
+DoubVec vdoub[] = {
+
+0, 0, 0
+};
+
+static struct {  /* Arrays */
+  const char *name;
+  double *pdoub;
+  int index1;
+  int index2;
+} ardoub[] = {
+
+0, 0, 0, 0
+};
+
+static struct {  /* triple dimensioned arrays */
+  const char *name;
+  double *pdoub;
+  int index1;
+  int index2;
+  int index3;
+} thredim[] = {
+
+0, 0, 0, 0, 0
+};
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnmpiuse.h
@@ -0,0 +1,31 @@
+#ifndef usenrnmpi_h
+#define usenrnmpi_h
+
+/* define to 1 if you want MPI specific features activated */
+#define NRNMPI 1
+
+/* define to 1 if you want parallel distributed cells (and gap junctions) */
+#define PARANEURON 1
+
+/* define to 1 if you want mpi dynamically loaded instead of linked normally */
+/* #undef NRNMPI_DYNAMICLOAD */
+
+/* define to 1 if you want the MUSIC - MUlti SImulation Coordinator */
+/* #undef NRN_MUSIC */
+
+/* define to the dll path if you want to load automatically */
+#define DLL_DEFAULT_FNAME "loongarch64/.libs/libnrnmech.so"
+
+/* define if needed */
+/* #undef ALWAYS_CALL_MPI_INIT */
+
+/* Number of times to retry a failed open */
+/* #undef FILE_OPEN_RETRY */
+
+/* Define bits for BGPDMA & 1 (ISend) & 2 (DMA spike transfer) & 4 (DMA Record Replay */
+#define BGPDMA 1
+
+/* Define to 1 for possibility of rank 0 xopen/ropen a file and broadcast everywhere */
+/* #undef USE_NRNFILEWRAP */
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/oc/nrnpthread.h
@@ -0,0 +1,7 @@
+#ifndef nrnpthread_h
+#define nrnpthread_h
+
+/* Configure with use_pthread=no if pthread.h exists but you do not want to use it */
+#define USE_PTHREAD 1
+
+#endif
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/parallel/bbsconf.h
@@ -0,0 +1,11 @@
+#ifndef H_bbsconfig_included
+#define H_bbsconfig_included 1
+
+/* following are relevant to src/parallel implmentation of ParallelContext */
+/* Set to 1 if the standard template library exists */
+#define HAVE_STL /**/
+/* Set to 1 if SIGPOLL is a possible signal */
+/* #undef HAVE_SIGPOLL */
+
+#endif /* H_config_included */
+
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/sundials/sundials_config.h
@@ -0,0 +1,103 @@
+/* config.hin.  Generated from configure.ac by autoheader.  */
+
+/* FCMIX: Define name-mangling macro */
+/* #undef F77_FUNC */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <float.h> header file. */
+#define HAVE_FLOAT_H 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `m' library (-lm). */
+/* #undef HAVE_LIBM */
+
+/* Define to 1 if you have the <math.h> header file. */
+#define HAVE_MATH_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+/* #undef PACKAGE_NAME */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "nrn 8.2.2"
+
+/* Define to the one symbol short name of this package. */
+/* #undef PACKAGE_TARNAME */
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "8.2.2"
+
+/* The size of a `double', as computed by sizeof. */
+/* #undef SIZEOF_DOUBLE */
+
+/* The size of a `float', as computed by sizeof. */
+/* #undef SIZEOF_FLOAT */
+
+/* The size of a `int', as computed by sizeof. */
+/* #undef SIZEOF_INT */
+
+/* The size of a `long double', as computed by sizeof. */
+/* #undef SIZEOF_LONG_DOUBLE */
+
+/* The size of a `long int', as computed by sizeof. */
+/* #undef SIZEOF_LONG_INT */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* FCMIX: Make function names lowercase */
+/* #undef SUNDIALS_CASE_LOWER */
+
+/* FCMIX: Make function names uppercase */
+/* #undef SUNDIALS_CASE_UPPER */
+
+/* Define SUNDIALS data type 'realtype' as 'double' */
+#define SUNDIALS_DOUBLE_PRECISION 1
+
+/* Define SUNDIALS data type 'realtype' as 'long double' */
+/* #undef SUNDIALS_EXTENDED_PRECISION */
+
+/* Define SUNDIALS data type 'realtype' as 'float' */
+/* #undef SUNDIALS_SINGLE_PRECISION */
+
+/* FCMIX: Do NOT append any underscores to functions names */
+/* #undef SUNDIALS_UNDERSCORE_NONE */
+
+/* FCMIX: Append ONE underscore to function names */
+/* #undef SUNDIALS_UNDERSCORE_ONE */
+
+/* FCMIX: Append TWO underscores to function names */
+/* #undef SUNDIALS_UNDERSCORE_TWO */
+
+/* Use generic math functions */
+#define SUNDIALS_USE_GENERIC_MATH 1
--- /dev/null
+++ neuron-8.2.2/obj-loongarch64-linux-gnu/src/uxnrnbbs/mos2nrn.h
@@ -0,0 +1 @@
+#define NEURON_BIN_DIR "/usr/bin"
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/apcount.c
@@ -0,0 +1,517 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__APCount
+#define _nrn_initial _nrn_initial__APCount
+#define nrn_cur _nrn_cur__APCount
+#define _nrn_current _nrn_current__APCount
+#define nrn_jacob _nrn_jacob__APCount
+#define nrn_state _nrn_state__APCount
+#define _net_receive _net_receive__APCount 
+#define check check__APCount 
+#define record record__APCount 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define n _p[0]
+#define n_columnindex 0
+#define thresh _p[1]
+#define thresh_columnindex 1
+#define time _p[2]
+#define time_columnindex 2
+#define firing _p[3]
+#define firing_columnindex 3
+#define space _p[4]
+#define space_columnindex 4
+#define v _p[5]
+#define v_columnindex 5
+#define _g _p[6]
+#define _g_columnindex 6
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_check(void*);
+ static double _hoc_record(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "check", _hoc_check,
+ "record", _hoc_record,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "thresh", "mV",
+ "time", "ms",
+ 0,0
+};
+ static double delta_t = 0.01;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"APCount",
+ "n",
+ "thresh",
+ "time",
+ 0,
+ "firing",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 7, _prop);
+ 	/*initialize range parameters*/
+ 	n = 0;
+ 	thresh = -20;
+ 	time = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 7;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _apcount_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 7, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 APCount /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int check(_threadargsproto_);
+static int record(_threadargsproto_);
+ 
+/*VERBATIM*/
+extern void vector_resize();
+extern double* vector_vec();
+extern void* vector_arg();
+ 
+static int  check ( _threadargsproto_ ) {
+   
+/*VERBATIM*/
+	if (v >= thresh && !firing) {
+		int size; double* px; void* vv;
+		firing = 1;
+		time = t;
+		n += 1.;
+		vv = *((void**)(&space));
+		if (vv) {
+			size = (int)n;
+			vector_resize(vv, size);
+			px = vector_vec(vv);
+			px[size-1] = time;
+		}
+	}
+	if (firing && v < thresh && t > time) {
+		firing = 0;
+	}
+  return 0; }
+ 
+static double _hoc_check(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ check ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  record ( _threadargsproto_ ) {
+   
+/*VERBATIM*/
+	extern void* vector_arg();
+	void** vv;
+	vv = (void**)(&space);
+	*vv = (void*)0;
+	if (ifarg(1)) {
+		*vv = vector_arg(1);
+	}
+  return 0; }
+ 
+static double _hoc_record(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ record ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   n = 0.0 ;
+   firing = 0.0 ;
+   
+/*VERBATIM*/
+	{ void* vv;
+		vv = *((void**)(&space));
+		if (vv) {
+			vector_resize(vv, 0);
+		}
+	}
+ check ( _threadargs_ ) ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+ {  { check(_p, _ppvar, _thread, _nt); }
+  } {
+   }
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/apcount.mod";
+static const char* nmodl_file_text = 
+  "NEURON {\n"
+  "	POINT_PROCESS APCount\n"
+  "	RANGE n, thresh, time, firing\n"
+  "	THREADSAFE : if APCount.record uses distinct instances of Vector\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(mV) = (millivolt)\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	n\n"
+  "	thresh = -20 (mV)\n"
+  "	time (ms)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	firing\n"
+  "	space\n"
+  "}\n"
+  "\n"
+  "VERBATIM\n"
+  "extern void vector_resize();\n"
+  "extern double* vector_vec();\n"
+  "extern void* vector_arg();\n"
+  "ENDVERBATIM\n"
+  "\n"
+  "INITIAL {\n"
+  "	n = 0\n"
+  "	firing = 0\n"
+  "VERBATIM\n"
+  "	{ void* vv;\n"
+  "		vv = *((void**)(&space));\n"
+  "		if (vv) {\n"
+  "			vector_resize(vv, 0);\n"
+  "		}\n"
+  "	}\n"
+  "ENDVERBATIM\n"
+  "	check()\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE check METHOD after_cvode\n"
+  "}\n"
+  "\n"
+  "PROCEDURE check() {\n"
+  "VERBATIM\n"
+  "	if (v >= thresh && !firing) {\n"
+  "		int size; double* px; void* vv;\n"
+  "		firing = 1;\n"
+  "		time = t;\n"
+  "		n += 1.;\n"
+  "		vv = *((void**)(&space));\n"
+  "		if (vv) {\n"
+  "			size = (int)n;\n"
+  "			vector_resize(vv, size);\n"
+  "			px = vector_vec(vv);\n"
+  "			px[size-1] = time;\n"
+  "		}\n"
+  "	}\n"
+  "	if (firing && v < thresh && t > time) {\n"
+  "		firing = 0;\n"
+  "	}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "PROCEDURE record() {\n"
+  "VERBATIM\n"
+  "	extern void* vector_arg();\n"
+  "	void** vv;\n"
+  "	vv = (void**)(&space);\n"
+  "	*vv = (void*)0;\n"
+  "	if (ifarg(1)) {\n"
+  "		*vv = vector_arg(1);\n"
+  "	}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/exp2syn.c
@@ -0,0 +1,612 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__Exp2Syn
+#define _nrn_initial _nrn_initial__Exp2Syn
+#define nrn_cur _nrn_cur__Exp2Syn
+#define _nrn_current _nrn_current__Exp2Syn
+#define nrn_jacob _nrn_jacob__Exp2Syn
+#define nrn_state _nrn_state__Exp2Syn
+#define _net_receive _net_receive__Exp2Syn 
+#define state state__Exp2Syn 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define tau1 _p[0]
+#define tau1_columnindex 0
+#define tau2 _p[1]
+#define tau2_columnindex 1
+#define e _p[2]
+#define e_columnindex 2
+#define i _p[3]
+#define i_columnindex 3
+#define g _p[4]
+#define g_columnindex 4
+#define A _p[5]
+#define A_columnindex 5
+#define B _p[6]
+#define B_columnindex 6
+#define factor _p[7]
+#define factor_columnindex 7
+#define DA _p[8]
+#define DA_columnindex 8
+#define DB _p[9]
+#define DB_columnindex 9
+#define v _p[10]
+#define v_columnindex 10
+#define _g _p[11]
+#define _g_columnindex 11
+#define _tsav _p[12]
+#define _tsav_columnindex 12
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "tau2", 1e-09, 1e+09,
+ "tau1", 1e-09, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "tau1", "ms",
+ "tau2", "ms",
+ "e", "mV",
+ "A", "uS",
+ "B", "uS",
+ "i", "nA",
+ "g", "uS",
+ 0,0
+};
+ static double A0 = 0;
+ static double B0 = 0;
+ static double delta_t = 0.01;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ 
+static int _ode_count(int);
+static void _ode_map(int, double**, double**, double*, Datum*, double*, int);
+static void _ode_spec(NrnThread*, _Memb_list*, int);
+static void _ode_matsol(NrnThread*, _Memb_list*, int);
+ 
+#define _cvode_ieq _ppvar[2]._i
+ static void _ode_matsol_instance1(_threadargsproto_);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"Exp2Syn",
+ "tau1",
+ "tau2",
+ "e",
+ 0,
+ "i",
+ "g",
+ 0,
+ "A",
+ "B",
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 13, _prop);
+ 	/*initialize range parameters*/
+ 	tau1 = 0.1;
+ 	tau2 = 10;
+ 	e = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 13;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 3, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+  /* some states have an absolute tolerance */
+ static Symbol** _atollist;
+ static HocStateTolerance _hoc_state_tol[] = {
+ 0,0
+};
+ static void _net_receive(Point_process*, double*, double);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _exp2syn_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 13, 3);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "cvodeieq");
+ 	hoc_register_cvode(_mechtype, _ode_count, _ode_map, _ode_spec, _ode_matsol);
+ 	hoc_register_tolerance(_mechtype, _hoc_state_tol, &_atollist);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 Exp2Syn /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+ 
+static int _ode_spec1(_threadargsproto_);
+/*static int _ode_matsol1(_threadargsproto_);*/
+ static int _slist1[2], _dlist1[2];
+ static int state(_threadargsproto_);
+ 
+/*CVODE*/
+ static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {int _reset = 0; {
+   DA = - A / tau1 ;
+   DB = - B / tau2 ;
+   }
+ return _reset;
+}
+ static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+ DA = DA  / (1. - dt*( ( - 1.0 ) / tau1 )) ;
+ DB = DB  / (1. - dt*( ( - 1.0 ) / tau2 )) ;
+  return 0;
+}
+ /*END CVODE*/
+ static int state (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) { {
+    A = A + (1. - exp(dt*(( - 1.0 ) / tau1)))*(- ( 0.0 ) / ( ( - 1.0 ) / tau1 ) - A) ;
+    B = B + (1. - exp(dt*(( - 1.0 ) / tau2)))*(- ( 0.0 ) / ( ( - 1.0 ) / tau2 ) - B) ;
+   }
+  return 0;
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t; {
+     if (nrn_netrec_state_adjust && !cvode_active_){
+    /* discon state adjustment for cnexp case (rate uses no local variable) */
+    double __state = A;
+    double __primary = (A + _args[0] * factor) - __state;
+     __primary += ( 1. - exp( 0.5*dt*( ( - 1.0 ) / tau1 ) ) )*( - ( 0.0 ) / ( ( - 1.0 ) / tau1 ) - __primary );
+    A += __primary;
+  } else {
+ A = A + _args[0] * factor ;
+     }
+   if (nrn_netrec_state_adjust && !cvode_active_){
+    /* discon state adjustment for cnexp case (rate uses no local variable) */
+    double __state = B;
+    double __primary = (B + _args[0] * factor) - __state;
+     __primary += ( 1. - exp( 0.5*dt*( ( - 1.0 ) / tau2 ) ) )*( - ( 0.0 ) / ( ( - 1.0 ) / tau2 ) - __primary );
+    B += __primary;
+  } else {
+ B = B + _args[0] * factor ;
+     }
+ } }
+ 
+static int _ode_count(int _type){ return 2;}
+ 
+static void _ode_spec(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+     _ode_spec1 (_p, _ppvar, _thread, _nt);
+ }}
+ 
+static void _ode_map(int _ieq, double** _pv, double** _pvdot, double* _pp, Datum* _ppd, double* _atol, int _type) { 
+	double* _p; Datum* _ppvar;
+ 	int _i; _p = _pp; _ppvar = _ppd;
+	_cvode_ieq = _ieq;
+	for (_i=0; _i < 2; ++_i) {
+		_pv[_i] = _pp + _slist1[_i];  _pvdot[_i] = _pp + _dlist1[_i];
+		_cvode_abstol(_atollist, _atol, _i);
+	}
+ }
+ 
+static void _ode_matsol_instance1(_threadargsproto_) {
+ _ode_matsol1 (_p, _ppvar, _thread, _nt);
+ }
+ 
+static void _ode_matsol(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+ _ode_matsol_instance1(_threadargs_);
+ }}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+  A = A0;
+  B = B0;
+ {
+   double _ltp ;
+ if ( tau1 / tau2 > 0.9999 ) {
+     tau1 = 0.9999 * tau2 ;
+     }
+   if ( tau1 / tau2 < 1e-9 ) {
+     tau1 = tau2 * 1e-9 ;
+     }
+   A = 0.0 ;
+   B = 0.0 ;
+   _ltp = ( tau1 * tau2 ) / ( tau2 - tau1 ) * log ( tau2 / tau1 ) ;
+   factor = - exp ( - _ltp / tau1 ) + exp ( - _ltp / tau2 ) ;
+   factor = 1.0 / factor ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   g = B - A ;
+   i = g * ( v - e ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) -= _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) -= _rhs;
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+ {   state(_p, _ppvar, _thread, _nt);
+  }}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+ _slist1[0] = A_columnindex;  _dlist1[0] = DA_columnindex;
+ _slist1[1] = B_columnindex;  _dlist1[1] = DB_columnindex;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/exp2syn.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "Two state kinetic scheme synapse described by rise time tau1,\n"
+  "and decay time constant tau2. The normalized peak conductance is 1.\n"
+  "Decay time MUST be greater than rise time.\n"
+  "\n"
+  "The solution of A->G->bath with rate constants 1/tau1 and 1/tau2 is\n"
+  " A = a*exp(-t/tau1) and\n"
+  " G = a*tau2/(tau2-tau1)*(-exp(-t/tau1) + exp(-t/tau2))\n"
+  "	where tau1 < tau2\n"
+  "\n"
+  "If tau2-tau1 is very small compared to tau1, this is an alphasynapse with time constant tau2.\n"
+  "If tau1/tau2 is very small, this is single exponential decay with time constant tau2.\n"
+  "\n"
+  "The factor is evaluated in the initial block \n"
+  "such that an event of weight 1 generates a\n"
+  "peak conductance of 1.\n"
+  "\n"
+  "Because the solution is a sum of exponentials, the\n"
+  "coupled equations can be solved as a pair of independent equations\n"
+  "by the more efficient cnexp method.\n"
+  "\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS Exp2Syn\n"
+  "	RANGE tau1, tau2, e, i\n"
+  "	NONSPECIFIC_CURRENT i\n"
+  "\n"
+  "	RANGE g\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	tau1 = 0.1 (ms) <1e-9,1e9>\n"
+  "	tau2 = 10 (ms) <1e-9,1e9>\n"
+  "	e=0	(mV)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	v (mV)\n"
+  "	i (nA)\n"
+  "	g (uS)\n"
+  "	factor\n"
+  "}\n"
+  "\n"
+  "STATE {\n"
+  "	A (uS)\n"
+  "	B (uS)\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	LOCAL tp\n"
+  "	if (tau1/tau2 > 0.9999) {\n"
+  "		tau1 = 0.9999*tau2\n"
+  "	}\n"
+  "	if (tau1/tau2 < 1e-9) {\n"
+  "		tau1 = tau2*1e-9\n"
+  "	}\n"
+  "	A = 0\n"
+  "	B = 0\n"
+  "	tp = (tau1*tau2)/(tau2 - tau1) * log(tau2/tau1)\n"
+  "	factor = -exp(-tp/tau1) + exp(-tp/tau2)\n"
+  "	factor = 1/factor\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE state METHOD cnexp\n"
+  "	g = B - A\n"
+  "	i = g*(v - e)\n"
+  "}\n"
+  "\n"
+  "DERIVATIVE state {\n"
+  "	A' = -A/tau1\n"
+  "	B' = -B/tau2\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE(weight (uS)) {\n"
+  "	A = A + weight*factor\n"
+  "	B = B + weight*factor\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/expsyn.c
@@ -0,0 +1,524 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__ExpSyn
+#define _nrn_initial _nrn_initial__ExpSyn
+#define nrn_cur _nrn_cur__ExpSyn
+#define _nrn_current _nrn_current__ExpSyn
+#define nrn_jacob _nrn_jacob__ExpSyn
+#define nrn_state _nrn_state__ExpSyn
+#define _net_receive _net_receive__ExpSyn 
+#define state state__ExpSyn 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define tau _p[0]
+#define tau_columnindex 0
+#define e _p[1]
+#define e_columnindex 1
+#define i _p[2]
+#define i_columnindex 2
+#define g _p[3]
+#define g_columnindex 3
+#define Dg _p[4]
+#define Dg_columnindex 4
+#define v _p[5]
+#define v_columnindex 5
+#define _g _p[6]
+#define _g_columnindex 6
+#define _tsav _p[7]
+#define _tsav_columnindex 7
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "tau", 1e-09, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "tau", "ms",
+ "e", "mV",
+ "g", "uS",
+ "i", "nA",
+ 0,0
+};
+ static double delta_t = 0.01;
+ static double g0 = 0;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ 
+static int _ode_count(int);
+static void _ode_map(int, double**, double**, double*, Datum*, double*, int);
+static void _ode_spec(NrnThread*, _Memb_list*, int);
+static void _ode_matsol(NrnThread*, _Memb_list*, int);
+ 
+#define _cvode_ieq _ppvar[2]._i
+ static void _ode_matsol_instance1(_threadargsproto_);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"ExpSyn",
+ "tau",
+ "e",
+ 0,
+ "i",
+ 0,
+ "g",
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 8, _prop);
+ 	/*initialize range parameters*/
+ 	tau = 0.1;
+ 	e = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 8;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 3, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+  /* some states have an absolute tolerance */
+ static Symbol** _atollist;
+ static HocStateTolerance _hoc_state_tol[] = {
+ 0,0
+};
+ static void _net_receive(Point_process*, double*, double);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _expsyn_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 8, 3);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "cvodeieq");
+ 	hoc_register_cvode(_mechtype, _ode_count, _ode_map, _ode_spec, _ode_matsol);
+ 	hoc_register_tolerance(_mechtype, _hoc_state_tol, &_atollist);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 ExpSyn /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+ 
+static int _ode_spec1(_threadargsproto_);
+/*static int _ode_matsol1(_threadargsproto_);*/
+ static int _slist1[1], _dlist1[1];
+ static int state(_threadargsproto_);
+ 
+/*CVODE*/
+ static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {int _reset = 0; {
+   Dg = - g / tau ;
+   }
+ return _reset;
+}
+ static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+ Dg = Dg  / (1. - dt*( ( - 1.0 ) / tau )) ;
+  return 0;
+}
+ /*END CVODE*/
+ static int state (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) { {
+    g = g + (1. - exp(dt*(( - 1.0 ) / tau)))*(- ( 0.0 ) / ( ( - 1.0 ) / tau ) - g) ;
+   }
+  return 0;
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t; {
+     if (nrn_netrec_state_adjust && !cvode_active_){
+    /* discon state adjustment for cnexp case (rate uses no local variable) */
+    double __state = g;
+    double __primary = (g + _args[0]) - __state;
+     __primary += ( 1. - exp( 0.5*dt*( ( - 1.0 ) / tau ) ) )*( - ( 0.0 ) / ( ( - 1.0 ) / tau ) - __primary );
+    g += __primary;
+  } else {
+ g = g + _args[0] ;
+     }
+ } }
+ 
+static int _ode_count(int _type){ return 1;}
+ 
+static void _ode_spec(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+     _ode_spec1 (_p, _ppvar, _thread, _nt);
+ }}
+ 
+static void _ode_map(int _ieq, double** _pv, double** _pvdot, double* _pp, Datum* _ppd, double* _atol, int _type) { 
+	double* _p; Datum* _ppvar;
+ 	int _i; _p = _pp; _ppvar = _ppd;
+	_cvode_ieq = _ieq;
+	for (_i=0; _i < 1; ++_i) {
+		_pv[_i] = _pp + _slist1[_i];  _pvdot[_i] = _pp + _dlist1[_i];
+		_cvode_abstol(_atollist, _atol, _i);
+	}
+ }
+ 
+static void _ode_matsol_instance1(_threadargsproto_) {
+ _ode_matsol1 (_p, _ppvar, _thread, _nt);
+ }
+ 
+static void _ode_matsol(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+ _ode_matsol_instance1(_threadargs_);
+ }}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+  g = g0;
+ {
+   g = 0.0 ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   i = g * ( v - e ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) -= _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) -= _rhs;
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+ {   state(_p, _ppvar, _thread, _nt);
+  }}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+ _slist1[0] = g_columnindex;  _dlist1[0] = Dg_columnindex;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/expsyn.mod";
+static const char* nmodl_file_text = 
+  "NEURON {\n"
+  "	POINT_PROCESS ExpSyn\n"
+  "	RANGE tau, e, i\n"
+  "	NONSPECIFIC_CURRENT i\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	tau = 0.1 (ms) <1e-9,1e9>\n"
+  "	e = 0	(mV)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	v (mV)\n"
+  "	i (nA)\n"
+  "}\n"
+  "\n"
+  "STATE {\n"
+  "	g (uS)\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	g=0\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE state METHOD cnexp\n"
+  "	i = g*(v - e)\n"
+  "}\n"
+  "\n"
+  "DERIVATIVE state {\n"
+  "	g' = -g/tau\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE(weight (uS)) {\n"
+  "	g = g + weight\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/feature.c
@@ -0,0 +1,327 @@
+/* Created by Language version: 7.7.0 */
+/* NOT VECTORIZED */
+#define NRN_VECTORIZED 0
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init_
+#define _nrn_initial _nrn_initial_
+#define nrn_cur _nrn_cur_
+#define _nrn_current _nrn_current_
+#define nrn_jacob _nrn_jacob_
+#define nrn_state _nrn_state_
+#define _net_receive _net_receive_ 
+#define install_vector_fitness install_vector_fitness_ 
+ 
+#define _threadargscomma_ /**/
+#define _threadargsprotocomma_ /**/
+#define _threadargs_ /**/
+#define _threadargsproto_ /**/
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ static double *_p; static Datum *_ppvar;
+ 
+#define t nrn_threads->_t
+#define dt nrn_threads->_dt
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static void _hoc_install_vector_fitness(void);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _p = _prop->param; _ppvar = _prop->dparam;
+ }
+ static void _hoc_setdata() {
+ Prop *_prop, *hoc_getdata_range(int);
+ _prop = hoc_getdata_range(_mechtype);
+   _setdata(_prop);
+ hoc_retpushx(1.);
+}
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ "setdata_feature", _hoc_setdata,
+ "install_vector_fitness", _hoc_install_vector_fitness,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ 0,0
+};
+ static double v = 0;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"feature",
+ 0,
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+ 	_p = nrn_prop_data_alloc(_mechtype, 0, _prop);
+ 	/*initialize range parameters*/
+ 	_prop->param = _p;
+ 	_prop->param_size = 0;
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _feature_reg_() {
+	int _vectorized = 0;
+  _initlists();
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 feature /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/feature.mod\n");
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int install_vector_fitness();
+ 
+/*VERBATIM*/
+#include "hocdec.h"
+static double width(void* vv) {
+	int i, nx, ny, i1, i2;
+	double *x, *y;
+	double h;
+	h = *getarg(2);
+	ny = vector_instance_px(vv, &y);
+	nx = vector_arg_px(1, &x);
+	if (nx != ny) return 0.;
+	for (i1 = 0; i1 < nx; ++i1) {
+		if (y[i1] >= h) { break;}
+	}
+	for (i2 = i1+1; i2 < nx; ++i2) {
+		if (y[i2] <= h) { break; }
+	}
+	return x[i2] - x[i1];
+}
+
+/* xval, yval must be sorted in increasing order for xval */
+/* xval is relative to the peak of the data */
+/* xpeak is the peak location of the simulation */
+/* xfitness is a measure of match in the x-dimension relative to
+peak location for particular values of y */
+/* yfitness is a measure of match in the y-dimension relative to
+peak location for particular values of relative x */
+
+static double xfitness(void* vv) {
+	int nx, ny, nyval, nxval, i, j;
+	double sum, d, xpeak, *y, *x, *yval, *xval;
+	ny = vector_instance_px(vv, &y);
+	nx = vector_arg_px(1, &x);
+	if (nx != ny) { hoc_execerror("vectors not same size", 0); }
+	xpeak = *getarg(2);
+	nyval = vector_arg_px(3, &yval);
+	nxval = vector_arg_px(4, &xval);
+	j = 0;
+	sum = 0.;
+	for (i = 0; i < nx; ++i) {
+		if (y[i] >= yval[j]) {
+			d = (x[i] - xpeak) - xval[j];
+			sum += d*d;
+			++j;
+			if (j >= nxval) return sum;
+			if (x[i] > xpeak) break;
+		}
+	}
+	for (++i; i < nx; ++i) {
+		if (y[i] <= yval[j]) {
+			d = (x[i] - xpeak) - xval[j];
+			sum += d*d;
+			++j;
+			if (j >= nxval) return sum;
+		}
+	}
+	return 1e9;
+}
+static double yfitness(void* vv) {
+	int nx, ny, nyval, nxval, i, j;
+	double sum, d, xpeak, *y, *x, *yval, *xval;
+	ny = vector_instance_px(vv, &y);
+	nx = vector_arg_px(1, &x);
+	if (nx != ny) { hoc_execerror("vectors not same size", 0); }
+	xpeak = *getarg(2);
+	nyval = vector_arg_px(3, &yval);
+	nxval = vector_arg_px(4, &xval);
+	j = 0;
+	sum = 0.;
+	for (i = 0; i < nx; ++i) {
+		if (x[i] - xpeak >= xval[j]) {
+			d = y[i] - yval[j];
+			sum += d*d;
+			++j;
+			if (j >= nxval) return sum;
+		}
+	}
+	return 1e9;
+}
+
+
+static double firstpeak(void* vv) {
+	int ny, i;
+	double *y;
+	ny = vector_instance_px(vv, &y) - 1;
+	i = 0;
+	while (i < ny) {
+		if (y[i] >= -20) {
+			if (y[i] > y[i+1]) {
+				return (double) i;
+			}
+			i = i + 1;
+		} else {
+			i = i + 2;
+		}
+	}
+	return 0.;
+}
+ 
+static int  install_vector_fitness (  ) {
+   
+/*VERBATIM*/
+  {static int once; if (!once) { once = 1;
+	install_vector_method("width", width);
+	install_vector_method("xfitness", xfitness);
+	install_vector_method("yfitness", yfitness);
+	install_vector_method("firstpeak", firstpeak);
+  }}
+  return 0; }
+ 
+static void _hoc_install_vector_fitness(void) {
+  double _r;
+   _r = 1.;
+ install_vector_fitness (  );
+ hoc_retpushx(_r);
+}
+
+static void initmodel() {
+  int _i; double _save;_ninits++;
+{
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel();
+}}
+
+static double _nrn_current(double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists() {
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/hh.c
@@ -0,0 +1,884 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__hh
+#define _nrn_initial _nrn_initial__hh
+#define nrn_cur _nrn_cur__hh
+#define _nrn_current _nrn_current__hh
+#define nrn_jacob _nrn_jacob__hh
+#define nrn_state _nrn_state__hh
+#define _net_receive _net_receive__hh 
+#define _f_rates _f_rates__hh 
+#define rates rates__hh 
+#define states states__hh 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define gnabar _p[0]
+#define gnabar_columnindex 0
+#define gkbar _p[1]
+#define gkbar_columnindex 1
+#define gl _p[2]
+#define gl_columnindex 2
+#define el _p[3]
+#define el_columnindex 3
+#define gna _p[4]
+#define gna_columnindex 4
+#define gk _p[5]
+#define gk_columnindex 5
+#define il _p[6]
+#define il_columnindex 6
+#define m _p[7]
+#define m_columnindex 7
+#define h _p[8]
+#define h_columnindex 8
+#define n _p[9]
+#define n_columnindex 9
+#define Dm _p[10]
+#define Dm_columnindex 10
+#define Dh _p[11]
+#define Dh_columnindex 11
+#define Dn _p[12]
+#define Dn_columnindex 12
+#define ena _p[13]
+#define ena_columnindex 13
+#define ek _p[14]
+#define ek_columnindex 14
+#define ina _p[15]
+#define ina_columnindex 15
+#define ik _p[16]
+#define ik_columnindex 16
+#define v _p[17]
+#define v_columnindex 17
+#define _g _p[18]
+#define _g_columnindex 18
+#define _ion_ena	*_ppvar[0]._pval
+#define _ion_ina	*_ppvar[1]._pval
+#define _ion_dinadv	*_ppvar[2]._pval
+#define _ion_ek	*_ppvar[3]._pval
+#define _ion_ik	*_ppvar[4]._pval
+#define _ion_dikdv	*_ppvar[5]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ extern double celsius;
+ /* declaration of user functions */
+ static void _hoc_rates(void);
+ static void _hoc_vtrap(void);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata() {
+ Prop *_prop, *hoc_getdata_range(int);
+ _prop = hoc_getdata_range(_mechtype);
+   _setdata(_prop);
+ hoc_retpushx(1.);
+}
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ "setdata_hh", _hoc_setdata,
+ "rates_hh", _hoc_rates,
+ "vtrap_hh", _hoc_vtrap,
+ 0, 0
+};
+#define vtrap vtrap_hh
+ extern double vtrap( _threadargsprotocomma_ double , double );
+ 
+static void _check_rates(double*, Datum*, Datum*, NrnThread*); 
+static void _check_table_thread(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, int _type) {
+   _check_rates(_p, _ppvar, _thread, _nt);
+ }
+ /* declare global and static user variables */
+ static int _thread1data_inuse = 0;
+static double _thread1data[6];
+#define _gth 0
+#define htau_hh _thread1data[0]
+#define htau _thread[_gth]._pval[0]
+#define hinf_hh _thread1data[1]
+#define hinf _thread[_gth]._pval[1]
+#define mtau_hh _thread1data[2]
+#define mtau _thread[_gth]._pval[2]
+#define minf_hh _thread1data[3]
+#define minf _thread[_gth]._pval[3]
+#define ntau_hh _thread1data[4]
+#define ntau _thread[_gth]._pval[4]
+#define ninf_hh _thread1data[5]
+#define ninf _thread[_gth]._pval[5]
+#define usetable usetable_hh
+ double usetable = 1;
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "gl_hh", 0, 1e+09,
+ "gkbar_hh", 0, 1e+09,
+ "gnabar_hh", 0, 1e+09,
+ "usetable_hh", 0, 1,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "mtau_hh", "ms",
+ "htau_hh", "ms",
+ "ntau_hh", "ms",
+ "gnabar_hh", "S/cm2",
+ "gkbar_hh", "S/cm2",
+ "gl_hh", "S/cm2",
+ "el_hh", "mV",
+ "gna_hh", "S/cm2",
+ "gk_hh", "S/cm2",
+ "il_hh", "mA/cm2",
+ 0,0
+};
+ static double delta_t = 0.01;
+ static double h0 = 0;
+ static double m0 = 0;
+ static double n0 = 0;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ "minf_hh", &minf_hh,
+ "hinf_hh", &hinf_hh,
+ "ninf_hh", &ninf_hh,
+ "mtau_hh", &mtau_hh,
+ "htau_hh", &htau_hh,
+ "ntau_hh", &ntau_hh,
+ "usetable_hh", &usetable_hh,
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ 
+static int _ode_count(int);
+static void _ode_map(int, double**, double**, double*, Datum*, double*, int);
+static void _ode_spec(NrnThread*, _Memb_list*, int);
+static void _ode_matsol(NrnThread*, _Memb_list*, int);
+ 
+#define _cvode_ieq _ppvar[6]._i
+ static void _ode_matsol_instance1(_threadargsproto_);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"hh",
+ "gnabar_hh",
+ "gkbar_hh",
+ "gl_hh",
+ "el_hh",
+ 0,
+ "gna_hh",
+ "gk_hh",
+ "il_hh",
+ 0,
+ "m_hh",
+ "h_hh",
+ "n_hh",
+ 0,
+ 0};
+ static Symbol* _na_sym;
+ static Symbol* _k_sym;
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+ 	_p = nrn_prop_data_alloc(_mechtype, 19, _prop);
+ 	/*initialize range parameters*/
+ 	gnabar = 0.12;
+ 	gkbar = 0.036;
+ 	gl = 0.0003;
+ 	el = -54.3;
+ 	_prop->param = _p;
+ 	_prop->param_size = 19;
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 7, _prop);
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ prop_ion = need_memb(_na_sym);
+ nrn_promote(prop_ion, 0, 1);
+ 	_ppvar[0]._pval = &prop_ion->param[0]; /* ena */
+ 	_ppvar[1]._pval = &prop_ion->param[3]; /* ina */
+ 	_ppvar[2]._pval = &prop_ion->param[4]; /* _ion_dinadv */
+ prop_ion = need_memb(_k_sym);
+ nrn_promote(prop_ion, 0, 1);
+ 	_ppvar[3]._pval = &prop_ion->param[0]; /* ek */
+ 	_ppvar[4]._pval = &prop_ion->param[3]; /* ik */
+ 	_ppvar[5]._pval = &prop_ion->param[4]; /* _ion_dikdv */
+ 
+}
+ static void _initlists();
+  /* some states have an absolute tolerance */
+ static Symbol** _atollist;
+ static HocStateTolerance _hoc_state_tol[] = {
+ 0,0
+};
+ static void _thread_mem_init(Datum*);
+ static void _thread_cleanup(Datum*);
+ static void _update_ion_pointer(Datum*);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _hh_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	ion_reg("na", -10000.);
+ 	ion_reg("k", -10000.);
+ 	_na_sym = hoc_lookup("na_ion");
+ 	_k_sym = hoc_lookup("k_ion");
+ 	register_mech(_mechanism, nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init, hoc_nrnpointerindex, 2);
+  _extcall_thread = (Datum*)ecalloc(1, sizeof(Datum));
+  _thread_mem_init(_extcall_thread);
+  _thread1data_inuse = 0;
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+     _nrn_thread_reg(_mechtype, 1, _thread_mem_init);
+     _nrn_thread_reg(_mechtype, 0, _thread_cleanup);
+     _nrn_thread_reg(_mechtype, 2, _update_ion_pointer);
+     _nrn_thread_table_reg(_mechtype, _check_table_thread);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 19, 7);
+  hoc_register_dparam_semantics(_mechtype, 0, "na_ion");
+  hoc_register_dparam_semantics(_mechtype, 1, "na_ion");
+  hoc_register_dparam_semantics(_mechtype, 2, "na_ion");
+  hoc_register_dparam_semantics(_mechtype, 3, "k_ion");
+  hoc_register_dparam_semantics(_mechtype, 4, "k_ion");
+  hoc_register_dparam_semantics(_mechtype, 5, "k_ion");
+  hoc_register_dparam_semantics(_mechtype, 6, "cvodeieq");
+ 	hoc_register_cvode(_mechtype, _ode_count, _ode_map, _ode_spec, _ode_matsol);
+ 	hoc_register_tolerance(_mechtype, _hoc_state_tol, &_atollist);
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 hh /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+ static double *_t_minf;
+ static double *_t_mtau;
+ static double *_t_hinf;
+ static double *_t_htau;
+ static double *_t_ninf;
+ static double *_t_ntau;
+static int _reset;
+static char *modelname = "hh.mod   squid sodium, potassium, and leak channels";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int _f_rates(_threadargsprotocomma_ double);
+static int rates(_threadargsprotocomma_ double);
+ 
+static int _ode_spec1(_threadargsproto_);
+/*static int _ode_matsol1(_threadargsproto_);*/
+ static void _n_rates(_threadargsprotocomma_ double _lv);
+ static int _slist1[3], _dlist1[3];
+ static int states(_threadargsproto_);
+ 
+/*CVODE*/
+ static int _ode_spec1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {int _reset = 0; {
+   rates ( _threadargscomma_ v ) ;
+   Dm = ( minf - m ) / mtau ;
+   Dh = ( hinf - h ) / htau ;
+   Dn = ( ninf - n ) / ntau ;
+   }
+ return _reset;
+}
+ static int _ode_matsol1 (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+ rates ( _threadargscomma_ v ) ;
+ Dm = Dm  / (1. - dt*( ( ( ( - 1.0 ) ) ) / mtau )) ;
+ Dh = Dh  / (1. - dt*( ( ( ( - 1.0 ) ) ) / htau )) ;
+ Dn = Dn  / (1. - dt*( ( ( ( - 1.0 ) ) ) / ntau )) ;
+  return 0;
+}
+ /*END CVODE*/
+ static int states (double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) { {
+   rates ( _threadargscomma_ v ) ;
+    m = m + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / mtau)))*(- ( ( ( minf ) ) / mtau ) / ( ( ( ( - 1.0 ) ) ) / mtau ) - m) ;
+    h = h + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / htau)))*(- ( ( ( hinf ) ) / htau ) / ( ( ( ( - 1.0 ) ) ) / htau ) - h) ;
+    n = n + (1. - exp(dt*(( ( ( - 1.0 ) ) ) / ntau)))*(- ( ( ( ninf ) ) / ntau ) / ( ( ( ( - 1.0 ) ) ) / ntau ) - n) ;
+   }
+  return 0;
+}
+ static double _mfac_rates, _tmin_rates;
+  static void _check_rates(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  static int _maktable=1; int _i, _j, _ix = 0;
+  double _xi, _tmax;
+  static double _sav_celsius;
+  if (!usetable) {return;}
+  if (_sav_celsius != celsius) { _maktable = 1;}
+  if (_maktable) { double _x, _dx; _maktable=0;
+   _tmin_rates =  - 100.0 ;
+   _tmax =  100.0 ;
+   _dx = (_tmax - _tmin_rates)/200.; _mfac_rates = 1./_dx;
+   for (_i=0, _x=_tmin_rates; _i < 201; _x += _dx, _i++) {
+    _f_rates(_p, _ppvar, _thread, _nt, _x);
+    _t_minf[_i] = minf;
+    _t_mtau[_i] = mtau;
+    _t_hinf[_i] = hinf;
+    _t_htau[_i] = htau;
+    _t_ninf[_i] = ninf;
+    _t_ntau[_i] = ntau;
+   }
+   _sav_celsius = celsius;
+  }
+ }
+
+ static int rates(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _lv) { 
+#if 0
+_check_rates(_p, _ppvar, _thread, _nt);
+#endif
+ _n_rates(_p, _ppvar, _thread, _nt, _lv);
+ return 0;
+ }
+
+ static void _n_rates(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _lv){ int _i, _j;
+ double _xi, _theta;
+ if (!usetable) {
+ _f_rates(_p, _ppvar, _thread, _nt, _lv); return; 
+}
+ _xi = _mfac_rates * (_lv - _tmin_rates);
+ if (isnan(_xi)) {
+  minf = _xi;
+  mtau = _xi;
+  hinf = _xi;
+  htau = _xi;
+  ninf = _xi;
+  ntau = _xi;
+  return;
+ }
+ if (_xi <= 0.) {
+ minf = _t_minf[0];
+ mtau = _t_mtau[0];
+ hinf = _t_hinf[0];
+ htau = _t_htau[0];
+ ninf = _t_ninf[0];
+ ntau = _t_ntau[0];
+ return; }
+ if (_xi >= 200.) {
+ minf = _t_minf[200];
+ mtau = _t_mtau[200];
+ hinf = _t_hinf[200];
+ htau = _t_htau[200];
+ ninf = _t_ninf[200];
+ ntau = _t_ntau[200];
+ return; }
+ _i = (int) _xi;
+ _theta = _xi - (double)_i;
+ minf = _t_minf[_i] + _theta*(_t_minf[_i+1] - _t_minf[_i]);
+ mtau = _t_mtau[_i] + _theta*(_t_mtau[_i+1] - _t_mtau[_i]);
+ hinf = _t_hinf[_i] + _theta*(_t_hinf[_i+1] - _t_hinf[_i]);
+ htau = _t_htau[_i] + _theta*(_t_htau[_i+1] - _t_htau[_i]);
+ ninf = _t_ninf[_i] + _theta*(_t_ninf[_i+1] - _t_ninf[_i]);
+ ntau = _t_ntau[_i] + _theta*(_t_ntau[_i+1] - _t_ntau[_i]);
+ }
+
+ 
+static int  _f_rates ( _threadargsprotocomma_ double _lv ) {
+   double _lalpha , _lbeta , _lsum , _lq10 ;
+  _lq10 = pow( 3.0 , ( ( celsius - 6.3 ) / 10.0 ) ) ;
+   _lalpha = .1 * vtrap ( _threadargscomma_ - ( _lv + 40.0 ) , 10.0 ) ;
+   _lbeta = 4.0 * exp ( - ( _lv + 65.0 ) / 18.0 ) ;
+   _lsum = _lalpha + _lbeta ;
+   mtau = 1.0 / ( _lq10 * _lsum ) ;
+   minf = _lalpha / _lsum ;
+   _lalpha = .07 * exp ( - ( _lv + 65.0 ) / 20.0 ) ;
+   _lbeta = 1.0 / ( exp ( - ( _lv + 35.0 ) / 10.0 ) + 1.0 ) ;
+   _lsum = _lalpha + _lbeta ;
+   htau = 1.0 / ( _lq10 * _lsum ) ;
+   hinf = _lalpha / _lsum ;
+   _lalpha = .01 * vtrap ( _threadargscomma_ - ( _lv + 55.0 ) , 10.0 ) ;
+   _lbeta = .125 * exp ( - ( _lv + 65.0 ) / 80.0 ) ;
+   _lsum = _lalpha + _lbeta ;
+   ntau = 1.0 / ( _lq10 * _lsum ) ;
+   ninf = _lalpha / _lsum ;
+    return 0; }
+ 
+static void _hoc_rates(void) {
+  double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   if (_extcall_prop) {_p = _extcall_prop->param; _ppvar = _extcall_prop->dparam;}else{ _p = (double*)0; _ppvar = (Datum*)0; }
+  _thread = _extcall_thread;
+  _nt = nrn_threads;
+ 
+#if 1
+ _check_rates(_p, _ppvar, _thread, _nt);
+#endif
+ _r = 1.;
+ rates ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ hoc_retpushx(_r);
+}
+ 
+double vtrap ( _threadargsprotocomma_ double _lx , double _ly ) {
+   double _lvtrap;
+ if ( fabs ( _lx / _ly ) < 1e-6 ) {
+     _lvtrap = _ly * ( 1.0 - _lx / _ly / 2.0 ) ;
+     }
+   else {
+     _lvtrap = _lx / ( exp ( _lx / _ly ) - 1.0 ) ;
+     }
+   
+return _lvtrap;
+ }
+ 
+static void _hoc_vtrap(void) {
+  double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   if (_extcall_prop) {_p = _extcall_prop->param; _ppvar = _extcall_prop->dparam;}else{ _p = (double*)0; _ppvar = (Datum*)0; }
+  _thread = _extcall_thread;
+  _nt = nrn_threads;
+ _r =  vtrap ( _p, _ppvar, _thread, _nt, *getarg(1) , *getarg(2) );
+ hoc_retpushx(_r);
+}
+ 
+static int _ode_count(int _type){ return 3;}
+ 
+static void _ode_spec(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+  ena = _ion_ena;
+  ek = _ion_ek;
+     _ode_spec1 (_p, _ppvar, _thread, _nt);
+   }}
+ 
+static void _ode_map(int _ieq, double** _pv, double** _pvdot, double* _pp, Datum* _ppd, double* _atol, int _type) { 
+	double* _p; Datum* _ppvar;
+ 	int _i; _p = _pp; _ppvar = _ppd;
+	_cvode_ieq = _ieq;
+	for (_i=0; _i < 3; ++_i) {
+		_pv[_i] = _pp + _slist1[_i];  _pvdot[_i] = _pp + _dlist1[_i];
+		_cvode_abstol(_atollist, _atol, _i);
+	}
+ }
+ 
+static void _ode_matsol_instance1(_threadargsproto_) {
+ _ode_matsol1 (_p, _ppvar, _thread, _nt);
+ }
+ 
+static void _ode_matsol(NrnThread* _nt, _Memb_list* _ml, int _type) {
+   double* _p; Datum* _ppvar; Datum* _thread;
+   Node* _nd; double _v; int _iml, _cntml;
+  _cntml = _ml->_nodecount;
+  _thread = _ml->_thread;
+  for (_iml = 0; _iml < _cntml; ++_iml) {
+    _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+    _nd = _ml->_nodelist[_iml];
+    v = NODEV(_nd);
+  ena = _ion_ena;
+  ek = _ion_ek;
+ _ode_matsol_instance1(_threadargs_);
+ }}
+ 
+static void _thread_mem_init(Datum* _thread) {
+  if (_thread1data_inuse) {_thread[_gth]._pval = (double*)ecalloc(6, sizeof(double));
+ }else{
+ _thread[_gth]._pval = _thread1data; _thread1data_inuse = 1;
+ }
+ }
+ 
+static void _thread_cleanup(Datum* _thread) {
+  if (_thread[_gth]._pval == _thread1data) {
+   _thread1data_inuse = 0;
+  }else{
+   free((void*)_thread[_gth]._pval);
+  }
+ }
+ extern void nrn_update_ion_pointer(Symbol*, Datum*, int, int);
+ static void _update_ion_pointer(Datum* _ppvar) {
+   nrn_update_ion_pointer(_na_sym, _ppvar, 0, 0);
+   nrn_update_ion_pointer(_na_sym, _ppvar, 1, 3);
+   nrn_update_ion_pointer(_na_sym, _ppvar, 2, 4);
+   nrn_update_ion_pointer(_k_sym, _ppvar, 3, 0);
+   nrn_update_ion_pointer(_k_sym, _ppvar, 4, 3);
+   nrn_update_ion_pointer(_k_sym, _ppvar, 5, 4);
+ }
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+  h = h0;
+  m = m0;
+  n = n0;
+ {
+   rates ( _threadargscomma_ v ) ;
+   m = minf ;
+   h = hinf ;
+   n = ninf ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+
+#if 0
+ _check_rates(_p, _ppvar, _thread, _nt);
+#endif
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+  ena = _ion_ena;
+  ek = _ion_ek;
+ initmodel(_p, _ppvar, _thread, _nt);
+  }
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   gna = gnabar * m * m * m * h ;
+   ina = gna * ( v - ena ) ;
+   gk = gkbar * n * n * n * n ;
+   ik = gk * ( v - ek ) ;
+   il = gl * ( v - el ) ;
+   }
+ _current += ina;
+ _current += ik;
+ _current += il;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+  ena = _ion_ena;
+  ek = _ion_ek;
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ double _dik;
+ double _dina;
+  _dina = ina;
+  _dik = ik;
+ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+  _ion_dinadv += (_dina - ina)/.001 ;
+  _ion_dikdv += (_dik - ik)/.001 ;
+ 	}
+ _g = (_g - _rhs)/.001;
+  _ion_ina += ina ;
+  _ion_ik += ik ;
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) -= _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) -= _rhs;
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+  ena = _ion_ena;
+  ek = _ion_ek;
+ {   states(_p, _ppvar, _thread, _nt);
+  }  }}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+ _slist1[0] = m_columnindex;  _dlist1[0] = Dm_columnindex;
+ _slist1[1] = h_columnindex;  _dlist1[1] = Dh_columnindex;
+ _slist1[2] = n_columnindex;  _dlist1[2] = Dn_columnindex;
+   _t_minf = makevector(201*sizeof(double));
+   _t_mtau = makevector(201*sizeof(double));
+   _t_hinf = makevector(201*sizeof(double));
+   _t_htau = makevector(201*sizeof(double));
+   _t_ninf = makevector(201*sizeof(double));
+   _t_ntau = makevector(201*sizeof(double));
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/hh.mod";
+static const char* nmodl_file_text = 
+  "TITLE hh.mod   squid sodium, potassium, and leak channels\n"
+  " \n"
+  "COMMENT\n"
+  " This is the original Hodgkin-Huxley treatment for the set of sodium, \n"
+  "  potassium, and leakage channels found in the squid giant axon membrane.\n"
+  "  (\"A quantitative description of membrane current and its application \n"
+  "  conduction and excitation in nerve\" J.Physiol. (Lond.) 117:500-544 (1952).)\n"
+  " Membrane voltage is in absolute mV and has been reversed in polarity\n"
+  "  from the original HH convention and shifted to reflect a resting potential\n"
+  "  of -65 mV.\n"
+  " Remember to set a squid-appropriate temperature\n"
+  " (e.g. in HOC: \"celsius=6.3\" or in Python: \"h.celsius=6.3\").\n"
+  " See squid.hoc for an example of a simulation using this model.\n"
+  " SW Jaslove  6 March, 1992\n"
+  "ENDCOMMENT\n"
+  " \n"
+  "UNITS {\n"
+  "        (mA) = (milliamp)\n"
+  "        (mV) = (millivolt)\n"
+  "	(S) = (siemens)\n"
+  "}\n"
+  "\n"
+  "? interface\n"
+  "NEURON {\n"
+  "        SUFFIX hh\n"
+  "        REPRESENTS NCIT:C17145   : sodium channel\n"
+  "        REPRESENTS NCIT:C17008   : potassium channel\n"
+  "        USEION na READ ena WRITE ina REPRESENTS CHEBI:29101\n"
+  "        USEION k READ ek WRITE ik REPRESENTS CHEBI:29103\n"
+  "        NONSPECIFIC_CURRENT il\n"
+  "        RANGE gnabar, gkbar, gl, el, gna, gk\n"
+  "        : `GLOBAL minf` will be replaced with `RANGE minf` if CoreNEURON enabled\n"
+  "        GLOBAL minf, hinf, ninf, mtau, htau, ntau\n"
+  "	THREADSAFE : assigned GLOBALs will be per thread\n"
+  "}\n"
+  " \n"
+  "PARAMETER {\n"
+  "        gnabar = .12 (S/cm2)	<0,1e9>\n"
+  "        gkbar = .036 (S/cm2)	<0,1e9>\n"
+  "        gl = .0003 (S/cm2)	<0,1e9>\n"
+  "        el = -54.3 (mV)\n"
+  "}\n"
+  " \n"
+  "STATE {\n"
+  "        m h n\n"
+  "}\n"
+  " \n"
+  "ASSIGNED {\n"
+  "        v (mV)\n"
+  "        celsius (degC)\n"
+  "        ena (mV)\n"
+  "        ek (mV)\n"
+  "\n"
+  "	gna (S/cm2)\n"
+  "	gk (S/cm2)\n"
+  "        ina (mA/cm2)\n"
+  "        ik (mA/cm2)\n"
+  "        il (mA/cm2)\n"
+  "        minf hinf ninf\n"
+  "	mtau (ms) htau (ms) ntau (ms)\n"
+  "}\n"
+  " \n"
+  "? currents\n"
+  "BREAKPOINT {\n"
+  "        SOLVE states METHOD cnexp\n"
+  "        gna = gnabar*m*m*m*h\n"
+  "	ina = gna*(v - ena)\n"
+  "        gk = gkbar*n*n*n*n\n"
+  "	ik = gk*(v - ek)      \n"
+  "        il = gl*(v - el)\n"
+  "}\n"
+  " \n"
+  " \n"
+  "INITIAL {\n"
+  "	rates(v)\n"
+  "	m = minf\n"
+  "	h = hinf\n"
+  "	n = ninf\n"
+  "}\n"
+  "\n"
+  "? states\n"
+  "DERIVATIVE states {  \n"
+  "        rates(v)\n"
+  "        m' =  (minf-m)/mtau\n"
+  "        h' = (hinf-h)/htau\n"
+  "        n' = (ninf-n)/ntau\n"
+  "}\n"
+  " \n"
+  ":LOCAL q10\n"
+  "\n"
+  "\n"
+  "? rates\n"
+  "PROCEDURE rates(v(mV)) {  :Computes rate and other constants at current v.\n"
+  "                      :Call once from HOC to initialize inf at resting v.\n"
+  "        LOCAL  alpha, beta, sum, q10\n"
+  "        : `TABLE minf` will be replaced with `:TABLE minf` if CoreNEURON enabled)\n"
+  "        TABLE minf, mtau, hinf, htau, ninf, ntau DEPEND celsius FROM -100 TO 100 WITH 200\n"
+  "\n"
+  "UNITSOFF\n"
+  "        q10 = 3^((celsius - 6.3)/10)\n"
+  "                :\"m\" sodium activation system\n"
+  "        alpha = .1 * vtrap(-(v+40),10)\n"
+  "        beta =  4 * exp(-(v+65)/18)\n"
+  "        sum = alpha + beta\n"
+  "	mtau = 1/(q10*sum)\n"
+  "        minf = alpha/sum\n"
+  "                :\"h\" sodium inactivation system\n"
+  "        alpha = .07 * exp(-(v+65)/20)\n"
+  "        beta = 1 / (exp(-(v+35)/10) + 1)\n"
+  "        sum = alpha + beta\n"
+  "	htau = 1/(q10*sum)\n"
+  "        hinf = alpha/sum\n"
+  "                :\"n\" potassium activation system\n"
+  "        alpha = .01*vtrap(-(v+55),10) \n"
+  "        beta = .125*exp(-(v+65)/80)\n"
+  "	sum = alpha + beta\n"
+  "        ntau = 1/(q10*sum)\n"
+  "        ninf = alpha/sum\n"
+  "}\n"
+  " \n"
+  "FUNCTION vtrap(x,y) {  :Traps for 0 in denominator of rate eqns.\n"
+  "        if (fabs(x/y) < 1e-6) {\n"
+  "                vtrap = y*(1 - x/y/2)\n"
+  "        }else{\n"
+  "                vtrap = x/(exp(x/y) - 1)\n"
+  "        }\n"
+  "}\n"
+  " \n"
+  "UNITSON\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/intfire1.c
@@ -0,0 +1,411 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__IntFire1
+#define _nrn_initial _nrn_initial__IntFire1
+#define nrn_cur _nrn_cur__IntFire1
+#define _nrn_current _nrn_current__IntFire1
+#define nrn_jacob _nrn_jacob__IntFire1
+#define nrn_state _nrn_state__IntFire1
+#define _net_receive _net_receive__IntFire1 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define tau _p[0]
+#define tau_columnindex 0
+#define refrac _p[1]
+#define refrac_columnindex 1
+#define m _p[2]
+#define m_columnindex 2
+#define t0 _p[3]
+#define t0_columnindex 3
+#define refractory _p[4]
+#define refractory_columnindex 4
+#define v _p[5]
+#define v_columnindex 5
+#define _tsav _p[6]
+#define _tsav_columnindex 6
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_M(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "M", _hoc_M,
+ 0, 0
+};
+#define M M_IntFire1
+ extern double M( _threadargsproto_ );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "tau", "ms",
+ "refrac", "ms",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"IntFire1",
+ "tau",
+ "refrac",
+ 0,
+ "m",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 7, _prop);
+ 	/*initialize range parameters*/
+ 	tau = 10;
+ 	refrac = 5;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 7;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 3, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ 
+#define _tqitem &(_ppvar[2]._pvoid)
+ static void _net_receive(Point_process*, double*, double);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _intfire1_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 7, 3);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "netsend");
+ add_nrn_artcell(_mechtype, 2);
+ add_nrn_has_net_event(_mechtype);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 IntFire1 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+ 
+double M ( _threadargsproto_ ) {
+   double _lM;
+ if ( refractory  == 0.0 ) {
+     _lM = m * exp ( - ( t - t0 ) / tau ) ;
+     }
+   else if ( refractory  == 1.0 ) {
+     if ( t - t0 < .5 ) {
+       _lM = 2.0 ;
+       }
+     else {
+       _lM = - 1.0 ;
+       }
+     }
+   
+return _lM;
+ }
+ 
+static double _hoc_M(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  M ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t;   if (_lflag == 1. ) {*(_tqitem) = 0;}
+ {
+   if ( refractory  == 0.0 ) {
+     m = m * exp ( - ( t - t0 ) / tau ) ;
+     t0 = t ;
+     m = m + _args[0] ;
+     if ( m > 1.0 ) {
+       refractory = 1.0 ;
+       m = 2.0 ;
+       artcell_net_send ( _tqitem, _args, _pnt, t +  refrac , refractory ) ;
+       net_event ( _pnt, t ) ;
+       }
+     }
+   else if ( _lflag  == 1.0 ) {
+     t0 = t ;
+     refractory = 0.0 ;
+     m = 0.0 ;
+     }
+   } }
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   m = 0.0 ;
+   t0 = t ;
+   refractory = 0.0 ;
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire1.mod";
+static const char* nmodl_file_text = 
+  "NEURON {\n"
+  "	: ARTIFICIAL_CELL means\n"
+  "	: that this model not only has a NET_RECEIVE block and does NOT\n"
+  "	: have a BREAKPOINT but is not associated with a\n"
+  "	: section location or numerical integrator. i.e it does not\n"
+  "	: refer to v or any ions or have a POINTER. It is entirely isolated\n"
+  "	: and depends on discrete events from the outside to affect it and\n"
+  "	: affects the outside only by sending discrete events.\n"
+  "	ARTIFICIAL_CELL IntFire1\n"
+  "	RANGE tau, refrac, m\n"
+  "	: m plays the role of voltage\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	tau = 10 (ms)\n"
+  "	refrac = 5 (ms)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	m\n"
+  "	t0(ms)\n"
+  "	refractory\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	m = 0\n"
+  "	t0 = t\n"
+  "	refractory = 0 : 0-integrates input, 1-refractory\n"
+  "}\n"
+  "\n"
+  "FUNCTION M() {\n"
+  "	if (refractory == 0) {\n"
+  "		M = m*exp(-(t - t0)/tau)\n"
+  "	}else if (refractory == 1) {\n"
+  "		if (t - t0 < .5) {\n"
+  "			M = 2\n"
+  "		}else{\n"
+  "			M = -1\n"
+  "		}\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE (w) {\n"
+  "	if (refractory == 0) { : inputs integrated only when excitable\n"
+  "		m = m*exp(-(t - t0)/tau)\n"
+  "		t0 = t\n"
+  "		m = m + w\n"
+  "		if (m > 1) {\n"
+  "			refractory = 1\n"
+  "			m = 2\n"
+  "			net_send(refrac, refractory)\n"
+  "			net_event(t)\n"
+  "		}\n"
+  "	}else if (flag == 1) { : ready to integrate again\n"
+  "		t0 = t\n"
+  "		refractory = 0\n"
+  "		m = 0\n"
+  "	}\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/intfire2.c
@@ -0,0 +1,659 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__IntFire2
+#define _nrn_initial _nrn_initial__IntFire2
+#define nrn_cur _nrn_cur__IntFire2
+#define _nrn_current _nrn_current__IntFire2
+#define nrn_jacob _nrn_jacob__IntFire2
+#define nrn_state _nrn_state__IntFire2
+#define _net_receive _net_receive__IntFire2 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define taus _p[0]
+#define taus_columnindex 0
+#define taum _p[1]
+#define taum_columnindex 1
+#define ib _p[2]
+#define ib_columnindex 2
+#define i _p[3]
+#define i_columnindex 3
+#define m _p[4]
+#define m_columnindex 4
+#define t0 _p[5]
+#define t0_columnindex 5
+#define v _p[6]
+#define v_columnindex 6
+#define _tsav _p[7]
+#define _tsav_columnindex 7
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_I(void*);
+ static double _hoc_M(void*);
+ static double _hoc_firetime(void*);
+ static double _hoc_newton1(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "I", _hoc_I,
+ "M", _hoc_M,
+ "firetime", _hoc_firetime,
+ "newton1", _hoc_newton1,
+ 0, 0
+};
+#define I I_IntFire2
+#define M M_IntFire2
+#define firetime firetime_IntFire2
+#define newton1 newton1_IntFire2
+ extern double I( _threadargsproto_ );
+ extern double M( _threadargsproto_ );
+ extern double firetime( _threadargsprotocomma_ double , double , double );
+ extern double newton1( _threadargsprotocomma_ double , double , double , double , double );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "taus", "ms",
+ "taum", "ms",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"IntFire2",
+ "taus",
+ "taum",
+ "ib",
+ 0,
+ "i",
+ "m",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 8, _prop);
+ 	/*initialize range parameters*/
+ 	taus = 20;
+ 	taum = 10;
+ 	ib = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 8;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 3, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ 
+#define _tqitem &(_ppvar[2]._pvoid)
+ static void _net_receive(Point_process*, double*, double);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _intfire2_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 8, 3);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "netsend");
+ add_nrn_artcell(_mechtype, 2);
+ add_nrn_has_net_event(_mechtype);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 IntFire2 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+ 
+double M ( _threadargsproto_ ) {
+   double _lM;
+ double _lx , _lf ;
+ _lf = taus / ( taus - taum ) ;
+   _lx = ( i - ib ) * exp ( - ( t - t0 ) / taus ) ;
+   _lM = ib + _lf * _lx + ( m - ( ib + ( i - ib ) * _lf ) ) * exp ( - ( t - t0 ) / taum ) ;
+   
+return _lM;
+ }
+ 
+static double _hoc_M(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  M ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+double I ( _threadargsproto_ ) {
+   double _lI;
+ double _lx , _lf ;
+ _lf = taus / ( taus - taum ) ;
+   _lx = ( i - ib ) * exp ( - ( t - t0 ) / taus ) ;
+   _lI = _lx + ib ;
+   
+return _lI;
+ }
+ 
+static double _hoc_I(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  I ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t;   if (_lflag == 1. ) {*(_tqitem) = 0;}
+ {
+   double _lx , _linew , _lf , _libf ;
+ _lf = taus / ( taus - taum ) ;
+   _lx = ( i - ib ) * exp ( - ( t - t0 ) / taus ) ;
+   _linew = ib + _lx ;
+   if ( _lflag  == 1.0 ) {
+     net_event ( _pnt, t ) ;
+     m = 0.0 ;
+     _libf = ( _linew - ib ) * _lf ;
+     artcell_net_send ( _tqitem, _args, _pnt, t +  firetime ( _threadargscomma_ ib , _libf , 0.0 ) , 1.0 ) ;
+     }
+   else {
+     m = ib + _lf * _lx + ( m - ( ib + ( i - ib ) * _lf ) ) * exp ( - ( t - t0 ) / taum ) ;
+     _linew = _linew + _args[0] ;
+     if ( m >= 1.0 ) {
+       artcell_net_move ( _tqitem, _pnt, t ) ;
+       }
+     else {
+       _libf = ( _linew - ib ) * _lf ;
+       artcell_net_move ( _tqitem, _pnt, firetime ( _threadargscomma_ ib , _libf , m ) + t ) ;
+       }
+     }
+   t0 = t ;
+   i = _linew ;
+   } }
+ 
+double firetime ( _threadargsprotocomma_ double _la , double _lb , double _lc ) {
+   double _lfiretime;
+ double _lr , _lcab , _lx , _lm , _lf ;
+ _lr = taum / taus ;
+   if ( _la <= 1.0  && _la + _lb <= 1.0 ) {
+     _lfiretime = 1e9 ;
+     }
+   else if ( _la > 1.0  && _lb <= 0.0 ) {
+     _lcab = _lc - _la - _lb ;
+     _lm = _lr * _lb + _lcab ;
+     if ( _lm >= 0.0 ) {
+       _lfiretime = - taus * log ( newton1 ( _threadargscomma_ _la , _lcab , _lb , 1.0 / _lr , 0.0 ) ) ;
+       }
+     else {
+       _lx = ( 1.0 - _lc + _lm ) / _lm ;
+       if ( _lx <= 0.0 ) {
+         _lfiretime = - taus * log ( newton1 ( _threadargscomma_ _la , _lcab , _lb , 1.0 / _lr , 0.0 ) ) ;
+         }
+       else {
+         _lfiretime = - taum * log ( newton1 ( _threadargscomma_ _la , _lb , _lcab , _lr , _lx ) ) ;
+         }
+       }
+     }
+   else {
+     _lcab = _lc - _la - _lb ;
+     _lx = pow( ( - _lcab / ( _lr * _lb ) ) , ( 1.0 / ( _lr - 1.0 ) ) ) ;
+     _lf = _la + _lb * pow( _lx , _lr ) + _lcab * _lx ;
+     if ( _lx >= 1.0  || _lf <= 1.0 ) {
+       _lfiretime = 1e9 ;
+       }
+     else {
+       _lm = _lr * _lb + _lcab ;
+       _lx = ( 1.0 - _lc + _lm ) / _lm ;
+       _lfiretime = - taum * log ( newton1 ( _threadargscomma_ _la , _lb , _lcab , _lr , _lx ) ) ;
+       }
+     }
+   
+return _lfiretime;
+ }
+ 
+static double _hoc_firetime(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  firetime ( _p, _ppvar, _thread, _nt, *getarg(1) , *getarg(2) , *getarg(3) );
+ return(_r);
+}
+ 
+double newton1 ( _threadargsprotocomma_ double _la , double _lb , double _lc , double _lr , double _lx ) {
+   double _lnewton1;
+ double _ldx , _lf , _ldf , _liter , _lxm ;
+ _ldx = 1.0 ;
+   _lf = 0.0 ;
+   _liter = 0.0 ;
+   while ( fabs ( _ldx ) > 1e-6  || fabs ( _lf - 1.0 ) > 1e-6 ) {
+     _lf = _la + _lb * pow( _lx , _lr ) + _lc * _lx ;
+     _ldf = _lr * _lb * pow( _lx , ( _lr - 1.0 ) ) + _lc ;
+     _ldx = ( 1.0 - _lf ) / _ldf ;
+     _lx = _lx + _ldx ;
+     if ( _lx <= 0.0 ) {
+       _lx = 1e-4 ;
+       }
+     else if ( _lx > 1.0 ) {
+       _lx = 1.0 ;
+       }
+     _liter = _liter + 1.0 ;
+     if ( _liter  == 6.0  && _lr < 1.0 ) {
+       _lxm = pow( ( - _lc / ( _lr * _lb ) ) , ( 1.0 / ( _lr - 1.0 ) ) ) ;
+       }
+     if ( _liter > 5.0 ) {
+       }
+     if ( _liter > 10.0 ) {
+       printf ( "Intfire2 iter %g x=%g f=%g df=%g dx=%g a=%g b=%g c=%g r=%g\n" , _liter , _lx , _lf , _ldf , _ldx , _la , _lb , _lc , _lr ) ;
+       _lf = 1.0 ;
+       _ldx = 0.0 ;
+       }
+     }
+   _lnewton1 = _lx ;
+   
+return _lnewton1;
+ }
+ 
+static double _hoc_newton1(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  newton1 ( _p, _ppvar, _thread, _nt, *getarg(1) , *getarg(2) , *getarg(3) , *getarg(4) , *getarg(5) );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   i = ib ;
+   m = 0.0 ;
+   if ( taus <= taum ) {
+     taus = taum + .1 ;
+     }
+   t0 = t ;
+   artcell_net_send ( _tqitem, (double*)0, _ppvar[1]._pvoid, t +  firetime ( _threadargscomma_ ib , 0.0 , 0.0 ) , 1.0 ) ;
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire2.mod";
+static const char* nmodl_file_text = 
+  ": total current is ib + weighted events that decay with time constant taus\n"
+  ": total current is integrated and when passes 1, then fire\n"
+  ": i.e. taus * di/dt + i = ib  where if event occurs at time t1 then\n"
+  ":  i(t1) += w\n"
+  ": and taum*dm/dt + m = i where fire if m crosses 1 in a positive direction\n"
+  ": and after firing, m = 0.\n"
+  ": Require, taum < taus, ie synaptic current longer than membrane time constant.\n"
+  "\n"
+  "NEURON {\n"
+  "	ARTIFICIAL_CELL IntFire2\n"
+  "	RANGE taus, taum, ib, i, m\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	taus = 20 (ms)\n"
+  "	taum = 10 (ms)\n"
+  "	ib = 0\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	i  m\n"
+  "	t0 (ms)\n"
+  "}\n"
+  "\n"
+  "FUNCTION M() {\n"
+  "	LOCAL x, f	\n"
+  "	f = taus/(taus - taum)\n"
+  "	x = (i - ib)*exp(-(t - t0)/taus)\n"
+  "	M = ib + f*x + (m - (ib + (i - ib)*f))*exp(-(t - t0)/taum)\n"
+  "}\n"
+  "\n"
+  "FUNCTION I() {\n"
+  "	LOCAL x, f\n"
+  "	f = taus/(taus - taum)\n"
+  "	x = (i - ib)*exp(-(t - t0)/taus)\n"
+  "	I = x + ib\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	i = ib\n"
+  "	m = 0\n"
+  "	if (taus <= taum) {\n"
+  "		taus = taum + .1\n"
+  "	}\n"
+  "	t0 = t\n"
+  "	net_send(firetime(ib, 0, 0), 1)\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE (w) {\n"
+  "	LOCAL x, inew, f, ibf\n"
+  "	f = taus/(taus - taum)\n"
+  "	x = (i - ib)*exp(-(t - t0)/taus)\n"
+  "	inew = ib + x\n"
+  "	\n"
+  "	if (flag == 1) { : time to fire\n"
+  ":printf(\"now firing t=%g inew=%g\\n\", t, inew)\n"
+  "		net_event(t)\n"
+  "		m = 0\n"
+  "		ibf = (inew - ib)*f\n"
+  "		net_send(firetime(ib, ibf,  0), 1)\n"
+  "	}else{\n"
+  "		m = ib + f*x + (m - (ib + (i - ib)*f))*exp(-(t - t0)/taum)\n"
+  ":printf(\"event w=%g i=%g m=%g\\n\", w, inew, m)\n"
+  "		inew = inew + w\n"
+  "		if (m >= 1) {\n"
+  "			net_move(t) : the time to fire is now\n"
+  "		}else{\n"
+  "			ibf = (inew - ib)*f\n"
+  "			net_move(firetime(ib, ibf, m) + t)\n"
+  "		}\n"
+  "	}\n"
+  "	t0 = t\n"
+  "	i = inew\n"
+  "}\n"
+  "\n"
+  "FUNCTION firetime(a, b, c) (ms) {\n"
+  "	: find 1 = a + b*exp(-t/taus) + (c - a - b)*exp(-t/taum)\n"
+  "	: assert c < 1  taum < taus\n"
+  "	LOCAL r, cab, x, m, f\n"
+  "\n"
+  "	r = taum/taus\n"
+  "\n"
+  "	: for numerical convenience when b is not too negative solve\n"
+  "	: 1 = a + b*x^r + (c - a - b)*x where 0<x<1\n"
+  "	: starting at x = 1\n"
+  "	: if the slope at 1 points out of the domain ( b is too negative)\n"
+  "	: then switch to solving 1 = a + b*x + (c - a - b)*x^(1/r)\n"
+  "\n"
+  "	if (a <= 1 && a + b <= 1) {\n"
+  "		firetime = 1e9\n"
+  "	}else if (a > 1 && b <= 0) {\n"
+  "		: must be one solution in the domain since a > 1\n"
+  "		: find starting point\n"
+  "		cab = c - a - b\n"
+  "		m = r*b + cab : slope at x=1\n"
+  "		if (m >= 0) {\n"
+  "			: switch to alternative\n"
+  "			firetime = -taus * log(newton1(a,cab,b,1/r,0))\n"
+  "		}else{\n"
+  "			:intercept at f=1  note: value at x=1 is c\n"
+  "			x = (1 - c + m)/m\n"
+  "			if (x <= 0) {\n"
+  "				:switch to alternative\n"
+  "				firetime = -taus*log(newton1(a,cab,b,1/r,0))\n"
+  "			}else{\n"
+  "				: newton starting at x\n"
+  "				firetime = -taum*log(newton1(a,b,cab,r,x))\n"
+  "			}\n"
+  "		}\n"
+  "	}else{\n"
+  "		: if a solution exists then newtons method starting from\n"
+  "		: x=1 will converge to the proper one.\n"
+  "		: a solution does not exist if f(tm) <= 1\n"
+  "		cab = c - a - b\n"
+  "		: max at\n"
+  "		x = (-cab/(r*b))^(1/(r-1))\n"
+  "		f = a + b*x^r + cab*x\n"
+  ":printf(\"max at x=%g val=%g\\n\", x, f)\n"
+  "		: believe it or not, there are cases where the max is\n"
+  "		: located at x > 1. e.g. a=0, b=1.1, c=.9, r=.5\n"
+  "		: so both parts of the test are essential\n"
+  "		if (x >= 1 || f <= 1) {\n"
+  "			firetime = 1e9\n"
+  "		}else{\n"
+  "			m = r*b + cab\n"
+  "			x = (1 - c + m)/m\n"
+  "			firetime = -taum*log(newton1(a,b,cab,r,x))\n"
+  "		}\n"
+  "	}\n"
+  ":printf(\"firetime=%g\\n\", firetime)\n"
+  "}\n"
+  "\n"
+  "FUNCTION newton1(a,b,c,r,x) {\n"
+  "	: solve 1 = a + b*x^r + c*x starting from x\n"
+  "	: derivative is r*b*x^(r-1) + c\n"
+  "	: must stay in domain 0 < x <= 1\n"
+  "	LOCAL dx, f, df, iter, xm\n"
+  "	dx = 1\n"
+  "	f = 0\n"
+  "	iter = 0\n"
+  ":printf(\"newton a=%g b=%g c=%g r=%g x=%g\\n\", a, b, c, r, x)\n"
+  "	while( fabs(dx) > 1e-6 || fabs(f - 1) > 1e-6) {\n"
+  "		f = a + b*x^r + c*x\n"
+  "		df = r*b*x^(r-1) + c\n"
+  "		dx = (1 - f)/df\n"
+  ":printf(\"newton x=%g f=%g df=%g dx=%g\\n\", x, f, df, dx)\n"
+  "		x = x + dx\n"
+  "		if (x <= 0) {\n"
+  "			x = 1e-4\n"
+  "		}else if (x > 1) {\n"
+  "			x = 1\n"
+  "		}\n"
+  "		iter = iter + 1\n"
+  "		if (iter == 6 && r < 1) {\n"
+  "			xm = (-c/(r*b))^(1/(r-1))\n"
+  ":printf(\"max at x=%g val=%g\\n\", xm, (a + b*xm^r + c*xm))\n"
+  "		}\n"
+  "		if (iter >5) {\n"
+  ":printf(\"Intfire2 iter %g x=%g f=%g df=%g dx=%g a=%g b=%g c=%g r=%g\\n\",\n"
+  ":iter, x, f, df, dx, a, b, c, r)\n"
+  "		}\n"
+  "		if (iter > 10) {\n"
+  "printf(\"Intfire2 iter %g x=%g f=%g df=%g dx=%g a=%g b=%g c=%g r=%g\\n\",\n"
+  "iter, x, f, df, dx, a, b, c, r)\n"
+  "			f=1 dx=0\n"
+  "		}\n"
+  "	}\n"
+  "	newton1 = x\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/intfire4.c
@@ -0,0 +1,1153 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__IntFire4
+#define _nrn_initial _nrn_initial__IntFire4
+#define nrn_cur _nrn_cur__IntFire4
+#define _nrn_current _nrn_current__IntFire4
+#define nrn_jacob _nrn_jacob__IntFire4
+#define nrn_state _nrn_state__IntFire4
+#define _net_receive _net_receive__IntFire4 
+#define factors factors__IntFire4 
+#define fixprecondition fixprecondition__IntFire4 
+#define newstates newstates__IntFire4 
+#define update update__IntFire4 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define taue _p[0]
+#define taue_columnindex 0
+#define taui1 _p[1]
+#define taui1_columnindex 1
+#define taui2 _p[2]
+#define taui2_columnindex 2
+#define taum _p[3]
+#define taum_columnindex 3
+#define e _p[4]
+#define e_columnindex 4
+#define i1 _p[5]
+#define i1_columnindex 5
+#define i2 _p[6]
+#define i2_columnindex 6
+#define m _p[7]
+#define m_columnindex 7
+#define nself _p[8]
+#define nself_columnindex 8
+#define nexcite _p[9]
+#define nexcite_columnindex 9
+#define ninhibit _p[10]
+#define ninhibit_columnindex 10
+#define ae _p[11]
+#define ae_columnindex 11
+#define ai1 _p[12]
+#define ai1_columnindex 12
+#define ai2 _p[13]
+#define ai2_columnindex 13
+#define enew _p[14]
+#define enew_columnindex 14
+#define i1new _p[15]
+#define i1new_columnindex 15
+#define i2new _p[16]
+#define i2new_columnindex 16
+#define mnew _p[17]
+#define mnew_columnindex 17
+#define t0 _p[18]
+#define t0_columnindex 18
+#define ke _p[19]
+#define ke_columnindex 19
+#define ki1 _p[20]
+#define ki1_columnindex 20
+#define ki2 _p[21]
+#define ki2_columnindex 21
+#define km _p[22]
+#define km_columnindex 22
+#define be _p[23]
+#define be_columnindex 23
+#define bi1 _p[24]
+#define bi1_columnindex 24
+#define bi2 _p[25]
+#define bi2_columnindex 25
+#define a _p[26]
+#define a_columnindex 26
+#define b _p[27]
+#define b_columnindex 27
+#define tau_swap _p[28]
+#define tau_swap_columnindex 28
+#define flag _p[29]
+#define flag_columnindex 29
+#define v _p[30]
+#define v_columnindex 30
+#define _tsav _p[31]
+#define _tsav_columnindex 31
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_E(void*);
+ static double _hoc_I(void*);
+ static double _hoc_M(void*);
+ static double _hoc_deriv(void*);
+ static double _hoc_firetimebound(void*);
+ static double _hoc_factors(void*);
+ static double _hoc_fixprecondition(void*);
+ static double _hoc_newstates(void*);
+ static double _hoc_search(void*);
+ static double _hoc_update(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "E", _hoc_E,
+ "I", _hoc_I,
+ "M", _hoc_M,
+ "deriv", _hoc_deriv,
+ "firetimebound", _hoc_firetimebound,
+ "factors", _hoc_factors,
+ "fixprecondition", _hoc_fixprecondition,
+ "newstates", _hoc_newstates,
+ "search", _hoc_search,
+ "update", _hoc_update,
+ 0, 0
+};
+#define E E_IntFire4
+#define I I_IntFire4
+#define M M_IntFire4
+#define deriv deriv_IntFire4
+#define firetimebound firetimebound_IntFire4
+#define search search_IntFire4
+ extern double E( _threadargsproto_ );
+ extern double I( _threadargsproto_ );
+ extern double M( _threadargsproto_ );
+ extern double deriv( _threadargsprotocomma_ double );
+ extern double firetimebound( _threadargsproto_ );
+ extern double search( _threadargsproto_ );
+ /* declare global and static user variables */
+#define eps eps_IntFire4
+ double eps = 1e-06;
+#define ib ib_IntFire4
+ double ib = 0;
+#define taueps taueps_IntFire4
+ double taueps = 0.01;
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "eps_IntFire4", 1e-09, 0.01,
+ "taueps_IntFire4", 1e-09, 1e+09,
+ "taum", 0, 1e+09,
+ "taui2", 0, 1e+09,
+ "taui1", 0, 1e+09,
+ "taue", 0, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "eps_IntFire4", "1e-9",
+ "taueps_IntFire4", "1e-9",
+ "taue", "ms",
+ "taui1", "ms",
+ "taui2", "ms",
+ "taum", "ms",
+ "ae", "1/ms",
+ "ai1", "1/ms",
+ "ai2", "1/ms",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ "ib_IntFire4", &ib_IntFire4,
+ "eps_IntFire4", &eps_IntFire4,
+ "taueps_IntFire4", &taueps_IntFire4,
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"IntFire4",
+ "taue",
+ "taui1",
+ "taui2",
+ "taum",
+ 0,
+ "e",
+ "i1",
+ "i2",
+ "m",
+ "nself",
+ "nexcite",
+ "ninhibit",
+ "ae",
+ "ai1",
+ "ai2",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 32, _prop);
+ 	/*initialize range parameters*/
+ 	taue = 5;
+ 	taui1 = 10;
+ 	taui2 = 20;
+ 	taum = 50;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 32;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 3, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ 
+#define _tqitem &(_ppvar[2]._pvoid)
+ static void _net_receive(Point_process*, double*, double);
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _intfire4_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 32, 3);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "netsend");
+ add_nrn_artcell(_mechtype, 2);
+ add_nrn_has_net_event(_mechtype);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 IntFire4 /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int factors(_threadargsproto_);
+static int fixprecondition(_threadargsproto_);
+static int newstates(_threadargsprotocomma_ double);
+static int update(_threadargsproto_);
+ 
+static int  newstates ( _threadargsprotocomma_ double _ld ) {
+   double _lee , _lei1 , _lei2 , _lem ;
+ _lee = exp ( - ke * _ld ) ;
+   _lei1 = exp ( - ki1 * _ld ) ;
+   _lei2 = exp ( - ki2 * _ld ) ;
+   _lem = exp ( - km * _ld ) ;
+   enew = e * _lee ;
+   i1new = i1 * _lei1 ;
+   i2new = i2 * _lei2 + bi1 * i1 * ( _lei2 - _lei1 ) ;
+   mnew = m * _lem + be * e * ( _lem - _lee ) + ( bi2 * i2 + a * i1 ) * ( _lem - _lei2 ) - b * i1 * ( _lem - _lei1 ) ;
+    return 0; }
+ 
+static double _hoc_newstates(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ newstates ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+ 
+double M ( _threadargsproto_ ) {
+   double _lM;
+ newstates ( _threadargscomma_ t - t0 ) ;
+   _lM = mnew ;
+   
+return _lM;
+ }
+ 
+static double _hoc_M(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  M ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+double E ( _threadargsproto_ ) {
+   double _lE;
+ newstates ( _threadargscomma_ t - t0 ) ;
+   _lE = ae * enew ;
+   
+return _lE;
+ }
+ 
+static double _hoc_E(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  E ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+double I ( _threadargsproto_ ) {
+   double _lI;
+ newstates ( _threadargscomma_ t - t0 ) ;
+   _lI = ai2 * i2new ;
+   
+return _lI;
+ }
+ 
+static double _hoc_I(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  I ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  update ( _threadargsproto_ ) {
+   e = enew ;
+   i1 = i1new ;
+   i2 = i2new ;
+   m = mnew ;
+   t0 = t ;
+    return 0; }
+ 
+static double _hoc_update(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ update ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  fixprecondition ( _threadargsproto_ ) {
+   if ( taui2 < 4.0 * taueps ) {
+     taui2 = 4.0 * taueps ;
+     }
+   if ( taui1 < 3.0 * taueps ) {
+     taui1 = 3.0 * taueps ;
+     }
+   if ( taue < 2.0 * taueps ) {
+     taue = 2.0 * taueps ;
+     }
+   if ( taue > taui2 ) {
+     tau_swap = taue ;
+     taue = taui2 - taueps ;
+     printf ( "Warning: Adjusted taue from %g  to %g  to ensure taue < taui2\n" , tau_swap , taue ) ;
+     }
+   else if ( taui2 - taue < taueps ) {
+     taue = taui2 - taueps ;
+     }
+   if ( taui1 > taui2 ) {
+     tau_swap = taui2 ;
+     taui2 = taui1 ;
+     taui1 = tau_swap ;
+     printf ( "Warning: Swapped taui1 and taui2\n" ) ;
+     }
+   if ( taui2 - taui1 < taueps ) {
+     taui1 = taui2 - taueps ;
+     }
+   if ( taum <= taui2 ) {
+     if ( taui2 - taum < taueps ) {
+       taum = taui2 - taueps ;
+       }
+     if ( fabs ( taui1 - taum ) < taueps ) {
+       taum = taui1 - taueps ;
+       }
+     if ( fabs ( taui1 - taum ) < taueps ) {
+       if ( taui1 - taum < 0.0 ) {
+         taum = taui1 - taueps ;
+         }
+       else {
+         taui1 = taum - taueps ;
+         }
+       }
+     if ( fabs ( taue - taum ) < taueps ) {
+       if ( taue - taum < 0.0 ) {
+         taum = taue - taueps ;
+         }
+       else {
+         taue = taum - taueps ;
+         }
+       }
+     if ( fabs ( taui1 - taum ) < taueps ) {
+       taum = taui1 - taueps ;
+       }
+     }
+   else if ( taum - taui2 < taueps ) {
+     taum = taui2 + taueps ;
+     }
+    return 0; }
+ 
+static double _hoc_fixprecondition(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ fixprecondition ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  factors ( _threadargsproto_ ) {
+   double _ltp ;
+ ke = 1.0 / taue ;
+   ki1 = 1.0 / taui1 ;
+   ki2 = 1.0 / taui2 ;
+   km = 1.0 / taum ;
+   _ltp = log ( km / ke ) / ( km - ke ) ;
+   be = 1.0 / ( exp ( - km * _ltp ) - exp ( - ke * _ltp ) ) ;
+   ae = be * ( ke - km ) ;
+   _ltp = log ( ki2 / ki1 ) / ( ki2 - ki1 ) ;
+   bi1 = 1.0 / ( exp ( - ki2 * _ltp ) - exp ( - ki1 * _ltp ) ) ;
+   ai1 = bi1 * ( ki1 - ki2 ) ;
+   e = 0.0 ;
+   i1 = 1.0 ;
+   i2 = 0.0 ;
+   m = 0.0 ;
+   bi2 = 1.0 ;
+   ai2 = bi2 * ( ki2 - km ) ;
+   a = bi2 * bi1 ;
+   b = a * ( ki2 - km ) / ( ki1 - km ) ;
+   _ltp = search ( _threadargs_ ) ;
+   newstates ( _threadargscomma_ _ltp ) ;
+   bi2 = 1.0 / mnew ;
+   ai2 = bi2 * ( ki2 - km ) ;
+   a = bi2 * bi1 ;
+   b = a * ( ki2 - km ) / ( ki1 - km ) ;
+   newstates ( _threadargscomma_ _ltp ) ;
+   i1 = 0.0 ;
+    return 0; }
+ 
+static double _hoc_factors(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ factors ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+double deriv ( _threadargsprotocomma_ double _ld ) {
+   double _lderiv;
+ _lderiv = ( - km * exp ( - _ld * km ) + ki2 * exp ( - _ld * ki2 ) ) / ( ki2 - km ) - ( ( - km * exp ( - _ld * km ) + ki1 * exp ( - _ld * ki1 ) ) ) / ( ki1 - km ) ;
+   
+return _lderiv;
+ }
+ 
+static double _hoc_deriv(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  deriv ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+ 
+double search ( _threadargsproto_ ) {
+   double _lsearch;
+ double _lx , _lt1 , _lt2 ;
+ _lt1 = 1.0 ;
+   flag = 0.0 ;
+   if ( deriv ( _threadargscomma_ _lt1 ) < 0.0 ) {
+     while ( deriv ( _threadargscomma_ _lt1 ) < 0.0  && _lt1 > 1e-9 ) {
+       _lt2 = _lt1 ;
+       _lt1 = _lt1 / 10.0 ;
+       }
+     if ( deriv ( _threadargscomma_ _lt1 ) < 0.0 ) {
+       printf ( "Error wrong deriv(t1): t1=%g deriv(t1)=%g\n" , _lt1 , deriv ( _threadargscomma_ _lt1 ) ) ;
+       flag = 1.0 ;
+       _lsearch = 1e-9 ;
+       }
+     }
+   else {
+     _lt2 = _lt1 ;
+     while ( deriv ( _threadargscomma_ _lt2 ) > 0.0  && _lt2 < 1e9 ) {
+       _lt1 = _lt2 ;
+       _lt2 = _lt2 * 10.0 ;
+       }
+     if ( deriv ( _threadargscomma_ _lt2 ) > 0.0 ) {
+       printf ( "Error wrong deriv(t2): t2=%g deriv(t2)=%g\n" , _lt2 , deriv ( _threadargscomma_ _lt2 ) ) ;
+       flag = 1.0 ;
+       _lsearch = 1e9 ;
+       }
+     }
+   while ( _lt2 - _lt1 > 1e-6  && flag  == 0.0 ) {
+     _lsearch = ( _lt1 + _lt2 ) / 2.0 ;
+     _lx = deriv ( _threadargscomma_ _lsearch ) ;
+     if ( _lx > 0.0 ) {
+       _lt1 = _lsearch ;
+       }
+     else {
+       _lt2 = _lsearch ;
+       }
+     }
+   
+return _lsearch;
+ }
+ 
+static double _hoc_search(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  search ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t;   if (_lflag == 1. ) {*(_tqitem) = 0;}
+ {
+   newstates ( _threadargscomma_ t - t0 ) ;
+   update ( _threadargs_ ) ;
+   if ( m > 1.0 - eps ) {
+     net_event ( _pnt, t ) ;
+     m = 0.0 ;
+     }
+   if ( _lflag  == 1.0 ) {
+     nself = nself + 1.0 ;
+     artcell_net_send ( _tqitem, _args, _pnt, t +  firetimebound ( _threadargs_ ) , 1.0 ) ;
+     }
+   else {
+     if ( _args[0] > 0.0 ) {
+       nexcite = nexcite + 1.0 ;
+       e = e + _args[0] ;
+       }
+     else {
+       ninhibit = ninhibit + 1.0 ;
+       i1 = i1 + _args[0] ;
+       }
+     artcell_net_move ( _tqitem, _pnt, firetimebound ( _threadargs_ ) + t ) ;
+     }
+   } }
+ 
+double firetimebound ( _threadargsproto_ ) {
+   double _lfiretimebound;
+ double _lslope ;
+ _lslope = - km * m + ae * e + ai2 * i2 ;
+   if ( _lslope <= 1e-9 ) {
+     _lfiretimebound = 1e9 ;
+     }
+   else {
+     _lfiretimebound = ( 1.0 - m ) / _lslope ;
+     }
+   
+return _lfiretimebound;
+ }
+ 
+static double _hoc_firetimebound(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  firetimebound ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   fixprecondition ( _threadargs_ ) ;
+   factors ( _threadargs_ ) ;
+   e = 0.0 ;
+   i1 = 0.0 ;
+   i2 = 0.0 ;
+   m = 0.0 ;
+   t0 = t ;
+   artcell_net_send ( _tqitem, (double*)0, _ppvar[1]._pvoid, t +  firetimebound ( _threadargs_ ) , 1.0 ) ;
+   nself = 0.0 ;
+   nexcite = 0.0 ;
+   ninhibit = 0.0 ;
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/intfire4.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "Authors:    Original (taum > taui2 > taui1 > taue)   :   M. Hines and N.T. Carnevale\n"
+  "            Improved (taui2 > taue and taui2 > taui1):   R.A.J. van Elburg\n"
+  "\n"
+  "Artificial cell with fast exponential decay excitatory current and\n"
+  "slower alpha function like inhibitory current and arbitrary membrane time constant.\n"
+  "Fires when membrane state = 1. On firing, only the membrane state returns to 0\n"
+  "\n"
+  "Although the four states, e, i1, i2, m are available, plotting will be\n"
+  "more pleasing if one uses the function E, I, and M\n"
+  "\n"
+  "Fast excitatory current, E(t), has single exponential decay with time constant, taue.\n"
+  "\n"
+  "Slower inhibitory current, I2(t), is alpha function like and has two time contants,\n"
+  "taui1 and  taui2.\n"
+  "\n"
+  "The leaky integrator membrane has time constant taum.\n"
+  "The total current is the input to this integrator.\n"
+  "\n"
+  "Cell fires when state m passes 1\n"
+  "and after firing, m = 0.\n"
+  "\n"
+  "Require  taui2 > taue and  taui2 > taui1\n"
+  "or in other words ki1 > ki2 and ke > ki2 \n"
+  "\n"
+  "States are normalized so that an excitatory weight of 1 produces\n"
+  "a maximum e of 1 and a maximum m of 1\n"
+  "Also an inhibitory weight of -1 produces a maximum i2 of -1\n"
+  "and a maximum m of -1.\n"
+  "\n"
+  "Basic equations:\n"
+  " dE(t)/dt  = -ke*E(t)\n"
+  " dI1(t)/dt = -ki1*I1(t)\n"
+  " dI2(t)/dt = -ki2*I2(t) + ai1*I1(t)\n"
+  " dM(t)/dt  = -km*M(t) + ae*E(t) + ai2*I2(t)\n"
+  "\n"
+  "The initial conditions are e, i1, i2, and m\n"
+  "\n"
+  "The analytic solution is\n"
+  "\n"
+  "E(t) = e*exp(-ke*t)\n"
+  "I1(t) = i1*exp(-ki1*t)\n"
+  "I2(t) = i2*exp(-ki2*t) + bi1*i1*(exp(-ki2*t) - exp(-ki1*t))\n"
+  "M(t) = m * exp(-km*t)\n"
+  "	+ be*e*(exp(-km*t) - exp(-ke*t))\n"
+  "	+ bi2*i2*(exp(-km*t) - exp(-ki2*t))\n"
+  "	+ bi2*bi1*i1 * (exp(-km*t) - exp(-ki2*t))\n"
+  "	- bi2*bi1*i1*(ki2 - km)/(ki1 - km)*(exp(-km*t) - exp(-ki1*t))\n"
+  "\n"
+  "The derivation of a lower bound on the first passage time based on Newton \n"
+  "iteration is possible if we assume that taue<=taui2, i.e. that the \n"
+  "inhibition outlasts excitation. The validity of the Newton iteration for setting \n"
+  "a lower bound on threshold passage time follows from a physical analysis of the \n"
+  "different contributing currents. The parameters taui1 are involved in controlling \n"
+  "the time course of the growth of the inhibitory current. Therefore the taui1\n"
+  "associated current contributes to a growth of inhibition and can be ignored when trying to find a \n"
+  "lower bound for the threshold passage time because it contributes only to its delay. \n"
+  "The other contributions to the membrane potential change are the \n"
+  "leak current associated with the membrane time constant taum and the \n"
+  "exponentially decaying (parts) of the synaptic currents. The leak current is \n"
+  "maximal close to threshold and can therefore only grow when approaching \n"
+  "threshold. So if we use the present value in a calculation of threshold passage \n"
+  "time while we are approaching threshold we will underestimate threshold passage \n"
+  "time. The exponentially decaying (parts) of the synaptic currents consist of an \n"
+  "excitatory and an inhibitory part, if we assume taue<taui2 we can see \n"
+  "that the inhibitory parts outlast the excitatory currents and therefore if we \n"
+  "assume that m changes according to the present values of these currents we \n"
+  "underestimate threshold passage time. Because the sum of these currents is m'=\n"
+  "dm/dt and Newton iteration states that m(t)~m(t_0)+m'*(t-t_0) we find that \n"
+  "Newton iteration underestimates threshold passsage time. If the membrane \n"
+  "potential moves away from threshold toward rest, the excitatory current is \n"
+  "smaller then leak current and inhibitory currents combined, because it decays \n"
+  "faster then the inhibitory current it will also at future times not be able to \n"
+  "overcome the leak current at the present membrane potential and hence not be \n"
+  "able to rise above it and reach threshold.\n"
+  "\n"
+  "A formal proof based on analysis of the exact solution of this mechanism is possible and can be found in:\n"
+  "    R.A.J. van Elburg and A. van Ooyen, `Generalization of the event-based Carnevale-Hines integration scheme\n"
+  "for integrate-and-fire models', ..., 2008/2009.\n"
+  "and is based on a formal proof for the original version which can be found in:\n"
+  "    Carnevale, N.T.  and Hines, M.L., `The NEURON Book',Cambridge University Press,Cambridge, UK (2006).\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "NEURON {\n"
+  "	ARTIFICIAL_CELL IntFire4\n"
+  "	RANGE taue, taui1, taui2, taum, e, i1, i2, m, ae, ai2, ai1\n"
+  "	RANGE nself, nexcite, ninhibit\n"
+  "	GLOBAL eps, taueps\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	taue = 5 (ms)      <0,1e9>\n"
+  "	taui1 = 10 (ms)    <0,1e9>\n"
+  "	taui2 = 20 (ms)    <0,1e9>\n"
+  "	taum = 50 (ms)     <0,1e9>\n"
+  "	ib = 0\n"
+  "	eps = 1e-6         <1e-9,0.01>\n"
+  "	taueps = 0.01      <1e-9,1e9>\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	e i1 i2 m\n"
+  "	enew i1new i2new mnew\n"
+  "	t0 (ms)\n"
+  "	nself nexcite ninhibit\n"
+  "\n"
+  "	ke (1/ms) ki1 (1/ms) ki2 (1/ms) km (1/ms)\n"
+  "	ae (1/ms) ai1 (1/ms) ai2 (1/ms)\n"
+  "	be bi1 bi2\n"
+  "	a b\n"
+  "	tau_swap (ms)\n"
+  "	flag (1)\n"
+  "}\n"
+  "\n"
+  "PROCEDURE newstates(d(ms)) {\n"
+  "	LOCAL ee, ei1, ei2, em\n"
+  "	\n"
+  "	ee = exp(-ke*d)\n"
+  "	ei1 = exp(-ki1*d)\n"
+  "	ei2= exp(-ki2*d)\n"
+  "	em = exp(-km*d)\n"
+  "	enew = e*ee\n"
+  "	i1new = i1*ei1\n"
+  "	i2new = i2*ei2 + bi1*i1*(ei2 - ei1)\n"
+  "	mnew = m*em\n"
+  "		+ be*e*(em - ee)\n"
+  "		+ (bi2*i2 + a*i1)*(em - ei2)\n"
+  "		- b*i1*(em - ei1)\n"
+  "}\n"
+  "\n"
+  "FUNCTION M() {\n"
+  "	newstates(t - t0)\n"
+  "	M = mnew\n"
+  "}\n"
+  "\n"
+  "FUNCTION E() {\n"
+  "	newstates(t - t0)\n"
+  "	E = ae*enew\n"
+  "}\n"
+  "\n"
+  "FUNCTION I() {\n"
+  "	newstates(t - t0)\n"
+  "	I = ai2*i2new\n"
+  "}\n"
+  "\n"
+  "PROCEDURE update() {\n"
+  "	e = enew\n"
+  "	i1 = i1new\n"
+  "	i2 = i2new\n"
+  "	m = mnew\n"
+  "	t0 = t\n"
+  "}\n"
+  "\n"
+  "PROCEDURE fixprecondition() {\n"
+  "    \n"
+  "	: and force assertion for correctness of algorithm\n"
+  "	: Preconditions:\n"
+  "    : taue  < taui2 \n"
+  "    : taui1 < taui2\n"
+  "    : To avoid division by zero errors, the need for alpha function [x*exp(-x)] \n"
+  "    : solutions  and poor convergence we also impose\n"
+  "    : fabs(taux-tauy) >= taueps\n"
+  "    \n"
+  "    : The checks on the preconditions can lead to 3 consecutive shifts in taum \n"
+  "    : and a smaller number of shifts in the other parameters to prevent this \n"
+  "    : shift from bringing taum at or below zero we need to ensure \n"
+  "    : that we keep sufficient distance from zero.\n"
+  "    if(taui2 < 4*taueps){\n"
+  "        taui2=4*taueps\n"
+  "    }\n"
+  "    if(taui1 < 3*taueps){\n"
+  "        taui1=3*taueps\n"
+  "    }\n"
+  "    \n"
+  "    if(taue < 2*taueps){\n"
+  "        taue=2*taueps\n"
+  "    }\n"
+  "    \n"
+  "    : taue  < taui2  \n"
+  "    if (taue > taui2) { \n"
+  "        tau_swap=taue\n"
+  "        taue = taui2 - taueps \n"
+  "        printf(\"Warning: Adjusted taue from %g  to %g  to ensure taue < taui2\\n\",tau_swap,taue)        \n"
+  "    } else if (taui2-taue < taueps){\n"
+  "        taue = taui2 - taueps \n"
+  "    }\n"
+  "\n"
+  "    : taui1 < taui2, after this taui2 is fixed\n"
+  "	if (taui1 > taui2) {\n"
+  "        tau_swap=taui2\n"
+  "        taui2=taui1\n"
+  "        taui1=tau_swap\n"
+  "        printf(\"Warning: Swapped taui1 and taui2\\n\")   \n"
+  "    }   \n"
+  "    \n"
+  "    : Avoid division by zero errors and poor convergence and impose\n"
+  "    : fabs(taux-tauy) >= taueps\n"
+  "    if (taui2-taui1 < taueps){          :  taui1 < taui2 --> taui2-taui1 is positive\n"
+  "        taui1 = taui2 - taueps \n"
+  "    }\n"
+  "\n"
+  "    if (taum <= taui2) {\n"
+  "        if (taui2 -taum < taueps){      :  (taum <= taui2) --> taui2 -taum is positive definite\n"
+  "            taum=taui2-taueps\n"
+  "        }\n"
+  "    \n"
+  "        if (fabs(taui1 -taum) < taueps){\n"
+  "            taum=taui1-taueps\n"
+  "        }\n"
+  "    \n"
+  "        if (fabs(taui1 -taum) < taueps){\n"
+  "            if(taui1 -taum < 0){\n"
+  "                taum=taui1-taueps\n"
+  "            } else{\n"
+  "                taui1=taum-taueps\n"
+  "            }\n"
+  "        }\n"
+  "    \n"
+  "        if (fabs(taue -taum) < taueps){\n"
+  "            if(taue -taum < 0){\n"
+  "                taum=taue-taueps\n"
+  "            } else{\n"
+  "                taue=taum-taueps\n"
+  "            }\n"
+  "        }\n"
+  "    \n"
+  "        if (fabs(taui1 -taum) < taueps){\n"
+  "            taum=taui1-taueps\n"
+  "        }\n"
+  "    \n"
+  "    } else if (taum-taui2 < taueps){    :  (taum > taui2) --> taum -taui2 is positive \n"
+  "        taum=taui2+taueps\n"
+  "    }\n"
+  "}\n"
+  "\n"
+  "PROCEDURE factors() {\n"
+  "	LOCAL tp\n"
+  "    \n"
+  "	ke=1/taue  ki1=1/taui1  ki2=1/taui2  km=1/taum\n"
+  "\n"
+  "	: normalize so the peak magnitude of m is 1 when single e of 1\n"
+  "	tp = log(km/ke)/(km - ke)\n"
+  "	be = 1/(exp(-km*tp) - exp(-ke*tp))\n"
+  "	ae = be*(ke - km)\n"
+  "        :printf(\"INITIAL be=%g tp=%g \\n\", be, tp)\n"
+  "	\n"
+  "    : normalize so the peak magnitude of i2 is 1 when single i of 1\n"
+  "	tp = log(ki2/ki1)/(ki2 - ki1)\n"
+  "	bi1 = 1/(exp(-ki2*tp) - exp(-ki1*tp))\n"
+  "	ai1 = bi1*(ki1 - ki2)\n"
+  "    :printf(\"INITIAL bi1=%g tp=%g \\n\", bi1, tp)\n"
+  "	\n"
+  "    : normalize so the peak magnitude of m is 1 when single i of 1\n"
+  "	: first set up enough so we can use newstates()\n"
+  "	e = 0\n"
+  "	i1 = 1\n"
+  "	i2 = 0\n"
+  "	m = 0\n"
+  "	bi2 = 1\n"
+  "	ai2 = bi2*(ki2 - km)\n"
+  "	a = bi2*bi1\n"
+  "	b = a*(ki2 - km)/(ki1 - km)\n"
+  "	\n"
+  "    :find the 0 of dm/dt\n"
+  "	tp = search()\n"
+  "	\n"
+  "    : now compute normalization factor and reset constants that depend on it\n"
+  "	newstates(tp)\n"
+  "	bi2 = 1/mnew\n"
+  "	ai2 = bi2*(ki2 - km)\n"
+  "	a = bi2*bi1\n"
+  "	b = a*(ki2 - km)/(ki1 - km)\n"
+  "	\n"
+  "	: now newstates(tp) should set mnew=1\n"
+  "	newstates(tp)\n"
+  "    :printf(\"INITIAL bi2=%g tp=%g mnew=%g\\n\", bi2, tp, mnew)\n"
+  "	i1 = 0\n"
+  "}\n"
+  "\n"
+  "FUNCTION deriv(d(ms)) (/ms2) { : proportional, not exact derivative but sign true (provided ki1 > ki2)\n"
+  "    deriv= ( - km *exp( - d*km ) + ki2*exp( - d*ki2))/(ki2 - km) -(( - km*exp( - d*km) + ki1*exp( - d*ki1)))/(ki1 - km )\n"
+  "}\n"
+  "\n"
+  "FUNCTION search() (ms) {\n"
+  "	LOCAL x, t1, t2\n"
+  "	: should only do this when tau's change\n"
+  "	\n"
+  "    : exponential search for two initial t values for the chord search one factor\n"
+  "    : of 10 separated, with the low value t1 before (deriv(t1) < 0) and the high\n"
+  "    : value t2 after (deriv(t2) > 0) the extremal reached by m due to an isolated\n"
+  "    : i1 current. For this calculation the i1 current is taken to be depolarizing\n"
+  "    : and therefore the extremum is actually a maximum. During the simulation i1 is \n"
+  "    : constrained to be hyperpolarizing and then the extremum will be a minimum \n"
+  "    : occuring at the same location.\n"
+  "	t1=1\n"
+  "	flag=0\n"
+  "    if(deriv(t1) < 0  ){\n"
+  "        while ( deriv(t1) < 0 && t1>1e-9 ){\n"
+  "            t2=t1\n"
+  "            t1=t1/10\n"
+  "        }\n"
+  "        if (deriv(t1) < 0) { \n"
+  "    		printf(\"Error wrong deriv(t1): t1=%g deriv(t1)=%g\\n\", t1, deriv(t1))\n"
+  "    		flag=1\n"
+  "            search = 1e-9\n"
+  "    	}\n"
+  "    }else{\n"
+  "        t2=t1\n"
+  "        while (deriv(t2) > 0 && t2<1e9 ){\n"
+  "            t1=t2\n"
+  "            t2=t2*10\n"
+  "        }\n"
+  "    	if (deriv(t2) > 0) { \n"
+  "    		printf(\"Error wrong deriv(t2): t2=%g deriv(t2)=%g\\n\", t2, deriv(t2))\n"
+  "    		flag=1\n"
+  "    		search = 1e9\n"
+  "    	}\n"
+  "    }\n"
+  "    : printf(\"search  t1=%g x1=%g t2=%g x2=%g\\n\", t1, deriv(t1), t2, deriv(t2))\n"
+  "    \n"
+  "    \n"
+  "    : chord search for the  maximum in m(t) \n"
+  "    while (t2 - t1 > 1e-6 && flag==0) {\n"
+  "		search = (t1+t2)/2\n"
+  "		x = deriv(search)\n"
+  "		if (x > 0) {\n"
+  "			t1 = search\n"
+  "		}else{\n"
+  "			t2 = search\n"
+  "		}\n"
+  "        :printf(\"search  t1=%g x1=%g t2=%g x2=%g\\n\", t1, deriv(t1), t2, deriv(t2))\n"
+  "	}			\n"
+  "}\n"
+  "\n"
+  "\n"
+  "INITIAL {\n"
+  "    \n"
+  "	fixprecondition()\n"
+  "	factors()\n"
+  "	e = 0\n"
+  "	i1 = 0\n"
+  "	i2 = 0\n"
+  "	m = 0\n"
+  "	t0 = t\n"
+  "	net_send(firetimebound(), 1)\n"
+  "\n"
+  "	nself=0\n"
+  "	nexcite=0\n"
+  "	ninhibit=0\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE (w) {\n"
+  "	newstates(t-t0)\n"
+  "	update()	\n"
+  "    :printf(\"event %g t=%g e=%g i1=%g i2=%g m=%g\\n\", flag, t, e, i1, i2, m)\n"
+  "	if (m > 1-eps) { : time to fire\n"
+  "        :printf(\"fire\\n\")\n"
+  "		net_event(t)\n"
+  "		m = 0\n"
+  "	}\n"
+  "	if (flag == 1) { :self event\n"
+  "		nself = nself + 1\n"
+  "		net_send(firetimebound(), 1)\n"
+  "	}else{\n"
+  "		if (w > 0) {\n"
+  "			nexcite = nexcite + 1\n"
+  "			e = e + w\n"
+  "		}else{\n"
+  "			ninhibit = ninhibit + 1\n"
+  "			i1 = i1 + w\n"
+  "		}\n"
+  "        :printf(\"w=%g e=%g i1=%g\\n\", w, e, i1)\n"
+  "		net_move(firetimebound() + t)\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "FUNCTION firetimebound() (ms) {\n"
+  "	LOCAL slope\n"
+  "	slope = -km*m + ae*e + ai2*i2\n"
+  "	if (slope <= 1e-9) {\n"
+  "		firetimebound = 1e9\n"
+  "	}else{\n"
+  "		firetimebound = (1 - m)/slope\n"
+  "	}\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/netstim.c
@@ -0,0 +1,1171 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__NetStim
+#define _nrn_initial _nrn_initial__NetStim
+#define nrn_cur _nrn_cur__NetStim
+#define _nrn_current _nrn_current__NetStim
+#define nrn_jacob _nrn_jacob__NetStim
+#define nrn_state _nrn_state__NetStim
+#define _net_receive _net_receive__NetStim 
+#define init_sequence init_sequence__NetStim 
+#define next_invl next_invl__NetStim 
+#define noiseFromRandom123 noiseFromRandom123__NetStim 
+#define noiseFromRandom noiseFromRandom__NetStim 
+#define seed seed__NetStim 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define interval _p[0]
+#define interval_columnindex 0
+#define number _p[1]
+#define number_columnindex 1
+#define start _p[2]
+#define start_columnindex 2
+#define noise _p[3]
+#define noise_columnindex 3
+#define event _p[4]
+#define event_columnindex 4
+#define on _p[5]
+#define on_columnindex 5
+#define ispike _p[6]
+#define ispike_columnindex 6
+#define v _p[7]
+#define v_columnindex 7
+#define _tsav _p[8]
+#define _tsav_columnindex 8
+#define _nd_area  *_ppvar[0]._pval
+#define donotuse	*_ppvar[2]._pval
+#define _p_donotuse	_ppvar[2]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  2;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_bbsavestate(void*);
+ static double _hoc_erand(void*);
+ static double _hoc_init_sequence(void*);
+ static double _hoc_invl(void*);
+ static double _hoc_next_invl(void*);
+ static double _hoc_noiseFromRandom123(void*);
+ static double _hoc_noiseFromRandom(void*);
+ static double _hoc_seed(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "bbsavestate", _hoc_bbsavestate,
+ "erand", _hoc_erand,
+ "init_sequence", _hoc_init_sequence,
+ "invl", _hoc_invl,
+ "next_invl", _hoc_next_invl,
+ "noiseFromRandom123", _hoc_noiseFromRandom123,
+ "noiseFromRandom", _hoc_noiseFromRandom,
+ "seed", _hoc_seed,
+ 0, 0
+};
+#define bbsavestate bbsavestate_NetStim
+#define erand erand_NetStim
+#define invl invl_NetStim
+ extern double bbsavestate( _threadargsproto_ );
+ extern double erand( _threadargsproto_ );
+ extern double invl( _threadargsprotocomma_ double );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "interval", 1e-09, 1e+09,
+ "noise", 0, 1,
+ "number", 0, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "interval", "ms",
+ "start", "ms",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ static void _destructor(Prop*);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"NetStim",
+ "interval",
+ "number",
+ "start",
+ "noise",
+ 0,
+ 0,
+ 0,
+ "donotuse",
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 9, _prop);
+ 	/*initialize range parameters*/
+ 	interval = 10;
+ 	number = 10;
+ 	start = 50;
+ 	noise = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 9;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 4, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ 
+#define _tqitem &(_ppvar[3]._pvoid)
+ static void _net_receive(Point_process*, double*, double);
+ static void bbcore_write(double*, int*, int*, int*, _threadargsproto_);
+ extern void hoc_reg_bbcore_write(int, void(*)(double*, int*, int*, int*, _threadargsproto_));
+ static void bbcore_read(double*, int*, int*, int*, _threadargsproto_);
+ extern void hoc_reg_bbcore_read(int, void(*)(double*, int*, int*, int*, _threadargsproto_));
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _netstim_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ 	register_destructor(_destructor);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+   hoc_reg_bbcore_write(_mechtype, bbcore_write);
+   hoc_reg_bbcore_read(_mechtype, bbcore_read);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 9, 4);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "bbcorepointer");
+  hoc_register_dparam_semantics(_mechtype, 3, "netsend");
+ add_nrn_artcell(_mechtype, 3);
+ add_nrn_has_net_event(_mechtype);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 NetStim /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int init_sequence(_threadargsprotocomma_ double);
+static int next_invl(_threadargsproto_);
+static int noiseFromRandom123(_threadargsproto_);
+static int noiseFromRandom(_threadargsproto_);
+static int seed(_threadargsprotocomma_ double);
+ 
+/*VERBATIM*/
+#if NRNBBCORE /* running in CoreNEURON */
+
+#define IFNEWSTYLE(arg) arg
+
+#else /* running in NEURON */
+
+/*
+   1 means noiseFromRandom was called when _ran_compat was previously 0 .
+   2 means noiseFromRandom123 was called when _ran_compat was previously 0.
+*/
+static int _ran_compat; /* specifies the noise style for all instances */
+#define IFNEWSTYLE(arg) if(_ran_compat == 2) { arg }
+
+#endif /* running in NEURON */
+ 
+static int  seed ( _threadargsprotocomma_ double _lx ) {
+   
+/*VERBATIM*/
+#if !NRNBBCORE
+ set_seed ( _lx ) ;
+   
+/*VERBATIM*/
+#endif
+  return 0; }
+ 
+static double _hoc_seed(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ seed ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+ 
+static int  init_sequence ( _threadargsprotocomma_ double _lt ) {
+   if ( number > 0.0 ) {
+     on = 1.0 ;
+     event = 0.0 ;
+     ispike = 0.0 ;
+     }
+    return 0; }
+ 
+static double _hoc_init_sequence(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ init_sequence ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+ 
+double invl ( _threadargsprotocomma_ double _lmean ) {
+   double _linvl;
+ if ( _lmean <= 0. ) {
+     _lmean = .01 ;
+     }
+   if ( noise  == 0.0 ) {
+     _linvl = _lmean ;
+     }
+   else {
+     _linvl = ( 1. - noise ) * _lmean + noise * _lmean * erand ( _threadargs_ ) ;
+     }
+   
+return _linvl;
+ }
+ 
+static double _hoc_invl(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  invl ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+ 
+double erand ( _threadargsproto_ ) {
+   double _lerand;
+ 
+/*VERBATIM*/
+	if (_p_donotuse) {
+		/*
+		:Supports separate independent but reproducible streams for
+		: each instance. However, the corresponding hoc Random
+		: distribution MUST be set to Random.negexp(1)
+		*/
+#if !NRNBBCORE
+		if (_ran_compat == 2) {
+			_lerand = nrnran123_negexp((nrnran123_State*)_p_donotuse);
+		}else{
+			_lerand = nrn_random_pick(_p_donotuse);
+		}
+#else
+		_lerand = nrnran123_negexp((nrnran123_State*)_p_donotuse);
+#endif
+		return _lerand;
+	}else{
+#if NRNBBCORE
+		assert(0);
+#else
+		/*
+		: the old standby. Cannot use if reproducible parallel sim
+		: independent of nhost or which host this instance is on
+		: is desired, since each instance on this cpu draws from
+		: the same stream
+		*/
+#endif
+	}
+#if !NRNBBCORE
+ _lerand = exprand ( 1.0 ) ;
+   
+/*VERBATIM*/
+#endif
+ 
+return _lerand;
+ }
+ 
+static double _hoc_erand(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  erand ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  noiseFromRandom ( _threadargsproto_ ) {
+   
+/*VERBATIM*/
+#if !NRNBBCORE
+ {
+	void** pv = (void**)(&_p_donotuse);
+	if (_ran_compat == 2) {
+		fprintf(stderr, "NetStim.noiseFromRandom123 was previously called\n");
+		assert(0);
+	}
+	_ran_compat = 1;
+	if (ifarg(1)) {
+		*pv = nrn_random_arg(1);
+	}else{
+		*pv = (void*)0;
+	}
+ }
+#endif
+  return 0; }
+ 
+static double _hoc_noiseFromRandom(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ noiseFromRandom ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  noiseFromRandom123 ( _threadargsproto_ ) {
+   
+/*VERBATIM*/
+#if !NRNBBCORE
+ {
+	nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+	if (_ran_compat == 1) {
+		fprintf(stderr, "NetStim.noiseFromRandom was previously called\n");
+		assert(0);
+	}
+	_ran_compat = 2;
+	if (*pv) {
+		nrnran123_deletestream(*pv);
+		*pv = (nrnran123_State*)0;
+	}
+	if (ifarg(3)) {
+		*pv = nrnran123_newstream3((uint32_t)*getarg(1), (uint32_t)*getarg(2), (uint32_t)*getarg(3));
+	}else if (ifarg(2)) {
+		*pv = nrnran123_newstream((uint32_t)*getarg(1), (uint32_t)*getarg(2));
+	}
+ }
+#endif
+  return 0; }
+ 
+static double _hoc_noiseFromRandom123(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ noiseFromRandom123 ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+/*VERBATIM*/
+static void bbcore_write(double* x, int* d, int* xx, int *offset, _threadargsproto_) {
+	if (!noise) { return; }
+	/* error if using the legacy scop_exprand */
+	if (!_p_donotuse) {
+		fprintf(stderr, "NetStim: cannot use the legacy scop_negexp generator for the random stream.\n");
+		assert(0);
+	}
+	if (d) {
+		char which;
+		uint32_t* di = ((uint32_t*)d) + *offset;
+#if !NRNBBCORE
+		if (_ran_compat == 1) {
+			void** pv = (void**)(&_p_donotuse);
+			/* error if not using Random123 generator */
+			if (!nrn_random_isran123(*pv, di, di+1, di+2)) {
+				fprintf(stderr, "NetStim: Random123 generator is required\n");
+				assert(0);
+			}
+			nrn_random123_getseq(*pv, di+3, &which);
+			di[4] = (int)which;
+		}else{
+#else
+    {
+#endif
+			nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+			nrnran123_getids3(*pv, di, di+1, di+2);
+			nrnran123_getseq(*pv, di+3, &which);
+			di[4] = (int)which;
+#if NRNBBCORE
+			/* CORENeuron does not call DESTRUCTOR so... */
+			nrnran123_deletestream(*pv);
+                        *pv = (nrnran123_State*)0;
+#endif
+		}
+		/*printf("Netstim bbcore_write %d %d %d\n", di[0], di[1], di[3]);*/
+	}
+	*offset += 5;
+}
+
+static void bbcore_read(double* x, int* d, int* xx, int* offset, _threadargsproto_) {
+	if (!noise) { return; }
+	/* Generally, CoreNEURON, in the context of psolve, begins with
+           an empty model so this call takes place in the context of a freshly
+           created instance and _p_donotuse is not NULL.
+	   However, this function
+           is also now called from NEURON at the end of coreneuron psolve
+           in order to transfer back the nrnran123 sequence state. That
+           allows continuation with a subsequent psolve within NEURON or
+           properly transfer back to CoreNEURON if we continue the psolve
+           there. So now, extra logic is needed for this call to work in
+           a NEURON context.
+        */
+
+	uint32_t* di = ((uint32_t*)d) + *offset;
+#if NRNBBCORE
+	nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+	assert(!_p_donotuse);
+	*pv = nrnran123_newstream3(di[0], di[1], di[2]);
+	nrnran123_setseq(*pv, di[3], (char)di[4]);
+#else
+	uint32_t id1, id2, id3;
+	assert(_p_donotuse);
+	if (_ran_compat == 1) { /* Hoc Random.Random123 */
+		void** pv = (void**)(&_p_donotuse);
+		int b = nrn_random_isran123(*pv, &id1, &id2, &id3);
+		assert(b);
+		nrn_random123_setseq(*pv, di[3], (char)di[4]);
+	}else{
+		assert(_ran_compat == 2);
+		nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+		nrnran123_getids3(*pv, &id1, &id2, &id3);
+		nrnran123_setseq(*pv, di[3], (char)di[4]);
+	}
+        /* Random123 on NEURON side has same ids as on CoreNEURON side */
+	assert(di[0] == id1 && di[1] == id2 && di[2] == id3);
+#endif
+	*offset += 5;
+}
+ 
+static int  next_invl ( _threadargsproto_ ) {
+   if ( number > 0.0 ) {
+     event = invl ( _threadargscomma_ interval ) ;
+     }
+   if ( ispike >= number ) {
+     on = 0.0 ;
+     }
+    return 0; }
+ 
+static double _hoc_next_invl(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ next_invl ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t;   if (_lflag == 1. ) {*(_tqitem) = 0;}
+ {
+   if ( _lflag  == 0.0 ) {
+     if ( _args[0] > 0.0  && on  == 0.0 ) {
+       init_sequence ( _threadargscomma_ t ) ;
+       next_invl ( _threadargs_ ) ;
+       event = event - interval * ( 1. - noise ) ;
+       artcell_net_send ( _tqitem, _args, _pnt, t +  event , 1.0 ) ;
+       }
+     else if ( _args[0] < 0.0 ) {
+       on = 0.0 ;
+       }
+     }
+   if ( _lflag  == 3.0 ) {
+     if ( on  == 1.0 ) {
+       init_sequence ( _threadargscomma_ t ) ;
+       artcell_net_send ( _tqitem, _args, _pnt, t +  0.0 , 1.0 ) ;
+       }
+     }
+   if ( _lflag  == 1.0  && on  == 1.0 ) {
+     ispike = ispike + 1.0 ;
+     net_event ( _pnt, t ) ;
+     next_invl ( _threadargs_ ) ;
+     if ( on  == 1.0 ) {
+       artcell_net_send ( _tqitem, _args, _pnt, t +  event , 1.0 ) ;
+       }
+     }
+   } }
+ 
+double bbsavestate ( _threadargsproto_ ) {
+   double _lbbsavestate;
+ _lbbsavestate = 0.0 ;
+   
+/*VERBATIM*/
+#if !NRNBBCORE
+  if (_ran_compat == 2) {
+    nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+    if (!*pv) { return 0.0; }
+    char which;
+    uint32_t seq;
+    double *xdir, *xval;
+    xdir = hoc_pgetarg(1);
+    if (*xdir == -1.) { *xdir = 2; return 0.0; }
+    xval = hoc_pgetarg(2);
+    if (*xdir == 0.) {
+      nrnran123_getseq(*pv, &seq, &which);
+      xval[0] = (double)seq;
+      xval[1] = (double)which;
+    }
+    if (*xdir == 1) {
+      nrnran123_setseq(*pv, (uint32_t)xval[0], (char)xval[1]);
+    }
+  } /* else do nothing */
+#endif
+ 
+return _lbbsavestate;
+ }
+ 
+static double _hoc_bbsavestate(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  bbsavestate ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static void _destructor(Prop* _prop) {
+	double* _p; Datum* _ppvar; Datum* _thread;
+	_thread = (Datum*)0;
+	_p = _prop->param; _ppvar = _prop->dparam;
+{
+ {
+   
+/*VERBATIM*/
+	if (!noise) { return; }
+	if (_p_donotuse) {
+#if NRNBBCORE
+		{ /* but note that mod2c does not translate DESTRUCTOR */
+#else
+		if (_ran_compat == 2) {
+#endif
+			nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);
+			nrnran123_deletestream(*pv);
+			*pv = (nrnran123_State*)0;
+		}
+	}
+ }
+ 
+}
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   
+/*VERBATIM*/
+	  if (_p_donotuse) {
+	    /* only this style initializes the stream on finitialize */
+	    IFNEWSTYLE(nrnran123_setseq((nrnran123_State*)_p_donotuse, 0, 0);)
+	  }
+ on = 0.0 ;
+   ispike = 0.0 ;
+   if ( noise < 0.0 ) {
+     noise = 0.0 ;
+     }
+   if ( noise > 1.0 ) {
+     noise = 1.0 ;
+     }
+   if ( start >= 0.0  && number > 0.0 ) {
+     on = 1.0 ;
+     event = start + invl ( _threadargscomma_ interval ) - interval * ( 1. - noise ) ;
+     if ( event < 0.0 ) {
+       event = 0.0 ;
+       }
+     artcell_net_send ( _tqitem, (double*)0, _ppvar[1]._pvoid, t +  event , 3.0 ) ;
+     }
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/netstim.mod";
+static const char* nmodl_file_text = 
+  ": $Id: netstim.mod 2212 2008-09-08 14:32:26Z hines $\n"
+  ": comments at end\n"
+  "\n"
+  ": the Random idiom has been extended to support CoreNEURON.\n"
+  "\n"
+  ": For backward compatibility, noiseFromRandom(hocRandom) can still be used\n"
+  ": as well as the default low-quality scop_exprand generator.\n"
+  ": However, CoreNEURON will not accept usage of the low-quality generator,\n"
+  ": and, if noiseFromRandom is used to specify the random stream, that stream\n"
+  ": must be using the Random123 generator.\n"
+  "\n"
+  ": The recommended idiom for specfication of the random stream is to use\n"
+  ": noiseFromRandom123(id1, id2[, id3])\n"
+  "\n"
+  ": If any instance uses noiseFromRandom123, then no instance can use noiseFromRandom\n"
+  ": and vice versa.\n"
+  "\n"
+  "NEURON	{ \n"
+  "  ARTIFICIAL_CELL NetStim\n"
+  "  RANGE interval, number, start\n"
+  "  RANGE noise\n"
+  "  THREADSAFE : only true if every instance has its own distinct Random\n"
+  "  BBCOREPOINTER donotuse\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	interval	= 10 (ms) <1e-9,1e9>: time between spikes (msec)\n"
+  "	number	= 10 <0,1e9>	: number of spikes (independent of noise)\n"
+  "	start		= 50 (ms)	: start of first spike\n"
+  "	noise		= 0 <0,1>	: amount of randomness (0.0 - 1.0)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	event (ms)\n"
+  "	on\n"
+  "	ispike\n"
+  "	donotuse\n"
+  "}\n"
+  "\n"
+  "VERBATIM\n"
+  "#if NRNBBCORE /* running in CoreNEURON */\n"
+  "\n"
+  "#define IFNEWSTYLE(arg) arg\n"
+  "\n"
+  "#else /* running in NEURON */\n"
+  "\n"
+  "/*\n"
+  "   1 means noiseFromRandom was called when _ran_compat was previously 0 .\n"
+  "   2 means noiseFromRandom123 was called when _ran_compat was previously 0.\n"
+  "*/\n"
+  "static int _ran_compat; /* specifies the noise style for all instances */\n"
+  "#define IFNEWSTYLE(arg) if(_ran_compat == 2) { arg }\n"
+  "\n"
+  "#endif /* running in NEURON */\n"
+  "ENDVERBATIM\n"
+  "\n"
+  ":backward compatibility\n"
+  "PROCEDURE seed(x) {\n"
+  "VERBATIM\n"
+  "#if !NRNBBCORE\n"
+  "ENDVERBATIM\n"
+  "	set_seed(x)\n"
+  "VERBATIM\n"
+  "#endif\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "\n"
+  "	VERBATIM\n"
+  "	  if (_p_donotuse) {\n"
+  "	    /* only this style initializes the stream on finitialize */\n"
+  "	    IFNEWSTYLE(nrnran123_setseq((nrnran123_State*)_p_donotuse, 0, 0);)\n"
+  "	  }\n"
+  "	ENDVERBATIM\n"
+  "\n"
+  "	on = 0 : off\n"
+  "	ispike = 0\n"
+  "	if (noise < 0) {\n"
+  "		noise = 0\n"
+  "	}\n"
+  "	if (noise > 1) {\n"
+  "		noise = 1\n"
+  "	}\n"
+  "	if (start >= 0 && number > 0) {\n"
+  "		on = 1\n"
+  "		: randomize the first spike so on average it occurs at\n"
+  "		: start + noise*interval\n"
+  "		event = start + invl(interval) - interval*(1. - noise)\n"
+  "		: but not earlier than 0\n"
+  "		if (event < 0) {\n"
+  "			event = 0\n"
+  "		}\n"
+  "		net_send(event, 3)\n"
+  "	}\n"
+  "}	\n"
+  "\n"
+  "PROCEDURE init_sequence(t(ms)) {\n"
+  "	if (number > 0) {\n"
+  "		on = 1\n"
+  "		event = 0\n"
+  "		ispike = 0\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "FUNCTION invl(mean (ms)) (ms) {\n"
+  "	if (mean <= 0.) {\n"
+  "		mean = .01 (ms) : I would worry if it were 0.\n"
+  "	}\n"
+  "	if (noise == 0) {\n"
+  "		invl = mean\n"
+  "	}else{\n"
+  "		invl = (1. - noise)*mean + noise*mean*erand()\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "FUNCTION erand() {\n"
+  "VERBATIM\n"
+  "	if (_p_donotuse) {\n"
+  "		/*\n"
+  "		:Supports separate independent but reproducible streams for\n"
+  "		: each instance. However, the corresponding hoc Random\n"
+  "		: distribution MUST be set to Random.negexp(1)\n"
+  "		*/\n"
+  "#if !NRNBBCORE\n"
+  "		if (_ran_compat == 2) {\n"
+  "			_lerand = nrnran123_negexp((nrnran123_State*)_p_donotuse);\n"
+  "		}else{\n"
+  "			_lerand = nrn_random_pick(_p_donotuse);\n"
+  "		}\n"
+  "#else\n"
+  "		_lerand = nrnran123_negexp((nrnran123_State*)_p_donotuse);\n"
+  "#endif\n"
+  "		return _lerand;\n"
+  "	}else{\n"
+  "#if NRNBBCORE\n"
+  "		assert(0);\n"
+  "#else\n"
+  "		/*\n"
+  "		: the old standby. Cannot use if reproducible parallel sim\n"
+  "		: independent of nhost or which host this instance is on\n"
+  "		: is desired, since each instance on this cpu draws from\n"
+  "		: the same stream\n"
+  "		*/\n"
+  "#endif\n"
+  "	}\n"
+  "#if !NRNBBCORE\n"
+  "ENDVERBATIM\n"
+  "	erand = exprand(1)\n"
+  "VERBATIM\n"
+  "#endif\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "PROCEDURE noiseFromRandom() {\n"
+  "VERBATIM\n"
+  "#if !NRNBBCORE\n"
+  " {\n"
+  "	void** pv = (void**)(&_p_donotuse);\n"
+  "	if (_ran_compat == 2) {\n"
+  "		fprintf(stderr, \"NetStim.noiseFromRandom123 was previously called\\n\");\n"
+  "		assert(0);\n"
+  "	}\n"
+  "	_ran_compat = 1;\n"
+  "	if (ifarg(1)) {\n"
+  "		*pv = nrn_random_arg(1);\n"
+  "	}else{\n"
+  "		*pv = (void*)0;\n"
+  "	}\n"
+  " }\n"
+  "#endif\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "\n"
+  "PROCEDURE noiseFromRandom123() {\n"
+  "VERBATIM\n"
+  "#if !NRNBBCORE\n"
+  " {\n"
+  "	nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "	if (_ran_compat == 1) {\n"
+  "		fprintf(stderr, \"NetStim.noiseFromRandom was previously called\\n\");\n"
+  "		assert(0);\n"
+  "	}\n"
+  "	_ran_compat = 2;\n"
+  "	if (*pv) {\n"
+  "		nrnran123_deletestream(*pv);\n"
+  "		*pv = (nrnran123_State*)0;\n"
+  "	}\n"
+  "	if (ifarg(3)) {\n"
+  "		*pv = nrnran123_newstream3((uint32_t)*getarg(1), (uint32_t)*getarg(2), (uint32_t)*getarg(3));\n"
+  "	}else if (ifarg(2)) {\n"
+  "		*pv = nrnran123_newstream((uint32_t)*getarg(1), (uint32_t)*getarg(2));\n"
+  "	}\n"
+  " }\n"
+  "#endif\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "DESTRUCTOR {\n"
+  "VERBATIM\n"
+  "	if (!noise) { return; }\n"
+  "	if (_p_donotuse) {\n"
+  "#if NRNBBCORE\n"
+  "		{ /* but note that mod2c does not translate DESTRUCTOR */\n"
+  "#else\n"
+  "		if (_ran_compat == 2) {\n"
+  "#endif\n"
+  "			nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "			nrnran123_deletestream(*pv);\n"
+  "			*pv = (nrnran123_State*)0;\n"
+  "		}\n"
+  "	}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "VERBATIM\n"
+  "static void bbcore_write(double* x, int* d, int* xx, int *offset, _threadargsproto_) {\n"
+  "	if (!noise) { return; }\n"
+  "	/* error if using the legacy scop_exprand */\n"
+  "	if (!_p_donotuse) {\n"
+  "		fprintf(stderr, \"NetStim: cannot use the legacy scop_negexp generator for the random stream.\\n\");\n"
+  "		assert(0);\n"
+  "	}\n"
+  "	if (d) {\n"
+  "		char which;\n"
+  "		uint32_t* di = ((uint32_t*)d) + *offset;\n"
+  "#if !NRNBBCORE\n"
+  "		if (_ran_compat == 1) {\n"
+  "			void** pv = (void**)(&_p_donotuse);\n"
+  "			/* error if not using Random123 generator */\n"
+  "			if (!nrn_random_isran123(*pv, di, di+1, di+2)) {\n"
+  "				fprintf(stderr, \"NetStim: Random123 generator is required\\n\");\n"
+  "				assert(0);\n"
+  "			}\n"
+  "			nrn_random123_getseq(*pv, di+3, &which);\n"
+  "			di[4] = (int)which;\n"
+  "		}else{\n"
+  "#else\n"
+  "    {\n"
+  "#endif\n"
+  "			nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "			nrnran123_getids3(*pv, di, di+1, di+2);\n"
+  "			nrnran123_getseq(*pv, di+3, &which);\n"
+  "			di[4] = (int)which;\n"
+  "#if NRNBBCORE\n"
+  "			/* CORENeuron does not call DESTRUCTOR so... */\n"
+  "			nrnran123_deletestream(*pv);\n"
+  "                        *pv = (nrnran123_State*)0;\n"
+  "#endif\n"
+  "		}\n"
+  "		/*printf(\"Netstim bbcore_write %d %d %d\\n\", di[0], di[1], di[3]);*/\n"
+  "	}\n"
+  "	*offset += 5;\n"
+  "}\n"
+  "\n"
+  "static void bbcore_read(double* x, int* d, int* xx, int* offset, _threadargsproto_) {\n"
+  "	if (!noise) { return; }\n"
+  "	/* Generally, CoreNEURON, in the context of psolve, begins with\n"
+  "           an empty model so this call takes place in the context of a freshly\n"
+  "           created instance and _p_donotuse is not NULL.\n"
+  "	   However, this function\n"
+  "           is also now called from NEURON at the end of coreneuron psolve\n"
+  "           in order to transfer back the nrnran123 sequence state. That\n"
+  "           allows continuation with a subsequent psolve within NEURON or\n"
+  "           properly transfer back to CoreNEURON if we continue the psolve\n"
+  "           there. So now, extra logic is needed for this call to work in\n"
+  "           a NEURON context.\n"
+  "        */\n"
+  "\n"
+  "	uint32_t* di = ((uint32_t*)d) + *offset;\n"
+  "#if NRNBBCORE\n"
+  "	nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "	assert(!_p_donotuse);\n"
+  "	*pv = nrnran123_newstream3(di[0], di[1], di[2]);\n"
+  "	nrnran123_setseq(*pv, di[3], (char)di[4]);\n"
+  "#else\n"
+  "	uint32_t id1, id2, id3;\n"
+  "	assert(_p_donotuse);\n"
+  "	if (_ran_compat == 1) { /* Hoc Random.Random123 */\n"
+  "		void** pv = (void**)(&_p_donotuse);\n"
+  "		int b = nrn_random_isran123(*pv, &id1, &id2, &id3);\n"
+  "		assert(b);\n"
+  "		nrn_random123_setseq(*pv, di[3], (char)di[4]);\n"
+  "	}else{\n"
+  "		assert(_ran_compat == 2);\n"
+  "		nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "		nrnran123_getids3(*pv, &id1, &id2, &id3);\n"
+  "		nrnran123_setseq(*pv, di[3], (char)di[4]);\n"
+  "	}\n"
+  "        /* Random123 on NEURON side has same ids as on CoreNEURON side */\n"
+  "	assert(di[0] == id1 && di[1] == id2 && di[2] == id3);\n"
+  "#endif\n"
+  "	*offset += 5;\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "\n"
+  "PROCEDURE next_invl() {\n"
+  "	if (number > 0) {\n"
+  "		event = invl(interval)\n"
+  "	}\n"
+  "	if (ispike >= number) {\n"
+  "		on = 0\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE (w) {\n"
+  "	if (flag == 0) { : external event\n"
+  "		if (w > 0 && on == 0) { : turn on spike sequence\n"
+  "			: but not if a netsend is on the queue\n"
+  "			init_sequence(t)\n"
+  "			: randomize the first spike so on average it occurs at\n"
+  "			: noise*interval (most likely interval is always 0)\n"
+  "			next_invl()\n"
+  "			event = event - interval*(1. - noise)\n"
+  "			net_send(event, 1)\n"
+  "		}else if (w < 0) { : turn off spiking definitively\n"
+  "			on = 0\n"
+  "		}\n"
+  "	}\n"
+  "	if (flag == 3) { : from INITIAL\n"
+  "		if (on == 1) { : but ignore if turned off by external event\n"
+  "			init_sequence(t)\n"
+  "			net_send(0, 1)\n"
+  "		}\n"
+  "	}\n"
+  "	if (flag == 1 && on == 1) {\n"
+  "		ispike = ispike + 1\n"
+  "		net_event(t)\n"
+  "		next_invl()\n"
+  "		if (on == 1) {\n"
+  "			net_send(event, 1)\n"
+  "		}\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "FUNCTION bbsavestate() {\n"
+  "  bbsavestate = 0\n"
+  "  : limited to noiseFromRandom123\n"
+  "VERBATIM\n"
+  "#if !NRNBBCORE\n"
+  "  if (_ran_compat == 2) {\n"
+  "    nrnran123_State** pv = (nrnran123_State**)(&_p_donotuse);\n"
+  "    if (!*pv) { return 0.0; }\n"
+  "    char which;\n"
+  "    uint32_t seq;\n"
+  "    double *xdir, *xval;\n"
+  "    xdir = hoc_pgetarg(1);\n"
+  "    if (*xdir == -1.) { *xdir = 2; return 0.0; }\n"
+  "    xval = hoc_pgetarg(2);\n"
+  "    if (*xdir == 0.) {\n"
+  "      nrnran123_getseq(*pv, &seq, &which);\n"
+  "      xval[0] = (double)seq;\n"
+  "      xval[1] = (double)which;\n"
+  "    }\n"
+  "    if (*xdir == 1) {\n"
+  "      nrnran123_setseq(*pv, (uint32_t)xval[0], (char)xval[1]);\n"
+  "    }\n"
+  "  } /* else do nothing */\n"
+  "#endif\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "\n"
+  "COMMENT\n"
+  "Presynaptic spike generator\n"
+  "---------------------------\n"
+  "\n"
+  "This mechanism has been written to be able to use synapses in a single\n"
+  "neuron receiving various types of presynaptic trains.  This is a \"fake\"\n"
+  "presynaptic compartment containing a spike generator.  The trains\n"
+  "of spikes can be either periodic or noisy (Poisson-distributed)\n"
+  "\n"
+  "Parameters;\n"
+  "   noise: 	between 0 (no noise-periodic) and 1 (fully noisy)\n"
+  "   interval: 	mean time between spikes (ms)\n"
+  "   number: 	number of spikes (independent of noise)\n"
+  "\n"
+  "Written by Z. Mainen, modified by A. Destexhe, The Salk Institute\n"
+  "\n"
+  "Modified by Michael Hines for use with CVode\n"
+  "The intrinsic bursting parameters have been removed since\n"
+  "generators can stimulate other generators to create complicated bursting\n"
+  "patterns with independent statistics (see below)\n"
+  "\n"
+  "Modified by Michael Hines to use logical event style with NET_RECEIVE\n"
+  "This stimulator can also be triggered by an input event.\n"
+  "If the stimulator is in the on==0 state (no net_send events on queue)\n"
+  " and receives a positive weight\n"
+  "event, then the stimulator changes to the on=1 state and goes through\n"
+  "its entire spike sequence before changing to the on=0 state. During\n"
+  "that time it ignores any positive weight events. If, in an on!=0 state,\n"
+  "the stimulator receives a negative weight event, the stimulator will\n"
+  "change to the on==0 state. In the on==0 state, it will ignore any ariving\n"
+  "net_send events. A change to the on==1 state immediately fires the first spike of\n"
+  "its sequence.\n"
+  "\n"
+  "ENDCOMMENT\n"
+  "\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/nrnversion.h
@@ -0,0 +1,4 @@
+#define GIT_DATE "Build Time: 2023-10-25-08:18:24"
+#define GIT_BRANCH "unknown branch"
+#define GIT_CHANGESET "unknown commit id"
+#define GIT_DESCRIBE "8.2.2.dev0"
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/oclmp.c
@@ -0,0 +1,582 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__OClamp
+#define _nrn_initial _nrn_initial__OClamp
+#define nrn_cur _nrn_cur__OClamp
+#define _nrn_current _nrn_current__OClamp
+#define nrn_jacob _nrn_jacob__OClamp
+#define nrn_state _nrn_state__OClamp
+#define _net_receive _net_receive__OClamp 
+#define icur icur__OClamp 
+#define vstim vstim__OClamp 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define rs _p[0]
+#define rs_columnindex 0
+#define on _p[1]
+#define on_columnindex 1
+#define off _p[2]
+#define off_columnindex 2
+#define vc _p[3]
+#define vc_columnindex 3
+#define switched_on _p[4]
+#define switched_on_columnindex 4
+#define i _p[5]
+#define i_columnindex 5
+#define onflag _p[6]
+#define onflag_columnindex 6
+#define v _p[7]
+#define v_columnindex 7
+#define _g _p[8]
+#define _g_columnindex 8
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_icur(void*);
+ static double _hoc_vstim(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "icur", _hoc_icur,
+ "vstim", _hoc_vstim,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "rs", 1e-09, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "rs", "megohm",
+ "on", "ms",
+ "off", "ms",
+ "vc", "mV",
+ "i", "nA",
+ 0,0
+};
+ static double delta_t = 0.01;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"OClamp",
+ "rs",
+ "on",
+ "off",
+ "vc",
+ "switched_on",
+ 0,
+ "i",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 9, _prop);
+ 	/*initialize range parameters*/
+ 	rs = 1;
+ 	on = 0;
+ 	off = 0;
+ 	vc = 0;
+ 	switched_on = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 9;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _oclmp_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 9, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 OClamp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int icur(_threadargsproto_);
+static int vstim(_threadargsproto_);
+ 
+static int  icur ( _threadargsproto_ ) {
+   if ( onflag ) {
+     i = ( vc - v ) / rs ;
+     }
+   else {
+     i = 0.0 ;
+     }
+    return 0; }
+ 
+static double _hoc_icur(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ icur ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  vstim ( _threadargsproto_ ) {
+   if ( switched_on ) {
+     onflag = 1.0 ;
+     at_time ( _nt, on ) ;
+     at_time ( _nt, off ) ;
+     if ( t < on ) {
+       onflag = 0.0 ;
+       }
+     else if ( t > off ) {
+       onflag = 0.0 ;
+       }
+     }
+   else {
+     onflag = 0.0 ;
+     }
+   icur ( _threadargs_ ) ;
+    return 0; }
+ 
+static double _hoc_vstim(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ vstim ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   onflag = 0.0 ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   vstim ( _threadargs_ ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) += _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) += _rhs;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_rhs[_ni[_iml]] += _rhs; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_rhs[0] += _rhs;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) -= _g;
+  }else
+#endif
+  {
+	NODED(_nd) -= _g;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_d[_ni[_iml]] -= _g; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_d[0] += _g;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v=_v;
+{
+ {  { icur(_p, _ppvar, _thread, _nt); }
+  }}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/oclmp.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "Clamp for optimization. This is derived from svclmp.mod but only\n"
+  "has an on, off, amp input\n"
+  "\n"
+  "Single electrode Voltage clamp a start and stop time.\n"
+  "Clamp is on at time on, and off at time off\n"
+  "When clamp is off the injected current is 0.\n"
+  "\n"
+  "i is the injected current, vc measures the control voltage\n"
+  "Do not insert several instances of this model at the same location in order to\n"
+  "make level changes. That is equivalent to independent clamps and they will\n"
+  "have incompatible internal state values.\n"
+  "The electrical circuit for the clamp is exceedingly simple:\n"
+  "vc ---'\\/\\/`--- cell\n"
+  "        rs\n"
+  "\n"
+  "Note that since this is an electrode current model v refers to the\n"
+  "internal potential which is equivalent to the membrane potential v when\n"
+  "there is no extracellular membrane mechanism present but is v+vext when\n"
+  "one is present.\n"
+  "Also since i is an electrode current,\n"
+  "positive values of i depolarize the cell. (Normally, positive membrane currents\n"
+  "are outward and thus hyperpolarize the cell)\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS OClamp\n"
+  "	ELECTRODE_CURRENT i\n"
+  "	RANGE on, off, rs, vc, i, switched_on\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "\n"
+  "PARAMETER {\n"
+  "	rs = 1 (megohm) <1e-9, 1e9>\n"
+  "	on = 0 (ms)\n"
+  "	off = 0 (ms)\n"
+  "	vc (mV)\n"
+  "	switched_on = 0\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	v (mV)	: automatically v + vext when extracellular is present\n"
+  "	i (nA)\n"
+  "	onflag\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	onflag = 0\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE icur METHOD after_cvode\n"
+  "	vstim()\n"
+  "}\n"
+  "\n"
+  "PROCEDURE icur() {\n"
+  "	if (onflag) {\n"
+  "		i = (vc - v)/rs\n"
+  "	}else{\n"
+  "		i = 0\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "COMMENT\n"
+  "The SOLVE of icur() in the BREAKPOINT block is necessary to compute\n"
+  "i=(vc - v(t))/rs instead of i=(vc - v(t-dt))/rs\n"
+  "This is important for time varying vc because the actual i used in\n"
+  "the implicit method is equivalent to (vc - v(t)/rs due to the\n"
+  "calculation of di/dv from the BREAKPOINT block.\n"
+  "The reason this works is because the SOLVE statement in the BREAKPOINT block\n"
+  "is executed after the membrane potential is advanced.\n"
+  "\n"
+  "It is a shame that vstim has to be called twice but putting the call\n"
+  "in a SOLVE block would cause playing a Vector into vc to be off by one\n"
+  "time step.\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "PROCEDURE vstim() {\n"
+  "	if (switched_on) {\n"
+  "		onflag = 1\n"
+  "		at_time(on)\n"
+  "		at_time(off)\n"
+  "		if (t < on) {\n"
+  "			onflag = 0\n"
+  "		}else if (t > off) {\n"
+  "			onflag = 0\n"
+  "		}\n"
+  "	}else{\n"
+  "		onflag = 0\n"
+  "	}\n"
+  "	icur()\n"
+  "}\n"
+  "\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/passive.c
@@ -0,0 +1,329 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__pas
+#define _nrn_initial _nrn_initial__pas
+#define nrn_cur _nrn_cur__pas
+#define _nrn_current _nrn_current__pas
+#define nrn_jacob _nrn_jacob__pas
+#define nrn_state _nrn_state__pas
+#define _net_receive _net_receive__pas 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define g _p[0]
+#define g_columnindex 0
+#define e _p[1]
+#define e_columnindex 1
+#define i _p[2]
+#define i_columnindex 2
+#define v _p[3]
+#define v_columnindex 3
+#define _g _p[4]
+#define _g_columnindex 4
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata() {
+ Prop *_prop, *hoc_getdata_range(int);
+ _prop = hoc_getdata_range(_mechtype);
+   _setdata(_prop);
+ hoc_retpushx(1.);
+}
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ "setdata_pas", _hoc_setdata,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "g_pas", 0, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "g_pas", "S/cm2",
+ "e_pas", "mV",
+ "i_pas", "mA/cm2",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"pas",
+ "g_pas",
+ "e_pas",
+ 0,
+ "i_pas",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+ 	_p = nrn_prop_data_alloc(_mechtype, 5, _prop);
+ 	/*initialize range parameters*/
+ 	g = 0.001;
+ 	e = -70;
+ 	_prop->param = _p;
+ 	_prop->param_size = 5;
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _passive_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	register_mech(_mechanism, nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init, hoc_nrnpointerindex, 1);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 5, 0);
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 pas /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "passive membrane channel";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   i = g * ( v - e ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) -= _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) -= _rhs;
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/passive.mod";
+static const char* nmodl_file_text = 
+  "TITLE passive membrane channel\n"
+  "\n"
+  "UNITS {\n"
+  "	(mV) = (millivolt)\n"
+  "	(mA) = (milliamp)\n"
+  "	(S) = (siemens)\n"
+  "}\n"
+  "\n"
+  "NEURON {\n"
+  "	SUFFIX pas\n"
+  "	NONSPECIFIC_CURRENT i\n"
+  "	RANGE g, e\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	g = .001	(S/cm2)	<0,1e9>\n"
+  "	e = -70	(mV)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {v (mV)  i (mA/cm2)}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	i = g*(v - e)\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/pattern.c
@@ -0,0 +1,686 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__PatternStim
+#define _nrn_initial _nrn_initial__PatternStim
+#define nrn_cur _nrn_cur__PatternStim
+#define _nrn_current _nrn_current__PatternStim
+#define nrn_jacob _nrn_jacob__PatternStim
+#define nrn_state _nrn_state__PatternStim
+#define _net_receive _net_receive__PatternStim 
+#define play play__PatternStim 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define fake_output _p[0]
+#define fake_output_columnindex 0
+#define v _p[1]
+#define v_columnindex 1
+#define _tsav _p[2]
+#define _tsav_columnindex 2
+#define _nd_area  *_ppvar[0]._pval
+#define ptr	*_ppvar[2]._pval
+#define _p_ptr	_ppvar[2]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  2;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_initps(void*);
+ static double _hoc_play(void*);
+ static double _hoc_sendgroup(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "initps", _hoc_initps,
+ "play", _hoc_play,
+ "sendgroup", _hoc_sendgroup,
+ 0, 0
+};
+#define initps initps_PatternStim
+#define sendgroup sendgroup_PatternStim
+ extern double initps( _threadargsproto_ );
+ extern double sendgroup( _threadargsproto_ );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ static void _destructor(Prop*);
+ static void _constructor(Prop*);
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"PatternStim",
+ "fake_output",
+ 0,
+ 0,
+ 0,
+ "ptr",
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 3, _prop);
+ 	/*initialize range parameters*/
+ 	fake_output = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 3;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 4, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ if (!nrn_point_prop_) {_constructor(_prop);}
+ 
+}
+ static void _initlists();
+ 
+#define _tqitem &(_ppvar[3]._pvoid)
+ static void _net_receive(Point_process*, double*, double);
+ static void bbcore_write(double*, int*, int*, int*, _threadargsproto_);
+ extern void hoc_reg_bbcore_write(int, void(*)(double*, int*, int*, int*, _threadargsproto_));
+ static void bbcore_read(double*, int*, int*, int*, _threadargsproto_);
+ extern void hoc_reg_bbcore_read(int, void(*)(double*, int*, int*, int*, _threadargsproto_));
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _pattern_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ 	register_destructor(_destructor);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+   hoc_reg_bbcore_write(_mechtype, bbcore_write);
+   hoc_reg_bbcore_read(_mechtype, bbcore_read);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 3, 4);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+  hoc_register_dparam_semantics(_mechtype, 2, "bbcorepointer");
+  hoc_register_dparam_semantics(_mechtype, 3, "netsend");
+ add_nrn_artcell(_mechtype, 3);
+ pnt_receive[_mechtype] = _net_receive;
+ pnt_receive_size[_mechtype] = 1;
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 PatternStim /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int play(_threadargsproto_);
+ 
+static void _net_receive (Point_process* _pnt, double* _args, double _lflag) 
+{  double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _thread = (Datum*)0; _nt = (NrnThread*)_pnt->_vnt;   _p = _pnt->_prop->param; _ppvar = _pnt->_prop->dparam;
+  if (_tsav > t){ extern char* hoc_object_name(); hoc_execerror(hoc_object_name(_pnt->ob), ":Event arrived out of order. Must call ParallelContext.set_maxstep AFTER assigning minimum NetCon.delay");}
+ _tsav = t;   if (_lflag == 1. ) {*(_tqitem) = 0;}
+ {
+   double _lnst ;
+ if ( _lflag  == 1.0 ) {
+     _lnst = sendgroup ( _threadargs_ ) ;
+     if ( _lnst >= t ) {
+       artcell_net_send ( _tqitem, _args, _pnt, t +  _lnst - t , 1.0 ) ;
+       }
+     }
+   } }
+ 
+/*VERBATIM*/
+
+extern int ifarg(int iarg);
+extern double* vector_vec(void* vv);
+extern int vector_capacity(void* vv);
+extern void* vector_arg(int iarg);
+extern void nrn_fake_fire(int gid, double spiketime, int fake_out);
+
+/* Changed Info definition to correspond to that of CoreNEURON pattern.mod
+   in order to reduce memory requirements of separate copies of what
+   used to here be an IvocVect of doubles for gidvec but in CoreNEURON was
+   an int*. Also it obviates the copying of index back and forth.
+   The user differnce here is that both tvec and gidvec are copies (double
+   and int) of the passed in Vector. That is bad, but the user does not
+   have to retain a reference to those Vectors so that memory can be
+   potentially freed. On the other hand, it is now a simple matter to
+   implement reading the Info directly from a file.
+*/
+typedef struct { /* same as in CoreNEURON */
+	int size;
+	double* tvec;
+	int* gidvec;
+	int index;
+} Info;
+
+#define INFOCAST Info** ip = (Info**)(&(_p_ptr))
+
+ 
+double initps ( _threadargsproto_ ) {
+   double _linitps;
+ 
+/*VERBATIM*/
+{
+	INFOCAST; Info* info = *ip;
+	info->index = 0;
+	if (info->tvec) {
+		_linitps = 1.;
+	}else{
+		_linitps = 0.;
+	}
+}
+ 
+return _linitps;
+ }
+ 
+static double _hoc_initps(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  initps ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+double sendgroup ( _threadargsproto_ ) {
+   double _lsendgroup;
+ 
+/*VERBATIM*/
+{
+	INFOCAST; Info* info = *ip;
+	int size = info->size;
+	int fake_out;
+	double* tvec = info->tvec;
+	int* gidvec = info->gidvec;
+	int i;
+	fake_out = fake_output ? 1 : 0;
+	for (i=0; info->index < size; ++i) {
+		/* only if the gid is NOT on this machine */
+		nrn_fake_fire((int)gidvec[info->index], tvec[info->index], fake_out);
+		++info->index;
+		if (i > 100 && t < tvec[info->index]) { break; }
+	}
+	if (info->index >= size) {
+		_lsendgroup = t - 1.;
+	}else{
+		_lsendgroup = tvec[info->index];
+	}
+}
+ 
+return _lsendgroup;
+ }
+ 
+static double _hoc_sendgroup(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  sendgroup ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  play ( _threadargsproto_ ) {
+   
+/*VERBATIM*/
+{
+	INFOCAST; Info* info = *ip;
+	if (info->size > 0) {
+		free(info->tvec);
+		free(info->gidvec);
+		info->size = 0;
+		info->tvec = (void*)0;
+		info->gidvec = (void*)0;
+	}
+
+	if (ifarg(1)) {
+		int _i;
+		void* tvec = vector_arg(1);
+		void* gidvec = vector_arg(2);
+		int size = vector_capacity(tvec);
+		//assert(size == vector_capacity(gidvec);
+                double* tdata = vector_vec(tvec);
+		double* giddata = vector_vec(gidvec);
+
+		info->size = size;
+		info->tvec = (double*)hoc_Emalloc(size*sizeof(double)); hoc_malchk();
+		info->gidvec = (int*)hoc_Emalloc(size*sizeof(int)); hoc_malchk();
+
+		for (_i = 0; _i < size; ++_i) {
+			info->tvec[_i] = tdata[_i];
+			info->gidvec[_i] = (int)giddata[_i];
+		}
+	}
+}
+  return 0; }
+ 
+static double _hoc_play(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ play ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+/*VERBATIM*/
+
+static void bbcore_write(double* x, int* d, int* xx, int *offset, _threadargsproto_){}
+static void bbcore_read(double* x, int* d, int* xx, int* offset, _threadargsproto_){}
+
+Info* nrn_patternstim_info_ref(Datum* _ppvar) {
+  // CoreNEURON PatternStim will use this Info*
+  INFOCAST;
+  return *ip;
+}
+ 
+static void _constructor(Prop* _prop) {
+	double* _p; Datum* _ppvar; Datum* _thread;
+	_thread = (Datum*)0;
+	_p = _prop->param; _ppvar = _prop->dparam;
+{
+ {
+   
+/*VERBATIM*/
+{
+	INFOCAST;
+	Info* info = (Info*)hoc_Emalloc(sizeof(Info)); hoc_malchk();
+	*ip = info;
+	info->size = 0;
+	info->tvec = (double*)0;
+	info->gidvec = (int*)0;
+	info->index = 0;
+}
+ }
+ 
+}
+}
+ 
+static void _destructor(Prop* _prop) {
+	double* _p; Datum* _ppvar; Datum* _thread;
+	_thread = (Datum*)0;
+	_p = _prop->param; _ppvar = _prop->dparam;
+{
+ {
+   
+/*VERBATIM*/
+{
+	INFOCAST; Info* info = *ip;
+	if (info->size > 0) {
+		free(info->tvec);
+		free(info->gidvec);
+	}
+	free(info);
+}
+ }
+ 
+}
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   if ( initps ( _threadargs_ ) > 0.0 ) {
+     artcell_net_send ( _tqitem, (double*)0, _ppvar[1]._pvoid, t +  0.0 , 1.0 ) ;
+     }
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _tsav = -1e20;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/pattern.mod";
+static const char* nmodl_file_text = 
+  ": The spikeout pairs (t, gid) resulting from a parallel network simulation\n"
+  ": can become the stimulus for any single cpu subnet as long as the gid's are\n"
+  ": consistent.\n"
+  ": Note: hoc need not retain references to the tvec and gidvec vectors\n"
+  ": as Info makes a copy of those, double for tvec, int for gidvec.\n"
+  "\n"
+  "NEURON {\n"
+  "	ARTIFICIAL_CELL PatternStim\n"
+  "	THREADSAFE\n"
+  "	RANGE fake_output\n"
+  "	BBCOREPOINTER ptr\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	fake_output = 0\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	ptr\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	if (initps() > 0) { net_send(0, 1) }\n"
+  "}\n"
+  "\n"
+  "NET_RECEIVE (w) {LOCAL nst\n"
+  "	if (flag == 1) {\n"
+  "		nst = sendgroup()\n"
+  "		if (nst >= t) {net_send(nst - t, 1)}\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "VERBATIM\n"
+  "\n"
+  "extern int ifarg(int iarg);\n"
+  "extern double* vector_vec(void* vv);\n"
+  "extern int vector_capacity(void* vv);\n"
+  "extern void* vector_arg(int iarg);\n"
+  "extern void nrn_fake_fire(int gid, double spiketime, int fake_out);\n"
+  "\n"
+  "/* Changed Info definition to correspond to that of CoreNEURON pattern.mod\n"
+  "   in order to reduce memory requirements of separate copies of what\n"
+  "   used to here be an IvocVect of doubles for gidvec but in CoreNEURON was\n"
+  "   an int*. Also it obviates the copying of index back and forth.\n"
+  "   The user differnce here is that both tvec and gidvec are copies (double\n"
+  "   and int) of the passed in Vector. That is bad, but the user does not\n"
+  "   have to retain a reference to those Vectors so that memory can be\n"
+  "   potentially freed. On the other hand, it is now a simple matter to\n"
+  "   implement reading the Info directly from a file.\n"
+  "*/\n"
+  "typedef struct { /* same as in CoreNEURON */\n"
+  "	int size;\n"
+  "	double* tvec;\n"
+  "	int* gidvec;\n"
+  "	int index;\n"
+  "} Info;\n"
+  "\n"
+  "#define INFOCAST Info** ip = (Info**)(&(_p_ptr))\n"
+  "\n"
+  "ENDVERBATIM\n"
+  "\n"
+  "\n"
+  "CONSTRUCTOR {\n"
+  "VERBATIM {\n"
+  "	INFOCAST;\n"
+  "	Info* info = (Info*)hoc_Emalloc(sizeof(Info)); hoc_malchk();\n"
+  "	*ip = info;\n"
+  "	info->size = 0;\n"
+  "	info->tvec = (double*)0;\n"
+  "	info->gidvec = (int*)0;\n"
+  "	info->index = 0;\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "DESTRUCTOR {\n"
+  "VERBATIM {\n"
+  "	INFOCAST; Info* info = *ip;\n"
+  "	if (info->size > 0) {\n"
+  "		free(info->tvec);\n"
+  "		free(info->gidvec);\n"
+  "	}\n"
+  "	free(info);\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "FUNCTION initps() {\n"
+  "VERBATIM {\n"
+  "	INFOCAST; Info* info = *ip;\n"
+  "	info->index = 0;\n"
+  "	if (info->tvec) {\n"
+  "		_linitps = 1.;\n"
+  "	}else{\n"
+  "		_linitps = 0.;\n"
+  "	}\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "FUNCTION sendgroup() {\n"
+  "VERBATIM {\n"
+  "	INFOCAST; Info* info = *ip;\n"
+  "	int size = info->size;\n"
+  "	int fake_out;\n"
+  "	double* tvec = info->tvec;\n"
+  "	int* gidvec = info->gidvec;\n"
+  "	int i;\n"
+  "	fake_out = fake_output ? 1 : 0;\n"
+  "	for (i=0; info->index < size; ++i) {\n"
+  "		/* only if the gid is NOT on this machine */\n"
+  "		nrn_fake_fire((int)gidvec[info->index], tvec[info->index], fake_out);\n"
+  "		++info->index;\n"
+  "		if (i > 100 && t < tvec[info->index]) { break; }\n"
+  "	}\n"
+  "	if (info->index >= size) {\n"
+  "		_lsendgroup = t - 1.;\n"
+  "	}else{\n"
+  "		_lsendgroup = tvec[info->index];\n"
+  "	}\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "PROCEDURE play() {\n"
+  "VERBATIM {\n"
+  "	INFOCAST; Info* info = *ip;\n"
+  "	if (info->size > 0) {\n"
+  "		free(info->tvec);\n"
+  "		free(info->gidvec);\n"
+  "		info->size = 0;\n"
+  "		info->tvec = (void*)0;\n"
+  "		info->gidvec = (void*)0;\n"
+  "	}\n"
+  "\n"
+  "	if (ifarg(1)) {\n"
+  "		int _i;\n"
+  "		void* tvec = vector_arg(1);\n"
+  "		void* gidvec = vector_arg(2);\n"
+  "		int size = vector_capacity(tvec);\n"
+  "		//assert(size == vector_capacity(gidvec);\n"
+  "                double* tdata = vector_vec(tvec);\n"
+  "		double* giddata = vector_vec(gidvec);\n"
+  "\n"
+  "		info->size = size;\n"
+  "		info->tvec = (double*)hoc_Emalloc(size*sizeof(double)); hoc_malchk();\n"
+  "		info->gidvec = (int*)hoc_Emalloc(size*sizeof(int)); hoc_malchk();\n"
+  "\n"
+  "		for (_i = 0; _i < size; ++_i) {\n"
+  "			info->tvec[_i] = tdata[_i];\n"
+  "			info->gidvec[_i] = (int)giddata[_i];\n"
+  "		}\n"
+  "	}\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  "}\n"
+  "        \n"
+  "VERBATIM\n"
+  "\n"
+  "static void bbcore_write(double* x, int* d, int* xx, int *offset, _threadargsproto_){}\n"
+  "static void bbcore_read(double* x, int* d, int* xx, int* offset, _threadargsproto_){}\n"
+  "\n"
+  "Info* nrn_patternstim_info_ref(Datum* _ppvar) {\n"
+  "  // CoreNEURON PatternStim will use this Info*\n"
+  "  INFOCAST;\n"
+  "  return *ip;\n"
+  "}\n"
+  "ENDVERBATIM\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/ppmark.c
@@ -0,0 +1,287 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__PointProcessMark
+#define _nrn_initial _nrn_initial__PointProcessMark
+#define nrn_cur _nrn_cur__PointProcessMark
+#define _nrn_current _nrn_current__PointProcessMark
+#define nrn_jacob _nrn_jacob__PointProcessMark
+#define nrn_state _nrn_state__PointProcessMark
+#define _net_receive _net_receive__PointProcessMark 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define v _p[0]
+#define v_columnindex 0
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"PointProcessMark",
+ 0,
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 1, _prop);
+ 	/*initialize range parameters*/
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 1;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _ppmark_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,(void*)0, (void*)0, (void*)0, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 1, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 PointProcessMark /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{
+} return _current;
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v=_v;
+{
+}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/ppmark.mod";
+static const char* nmodl_file_text = 
+  ": for the purpose of displaying a location on a Shape\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS PointProcessMark\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/stim.c
@@ -0,0 +1,425 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__IClamp
+#define _nrn_initial _nrn_initial__IClamp
+#define nrn_cur _nrn_cur__IClamp
+#define _nrn_current _nrn_current__IClamp
+#define nrn_jacob _nrn_jacob__IClamp
+#define nrn_state _nrn_state__IClamp
+#define _net_receive _net_receive__IClamp 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define del _p[0]
+#define del_columnindex 0
+#define dur _p[1]
+#define dur_columnindex 1
+#define amp _p[2]
+#define amp_columnindex 2
+#define i _p[3]
+#define i_columnindex 3
+#define v _p[4]
+#define v_columnindex 4
+#define _g _p[5]
+#define _g_columnindex 5
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "dur", 0, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "del", "ms",
+ "dur", "ms",
+ "amp", "nA",
+ "i", "nA",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"IClamp",
+ "del",
+ "dur",
+ "amp",
+ 0,
+ "i",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 6, _prop);
+ 	/*initialize range parameters*/
+ 	del = 0;
+ 	dur = 0;
+ 	amp = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 6;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _stim_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 6, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 IClamp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   i = 0.0 ;
+   }
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   at_time ( _nt, del ) ;
+   at_time ( _nt, del + dur ) ;
+   if ( t < del + dur  && t >= del ) {
+     i = amp ;
+     }
+   else {
+     i = 0.0 ;
+     }
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) += _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) += _rhs;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_rhs[_ni[_iml]] += _rhs; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_rhs[0] += _rhs;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) -= _g;
+  }else
+#endif
+  {
+	NODED(_nd) -= _g;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_d[_ni[_iml]] -= _g; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_d[0] += _g;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/stim.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "Since this is an electrode current, positive values of i depolarize the cell\n"
+  "and in the presence of the extracellular mechanism there will be a change\n"
+  "in vext since i is not a transmembrane current but a current injected\n"
+  "directly to the inside of the cell.\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS IClamp\n"
+  "	RANGE del, dur, amp, i\n"
+  "	ELECTRODE_CURRENT i\n"
+  "}\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	del (ms)\n"
+  "	dur (ms)	<0,1e9>\n"
+  "	amp (nA)\n"
+  "}\n"
+  "ASSIGNED { i (nA) }\n"
+  "\n"
+  "INITIAL {\n"
+  "	i = 0\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	at_time(del)\n"
+  "	at_time(del+dur)\n"
+  "\n"
+  "	if (t < del + dur && t >= del) {\n"
+  "		i = amp\n"
+  "	}else{\n"
+  "		i = 0\n"
+  "	}\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/svclmp.c
@@ -0,0 +1,622 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__SEClamp
+#define _nrn_initial _nrn_initial__SEClamp
+#define nrn_cur _nrn_cur__SEClamp
+#define _nrn_current _nrn_current__SEClamp
+#define nrn_jacob _nrn_jacob__SEClamp
+#define nrn_state _nrn_state__SEClamp
+#define _net_receive _net_receive__SEClamp 
+#define icur icur__SEClamp 
+#define vstim vstim__SEClamp 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define rs _p[0]
+#define rs_columnindex 0
+#define dur1 _p[1]
+#define dur1_columnindex 1
+#define amp1 _p[2]
+#define amp1_columnindex 2
+#define dur2 _p[3]
+#define dur2_columnindex 3
+#define amp2 _p[4]
+#define amp2_columnindex 4
+#define dur3 _p[5]
+#define dur3_columnindex 5
+#define amp3 _p[6]
+#define amp3_columnindex 6
+#define i _p[7]
+#define i_columnindex 7
+#define vc _p[8]
+#define vc_columnindex 8
+#define tc2 _p[9]
+#define tc2_columnindex 9
+#define tc3 _p[10]
+#define tc3_columnindex 10
+#define on _p[11]
+#define on_columnindex 11
+#define v _p[12]
+#define v_columnindex 12
+#define _g _p[13]
+#define _g_columnindex 13
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_icur(void*);
+ static double _hoc_vstim(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "icur", _hoc_icur,
+ "vstim", _hoc_vstim,
+ 0, 0
+};
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "dur3", 0, 1e+09,
+ "dur2", 0, 1e+09,
+ "rs", 1e-09, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "rs", "megohm",
+ "dur1", "ms",
+ "amp1", "mV",
+ "dur2", "ms",
+ "amp2", "mV",
+ "dur3", "ms",
+ "amp3", "mV",
+ "i", "nA",
+ "vc", "mV",
+ 0,0
+};
+ static double delta_t = 1;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"SEClamp",
+ "rs",
+ "dur1",
+ "amp1",
+ "dur2",
+ "amp2",
+ "dur3",
+ "amp3",
+ 0,
+ "i",
+ "vc",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 14, _prop);
+ 	/*initialize range parameters*/
+ 	rs = 1;
+ 	dur1 = 0;
+ 	amp1 = 0;
+ 	dur2 = 0;
+ 	amp2 = 0;
+ 	dur3 = 0;
+ 	amp3 = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 14;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _svclmp_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 14, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 SEClamp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "svclmp.mod";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int icur(_threadargsproto_);
+static int vstim(_threadargsproto_);
+ 
+static int  icur ( _threadargsproto_ ) {
+   if ( on ) {
+     i = ( vc - v ) / rs ;
+     }
+   else {
+     i = 0.0 ;
+     }
+    return 0; }
+ 
+static double _hoc_icur(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ icur ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+ 
+static int  vstim ( _threadargsproto_ ) {
+   on = 1.0 ;
+   if ( dur1 ) {
+     at_time ( _nt, dur1 ) ;
+     }
+   if ( dur2 ) {
+     at_time ( _nt, tc2 ) ;
+     }
+   if ( dur3 ) {
+     at_time ( _nt, tc3 ) ;
+     }
+   if ( t < dur1 ) {
+     vc = amp1 ;
+     }
+   else if ( t < tc2 ) {
+     vc = amp2 ;
+     }
+   else if ( t < tc3 ) {
+     vc = amp3 ;
+     }
+   else {
+     vc = 0.0 ;
+     on = 0.0 ;
+     }
+   icur ( _threadargs_ ) ;
+    return 0; }
+ 
+static double _hoc_vstim(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r = 1.;
+ vstim ( _p, _ppvar, _thread, _nt );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+ {
+   tc2 = dur1 + dur2 ;
+   tc3 = tc2 + dur3 ;
+   on = 0.0 ;
+   }
+ 
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   vstim ( _threadargs_ ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) += _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) += _rhs;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_rhs[_ni[_iml]] += _rhs; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_rhs[0] += _rhs;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) -= _g;
+  }else
+#endif
+  {
+	NODED(_nd) -= _g;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_d[_ni[_iml]] -= _g; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_d[0] += _g;
+ }
+#endif
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v=_v;
+{
+ {  { icur(_p, _ppvar, _thread, _nt); }
+  }}}
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/svclmp.mod";
+static const char* nmodl_file_text = 
+  "TITLE svclmp.mod\n"
+  "COMMENT\n"
+  "Single electrode Voltage clamp with three levels.\n"
+  "Clamp is on at time 0, and off at time\n"
+  "dur1+dur2+dur3. When clamp is off the injected current is 0.\n"
+  "The clamp levels are amp1, amp2, amp3.\n"
+  "i is the injected current, vc measures the control voltage)\n"
+  "Do not insert several instances of this model at the same location in order to\n"
+  "make level changes. That is equivalent to independent clamps and they will\n"
+  "have incompatible internal state values.\n"
+  "The electrical circuit for the clamp is exceedingly simple:\n"
+  "vc ---'\\/\\/`--- cell\n"
+  "        rs\n"
+  "\n"
+  "Note that since this is an electrode current model v refers to the\n"
+  "internal potential which is equivalent to the membrane potential v when\n"
+  "there is no extracellular membrane mechanism present but is v+vext when\n"
+  "one is present.\n"
+  "Also since i is an electrode current,\n"
+  "positive values of i depolarize the cell. (Normally, positive membrane currents\n"
+  "are outward and thus hyperpolarize the cell)\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}\n"
+  "\n"
+  "DEFINE NSTEP 3\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS SEClamp\n"
+  "	ELECTRODE_CURRENT i\n"
+  "	RANGE dur1, amp1, dur2, amp2, dur3, amp3, rs, vc, i\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "\n"
+  "PARAMETER {\n"
+  "	rs = 1 (megohm) <1e-9, 1e9>\n"
+  "	dur1 (ms) 	  amp1 (mV)\n"
+  "	dur2 (ms) <0,1e9> amp2 (mV)\n"
+  "	dur3 (ms) <0,1e9> amp3 (mV)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	v (mV)	: automatically v + vext when extracellular is present\n"
+  "	i (nA)\n"
+  "	vc (mV)\n"
+  "	tc2 (ms)\n"
+  "	tc3 (ms)\n"
+  "	on\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	tc2 = dur1 + dur2\n"
+  "	tc3 = tc2 + dur3\n"
+  "	on = 0\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE icur METHOD after_cvode\n"
+  "	vstim()\n"
+  "}\n"
+  "\n"
+  "PROCEDURE icur() {\n"
+  "	if (on) {\n"
+  "		i = (vc - v)/rs\n"
+  "	}else{\n"
+  "		i = 0\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "COMMENT\n"
+  "The SOLVE of icur() in the BREAKPOINT block is necessary to compute\n"
+  "i=(vc - v(t))/rs instead of i=(vc - v(t-dt))/rs\n"
+  "This is important for time varying vc because the actual i used in\n"
+  "the implicit method is equivalent to (vc - v(t)/rs due to the\n"
+  "calculation of di/dv from the BREAKPOINT block.\n"
+  "The reason this works is because the SOLVE statement in the BREAKPOINT block\n"
+  "is executed after the membrane potential is advanced.\n"
+  "\n"
+  "It is a shame that vstim has to be called twice but putting the call\n"
+  "in a SOLVE block would cause playing a Vector into vc to be off by one\n"
+  "time step.\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "PROCEDURE vstim() {\n"
+  "	on = 1\n"
+  "	if (dur1) {at_time(dur1)}\n"
+  "	if (dur2) {at_time(tc2)}\n"
+  "	if (dur3) {at_time(tc3)}\n"
+  "	if (t < dur1) {\n"
+  "		vc = amp1\n"
+  "	}else if (t < tc2) {\n"
+  "		vc = amp2\n"
+  "	}else if (t < tc3) {\n"
+  "		vc = amp3\n"
+  "	}else {\n"
+  "		vc = 0\n"
+  "		on = 0\n"
+  "	}\n"
+  "	icur()\n"
+  "}\n"
+  "\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/syn.c
@@ -0,0 +1,433 @@
+/* Created by Language version: 7.7.0 */
+/* VECTORIZED */
+#define NRN_VECTORIZED 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__AlphaSynapse
+#define _nrn_initial _nrn_initial__AlphaSynapse
+#define nrn_cur _nrn_cur__AlphaSynapse
+#define _nrn_current _nrn_current__AlphaSynapse
+#define nrn_jacob _nrn_jacob__AlphaSynapse
+#define nrn_state _nrn_state__AlphaSynapse
+#define _net_receive _net_receive__AlphaSynapse 
+ 
+#define _threadargscomma_ _p, _ppvar, _thread, _nt,
+#define _threadargsprotocomma_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt,
+#define _threadargs_ _p, _ppvar, _thread, _nt
+#define _threadargsproto_ double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ /* Thread safe. No static _p or _ppvar. */
+ 
+#define t _nt->_t
+#define dt _nt->_dt
+#define onset _p[0]
+#define onset_columnindex 0
+#define tau _p[1]
+#define tau_columnindex 1
+#define gmax _p[2]
+#define gmax_columnindex 2
+#define e _p[3]
+#define e_columnindex 3
+#define i _p[4]
+#define i_columnindex 4
+#define g _p[5]
+#define g_columnindex 5
+#define v _p[6]
+#define v_columnindex 6
+#define _g _p[7]
+#define _g_columnindex 7
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ static Datum* _extcall_thread;
+ static Prop* _extcall_prop;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_alpha(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _extcall_prop = _prop;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "alpha", _hoc_alpha,
+ 0, 0
+};
+#define alpha alpha_AlphaSynapse
+ extern double alpha( _threadargsprotocomma_ double );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "gmax", 0, 1e+09,
+ "tau", 0.001, 1e+06,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "onset", "ms",
+ "tau", "ms",
+ "gmax", "uS",
+ "e", "mV",
+ "i", "nA",
+ 0,0
+};
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"AlphaSynapse",
+ "onset",
+ "tau",
+ "gmax",
+ "e",
+ 0,
+ "i",
+ 0,
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 8, _prop);
+ 	/*initialize range parameters*/
+ 	onset = 0;
+ 	tau = 0.1;
+ 	gmax = 0;
+ 	e = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 8;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _syn_reg_() {
+	int _vectorized = 1;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 1,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 8, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 AlphaSynapse /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+ 
+double alpha ( _threadargsprotocomma_ double _lx ) {
+   double _lalpha;
+ if ( _lx < 0.0  || _lx > 10.0 ) {
+     _lalpha = 0.0 ;
+     }
+   else {
+     _lalpha = _lx * exp ( 1.0 - _lx ) ;
+     }
+   
+return _lalpha;
+ }
+ 
+static double _hoc_alpha(void* _vptr) {
+ double _r;
+   double* _p; Datum* _ppvar; Datum* _thread; NrnThread* _nt;
+   _p = ((Point_process*)_vptr)->_prop->param;
+  _ppvar = ((Point_process*)_vptr)->_prop->dparam;
+  _thread = _extcall_thread;
+  _nt = (NrnThread*)((Point_process*)_vptr)->_vnt;
+ _r =  alpha ( _p, _ppvar, _thread, _nt, *getarg(1) );
+ return(_r);
+}
+
+static void initmodel(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
+  int _i; double _save;{
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ v = _v;
+ initmodel(_p, _ppvar, _thread, _nt);
+}
+}
+
+static double _nrn_current(double* _p, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double _v){double _current=0.;v=_v;{ {
+   if ( gmax ) {
+     at_time ( _nt, onset ) ;
+     }
+   g = gmax * alpha ( _threadargscomma_ ( t - onset ) / tau ) ;
+   i = g * ( v - e ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ _g = _nrn_current(_p, _ppvar, _thread, _nt, _v + .001);
+ 	{ _rhs = _nrn_current(_p, _ppvar, _thread, _nt, _v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) -= _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) -= _rhs;
+  }
+ 
+}
+ 
+}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type) {
+double* _p; Datum* _ppvar; Datum* _thread;
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+_thread = _ml->_thread;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) += _g;
+  }else
+#endif
+  {
+     _nd = _ml->_nodelist[_iml];
+	NODED(_nd) += _g;
+  }
+ 
+}
+ 
+}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type) {
+
+}
+
+static void terminal(){}
+
+static void _initlists(){
+ double _x; double* _p = &_x;
+ int _i; static int _first = 1;
+  if (!_first) return;
+_first = 0;
+}
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/syn.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "an synaptic current with alpha function conductance defined by\n"
+  "        i = g * (v - e)      i(nanoamps), g(microsiemens);\n"
+  "        where\n"
+  "         g = 0 for t < onset and\n"
+  "         g = gmax * (t - onset)/tau * exp(-(t - onset - tau)/tau)\n"
+  "          for t > onset\n"
+  "this has the property that the maximum value is gmax and occurs at\n"
+  " t = delay + tau.\n"
+  "ENDCOMMENT\n"
+  "					       \n"
+  "NEURON {\n"
+  "	POINT_PROCESS AlphaSynapse\n"
+  "	RANGE onset, tau, gmax, e, i\n"
+  "	NONSPECIFIC_CURRENT i\n"
+  "}\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "PARAMETER {\n"
+  "	onset=0 (ms)\n"
+  "	tau=.1 (ms)	<1e-3,1e6>\n"
+  "	gmax=0 	(uS)	<0,1e9>\n"
+  "	e=0	(mV)\n"
+  "}\n"
+  "\n"
+  "ASSIGNED { v (mV) i (nA)  g (uS)}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	if (gmax) { at_time(onset) }\n"
+  "	g = gmax * alpha( (t - onset)/tau )\n"
+  "	i = g*(v - e)\n"
+  "}\n"
+  "\n"
+  "FUNCTION alpha(x) {\n"
+  "	if (x < 0 || x > 10) {\n"
+  "		alpha = 0\n"
+  "	}else{\n"
+  "		alpha = x * exp(1 - x)\n"
+  "	}\n"
+  "}\n"
+  ;
+#endif
--- /dev/null
+++ neuron-8.2.2/src/nrnoc/vclmp.c
@@ -0,0 +1,770 @@
+/* Created by Language version: 7.7.0 */
+/* NOT VECTORIZED */
+#define NRN_VECTORIZED 0
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "mech_api.h"
+#undef PI
+#define nil 0
+#include "md1redef.h"
+#include "section.h"
+#include "nrniv_mf.h"
+#include "md2redef.h"
+ 
+#if METHOD3
+extern int _method3;
+#endif
+
+#if !NRNGPU
+#undef exp
+#define exp hoc_Exp
+extern double hoc_Exp(double);
+#endif
+ 
+#define nrn_init _nrn_init__VClamp
+#define _nrn_initial _nrn_initial__VClamp
+#define nrn_cur _nrn_cur__VClamp
+#define _nrn_current _nrn_current__VClamp
+#define nrn_jacob _nrn_jacob__VClamp
+#define nrn_state _nrn_state__VClamp
+#define _net_receive _net_receive__VClamp 
+#define update update__VClamp 
+#define vstim vstim__VClamp 
+ 
+#define _threadargscomma_ /**/
+#define _threadargsprotocomma_ /**/
+#define _threadargs_ /**/
+#define _threadargsproto_ /**/
+ 	/*SUPPRESS 761*/
+	/*SUPPRESS 762*/
+	/*SUPPRESS 763*/
+	/*SUPPRESS 765*/
+	 extern double *getarg();
+ static double *_p; static Datum *_ppvar;
+ 
+#define t nrn_threads->_t
+#define dt nrn_threads->_dt
+#define dur (_p + 0)
+#define dur_columnindex 0
+#define amp (_p + 3)
+#define amp_columnindex 3
+#define gain _p[6]
+#define gain_columnindex 6
+#define rstim _p[7]
+#define rstim_columnindex 7
+#define tau1 _p[8]
+#define tau1_columnindex 8
+#define tau2 _p[9]
+#define tau2_columnindex 9
+#define e0 _p[10]
+#define e0_columnindex 10
+#define vo0 _p[11]
+#define vo0_columnindex 11
+#define vi0 _p[12]
+#define vi0_columnindex 12
+#define fac _p[13]
+#define fac_columnindex 13
+#define i _p[14]
+#define i_columnindex 14
+#define e _p[15]
+#define e_columnindex 15
+#define vo _p[16]
+#define vo_columnindex 16
+#define vi _p[17]
+#define vi_columnindex 17
+#define stim _p[18]
+#define stim_columnindex 18
+#define tc _p[19]
+#define tc_columnindex 19
+#define De _p[20]
+#define De_columnindex 20
+#define Dvo _p[21]
+#define Dvo_columnindex 21
+#define Dvi _p[22]
+#define Dvi_columnindex 22
+#define _g _p[23]
+#define _g_columnindex 23
+#define _nd_area  *_ppvar[0]._pval
+ 
+#if MAC
+#if !defined(v)
+#define v _mlhv
+#endif
+#if !defined(h)
+#define h _mlhh
+#endif
+#endif
+ 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ static int hoc_nrnpointerindex =  -1;
+ /* external NEURON variables */
+ /* declaration of user functions */
+ static double _hoc_icur(void*);
+ static double _hoc_update(void*);
+ static double _hoc_vstim(void*);
+ static int _mechtype;
+extern void _nrn_cacheloop_reg(int, int);
+extern void hoc_register_prop_size(int, int, int);
+extern void hoc_register_limits(int, HocParmLimits*);
+extern void hoc_register_units(int, HocParmUnits*);
+extern void nrn_promote(Prop*, int, int);
+extern Memb_func* memb_func;
+ 
+#define NMODL_TEXT 1
+#if NMODL_TEXT
+static const char* nmodl_file_text;
+static const char* nmodl_filename;
+extern void hoc_reg_nmodl_text(int, const char*);
+extern void hoc_reg_nmodl_filename(int, const char*);
+#endif
+
+ extern Prop* nrn_point_prop_;
+ static int _pointtype;
+ static void* _hoc_create_pnt(Object* _ho) { void* create_point_process(int, Object*);
+ return create_point_process(_pointtype, _ho);
+}
+ static void _hoc_destroy_pnt(void*);
+ static double _hoc_loc_pnt(void* _vptr) {double loc_point_process(int, void*);
+ return loc_point_process(_pointtype, _vptr);
+}
+ static double _hoc_has_loc(void* _vptr) {double has_loc_point(void*);
+ return has_loc_point(_vptr);
+}
+ static double _hoc_get_loc_pnt(void* _vptr) {
+ double get_loc_point_process(void*); return (get_loc_point_process(_vptr));
+}
+ extern void _nrn_setdata_reg(int, void(*)(Prop*));
+ static void _setdata(Prop* _prop) {
+ _p = _prop->param; _ppvar = _prop->dparam;
+ }
+ static void _hoc_setdata(void* _vptr) { Prop* _prop;
+ _prop = ((Point_process*)_vptr)->_prop;
+   _setdata(_prop);
+ }
+ /* connect user functions to hoc names */
+ static VoidFunc hoc_intfunc[] = {
+ 0,0
+};
+ static Member_func _member_func[] = {
+ "loc", _hoc_loc_pnt,
+ "has_loc", _hoc_has_loc,
+ "get_loc", _hoc_get_loc_pnt,
+ "icur", _hoc_icur,
+ "update", _hoc_update,
+ "vstim", _hoc_vstim,
+ 0, 0
+};
+#define icur icur_VClamp
+ extern double icur( );
+ /* declare global and static user variables */
+ /* some parameters have upper and lower limits */
+ static HocParmLimits _hoc_parm_limits[] = {
+ "dur", 0, 1e+09,
+ "fac", 1, 10,
+ "gain", 0, 1e+09,
+ "rstim", 1e-09, 1e+09,
+ "tau2", 0, 1e+09,
+ "tau1", 0, 1e+09,
+ 0,0,0
+};
+ static HocParmUnits _hoc_parm_units[] = {
+ "dur", "ms",
+ "amp", "mV",
+ "rstim", "megohm",
+ "tau1", "ms",
+ "tau2", "ms",
+ "e0", "mV",
+ "vo0", "mV",
+ "vi0", "mV",
+ "fac", "1.0",
+ "e", "mV",
+ "vo", "mV",
+ "vi", "mV",
+ "i", "nA",
+ 0,0
+};
+ static double delta_t = 0.01;
+ static double v = 0;
+ /* connect global user variables to hoc */
+ static DoubScal hoc_scdoub[] = {
+ 0,0
+};
+ static DoubVec hoc_vdoub[] = {
+ 0,0,0
+};
+ static double _sav_indep;
+ static void nrn_alloc(Prop*);
+static void  nrn_init(NrnThread*, _Memb_list*, int);
+static void nrn_state(NrnThread*, _Memb_list*, int);
+ static void nrn_cur(NrnThread*, _Memb_list*, int);
+static void  nrn_jacob(NrnThread*, _Memb_list*, int);
+ static void _hoc_destroy_pnt(void* _vptr) {
+   destroy_point_process(_vptr);
+}
+ /* connect range variables in _p that hoc is supposed to know about */
+ static const char *_mechanism[] = {
+ "7.7.0",
+"VClamp",
+ "dur[3]",
+ "amp[3]",
+ "gain",
+ "rstim",
+ "tau1",
+ "tau2",
+ "e0",
+ "vo0",
+ "vi0",
+ "fac",
+ 0,
+ "i",
+ 0,
+ "e",
+ "vo",
+ "vi",
+ 0,
+ 0};
+ 
+extern Prop* need_memb(Symbol*);
+
+static void nrn_alloc(Prop* _prop) {
+	Prop *prop_ion;
+	double *_p; Datum *_ppvar;
+  if (nrn_point_prop_) {
+	_prop->_alloc_seq = nrn_point_prop_->_alloc_seq;
+	_p = nrn_point_prop_->param;
+	_ppvar = nrn_point_prop_->dparam;
+ }else{
+ 	_p = nrn_prop_data_alloc(_mechtype, 24, _prop);
+ 	/*initialize range parameters*/
+ 	gain = 100000;
+ 	rstim = 1;
+ 	tau1 = 0.001;
+ 	tau2 = 0;
+ 	e0 = 0;
+ 	vo0 = 0;
+ 	vi0 = 0;
+ 	fac = 0;
+  }
+ 	_prop->param = _p;
+ 	_prop->param_size = 24;
+  if (!nrn_point_prop_) {
+ 	_ppvar = nrn_prop_datum_alloc(_mechtype, 2, _prop);
+  }
+ 	_prop->dparam = _ppvar;
+ 	/*connect ionic variables to this model*/
+ 
+}
+ static void _initlists();
+ extern Symbol* hoc_lookup(const char*);
+extern void _nrn_thread_reg(int, int, void(*)(Datum*));
+extern void _nrn_thread_table_reg(int, void(*)(double*, Datum*, Datum*, NrnThread*, int));
+extern void hoc_register_tolerance(int, HocStateTolerance*, Symbol***);
+extern void _cvode_abstol( Symbol**, double*, int);
+
+ void _vclmp_reg_() {
+	int _vectorized = 0;
+  _initlists();
+ 	_pointtype = point_register_mech(_mechanism,
+	 nrn_alloc,nrn_cur, nrn_jacob, nrn_state, nrn_init,
+	 hoc_nrnpointerindex, 0,
+	 _hoc_create_pnt, _hoc_destroy_pnt, _member_func);
+ _mechtype = nrn_get_mechtype(_mechanism[1]);
+     _nrn_setdata_reg(_mechtype, _setdata);
+ #if NMODL_TEXT
+  hoc_reg_nmodl_text(_mechtype, nmodl_file_text);
+  hoc_reg_nmodl_filename(_mechtype, nmodl_filename);
+#endif
+  hoc_register_prop_size(_mechtype, 24, 2);
+  hoc_register_dparam_semantics(_mechtype, 0, "area");
+  hoc_register_dparam_semantics(_mechtype, 1, "pntproc");
+ 	hoc_register_var(hoc_scdoub, hoc_vdoub, hoc_intfunc);
+ 	ivoc_help("help ?1 VClamp /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod\n");
+ hoc_register_limits(_mechtype, _hoc_parm_limits);
+ hoc_register_units(_mechtype, _hoc_parm_units);
+ }
+static int _reset;
+static char *modelname = "";
+
+static int error;
+static int _ninits = 0;
+static int _match_recurse=1;
+static void _modl_cleanup(){ _match_recurse=1;}
+static int update();
+static int vstim();
+ 
+#define _RHS1(arg) _coef1[arg][3]
+ static int _slist1[3];static double **_coef1;
+ static void clamp();
+ 
+static int  vstim (  ) {
+   tc = 0.0 ;
+   {int  _lj ;for ( _lj = 0 ; _lj <= 3 - 1 ; _lj ++ ) {
+     stim = amp [ _lj ] ;
+     tc = tc + dur [ _lj ] ;
+     if ( t < tc ) {
+       tc = tc + 100.0 ;
+       
+/*VERBATIM*/
+			break;
+ }
+     } }
+    return 0; }
+ 
+static double _hoc_vstim(void* _vptr) {
+ double _r;
+    _hoc_setdata(_vptr);
+ _r = 1.;
+ vstim (  );
+ return(_r);
+}
+ 
+double icur (  ) {
+   double _licur;
+ double _lvout ;
+ if ( t > tc ) {
+     e0 = 0.0 ;
+     vo0 = 0.0 ;
+     _licur = 0.0 ;
+     }
+   else {
+     error =  0; clamp();
+ error = simeq(3, _coef1, _p, _slist1);
+ if(error){fprintf(stderr,"at line 141 in file /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod:\n		SOLVE clamp\n"); nrn_complain(_p); abort_run(error);}
+ _licur = ( vo - v ) / rstim ;
+     }
+   
+return _licur;
+ }
+ 
+static double _hoc_icur(void* _vptr) {
+ double _r;
+    _hoc_setdata(_vptr);
+ _r =  icur (  );
+ return(_r);
+}
+ 
+static void clamp ()
+ {
+   zero_matrix(_coef1, 3, 4);
+{
+  int _counte = -1;
+ double _lt1 , _lt2 ;
+ _lt1 = tau1 / dt ;
+   _lt2 = tau2 / dt ;
+    ++_counte;
+ _coef1[_counte][0] -=  1.0 ;
+ _RHS1(_counte) -=  v ;
+ _coef1[_counte][1] +=  fac * 1.0 ;
+ _RHS1(_counte) +=  fac * v ;
+   ;
+  ++_counte;
+ _coef1[_counte][1] -=  _lt2 * 1.0 ;
+ _RHS1(_counte) -=  _lt2 * vo0 ;
+ _coef1[_counte][1] -=  1.0 ;
+ _coef1[_counte][2] -=  gain * 1.0 ;
+   ;
+  ++_counte;
+ _RHS1(_counte) -=  stim ;
+ _coef1[_counte][2] +=  1.0 ;
+ _coef1[_counte][0] -=  1.0 ;
+ _coef1[_counte][2] +=  1.0 ;
+ _coef1[_counte][0] -=  _lt1 * 1.0 ;
+ _coef1[_counte][2] +=  _lt1 * 1.0 ;
+ _RHS1(_counte) -=  _lt1 * ( vi0 - e0 ) ;
+ _RHS1(_counte) -=  0.0 ;
+   ;
+ 
+}
+ }
+ 
+static int  update (  ) {
+   i = icur ( _threadargs_ ) ;
+   e0 = e ;
+   vo0 = vo ;
+   vi0 = vi ;
+   
+/*VERBATIM*/
+	return 0;
+  return 0; }
+ 
+static double _hoc_update(void* _vptr) {
+ double _r;
+    _hoc_setdata(_vptr);
+ _r = 1.;
+ update (  );
+ return(_r);
+}
+
+static void initmodel() {
+  int _i; double _save;_ninits++;
+ _save = t;
+ t = 0.0;
+{
+  e = e0;
+  vi = vi0;
+  vo = vo0;
+ {
+   e0 = 0.0 ;
+   vo = v ;
+   vo0 = v ;
+   vi = v ;
+   vi0 = v ;
+   e = 0.0 ;
+   {int  _lj ;for ( _lj = 0 ; _lj <= 3 - 1 ; _lj ++ ) {
+     if ( dur [ _lj ] > 0.0  && amp [ _lj ]  != 0.0 ) {
+       
+/*VERBATIM*/
+		{extern int cvode_active_;
+		if (cvode_active_) {
+			hoc_execerror("VClamp", " does not work with CVODE");
+		}}
+ }
+     } }
+   }
+  _sav_indep = t; t = _save;
+
+}
+}
+
+static void nrn_init(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; double _v; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v = _v;
+ initmodel();
+}}
+
+static double _nrn_current(double _v){double _current=0.;v=_v;{ {
+   vstim ( _threadargs_ ) ;
+   i = icur ( _threadargs_ ) ;
+   }
+ _current += i;
+
+} return _current;
+}
+
+static void nrn_cur(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; int* _ni; double _rhs, _v; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ _g = _nrn_current(_v + .001);
+ 	{ _rhs = _nrn_current(_v);
+ 	}
+ _g = (_g - _rhs)/.001;
+ _g *=  1.e2/(_nd_area);
+ _rhs *= 1.e2/(_nd_area);
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_RHS(_ni[_iml]) += _rhs;
+  }else
+#endif
+  {
+	NODERHS(_nd) += _rhs;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_rhs[_ni[_iml]] += _rhs; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_rhs[0] += _rhs;
+ }
+#endif
+ 
+}}
+
+static void nrn_jacob(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if CACHEVEC
+  if (use_cachevec) {
+	VEC_D(_ni[_iml]) -= _g;
+  }else
+#endif
+  {
+	NODED(_nd) -= _g;
+  }
+  if (_nt->_nrn_fast_imem) { _nt->_nrn_fast_imem->_nrn_sav_d[_ni[_iml]] -= _g; }
+#if EXTRACELLULAR
+ if (_nd->_extnode) {
+   *_nd->_extnode->_d[0] += _g;
+ }
+#endif
+ 
+}}
+
+static void nrn_state(NrnThread* _nt, _Memb_list* _ml, int _type){
+Node *_nd; double _v = 0.0; int* _ni; int _iml, _cntml;
+#if CACHEVEC
+    _ni = _ml->_nodeindices;
+#endif
+_cntml = _ml->_nodecount;
+for (_iml = 0; _iml < _cntml; ++_iml) {
+ _p = _ml->_data[_iml]; _ppvar = _ml->_pdata[_iml];
+ _nd = _ml->_nodelist[_iml];
+#if EXTRACELLULAR
+ _nd = _ml->_nodelist[_iml];
+ if (_nd->_extnode) {
+    _v = NODEV(_nd) +_nd->_extnode->_v[0];
+ }else
+#endif
+ {
+#if CACHEVEC
+  if (use_cachevec) {
+    _v = VEC_V(_ni[_iml]);
+  }else
+#endif
+  {
+    _nd = _ml->_nodelist[_iml];
+    _v = NODEV(_nd);
+  }
+ }
+ v=_v;
+{
+ { error =  update();
+ if(error){fprintf(stderr,"at line 111 in file /home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod:\n	SOLVE update METHOD after_cvode : but not really (see above)\n"); nrn_complain(_p); abort_run(error);}
+ }}}
+
+}
+
+static void terminal(){}
+
+static void _initlists() {
+ int _i; static int _first = 1;
+  if (!_first) return;
+ _slist1[0] = vi_columnindex;
+ _slist1[1] = vo_columnindex;
+ _slist1[2] = e_columnindex;
+ if (_first) _coef1 = makematrix(3, 4);
+_first = 0;
+}
+
+#if NMODL_TEXT
+static const char* nmodl_filename = "/home/debian-build/wuruilong/demo/neuron-8.2.2/src/nrnoc/vclmp.mod";
+static const char* nmodl_file_text = 
+  "COMMENT\n"
+  "Voltage clamp with three levels. Clamp is on at time 0, and off at time\n"
+  "dur[0]+dur[1]+dur[2]. When clamp is off the injected current is 0.\n"
+  "Do not insert several instances of this model at the same location in order to\n"
+  "make level changes. That is equivalent to independent clamps and they will\n"
+  "have incompatible internal state values.\n"
+  "\n"
+  "The control amplifier has the indicated gain and time constant.  The\n"
+  "input amplifier is ideal.  \n"
+  "\n"
+  "		 tau2\n"
+  "	         gain\n"
+  "                +-|\\____rstim____>to cell\n"
+  "-amp --'\\/`-------|/\n"
+  "                |\n"
+  "	        |----||---\n"
+  "	        |___    __|-----/|___from cell\n"
+  "		    `'`'        \\|\n"
+  "		    tau1\n"
+  "\n"
+  "The clamp has a three states which are the voltage input of the gain amplifier,\n"
+  "the voltage output of the gain amplfier, and the voltage output of the\n"
+  "measuring amplifier.\n"
+  "A good initial condition for these voltages are 0, 0, and v respectively.\n"
+  "\n"
+  "This model is quite stiff.  For this reason the current is updated\n"
+  "within the solve block before updating the state of the clamp. This\n"
+  "gives the correct value of the current on exit from fadvance(). If we\n"
+  "didn't do this and\n"
+  "instead used the values computed in the breakpoint block, it \n"
+  "would look like the clamp current is much larger than it actually is since it\n"
+  "doesn't take into account the change in voltage within the timestep, ie\n"
+  "equivalent to an almost infinite capacitance.\n"
+  "Also, because of stiffness, do not use this model except with secondorder=0.\n"
+  "\n"
+  "This model makes use of implementation details of how models are interfaced\n"
+  "to neuron. At some point I will make the translation such that these kinds\n"
+  "of models can be handled straightforwardly.\n"
+  "\n"
+  "Note that since this is an electrode current model v refers to the\n"
+  "internal potential which is equivalent to the membrane potential v when\n"
+  "there is no extracellular membrane mechanism present but is v+vext when\n"
+  "one is present.\n"
+  "Also since i is an electrode current,\n"
+  "positive values of i depolarize the cell. (Normally, positive membrane currents\n"
+  "are outward and thus hyperpolarize the cell)\n"
+  "ENDCOMMENT\n"
+  "\n"
+  "DEFINE NSTEP 3\n"
+  "\n"
+  "NEURON {\n"
+  "	POINT_PROCESS VClamp\n"
+  "	ELECTRODE_CURRENT i\n"
+  "	RANGE e0,vo0,vi0,dur,amp,gain,rstim,tau1,tau2,fac,i\n"
+  "}\n"
+  "\n"
+  "UNITS {\n"
+  "	(nA) = (nanoamp)\n"
+  "	(mV) = (millivolt)\n"
+  "	(uS) = (microsiemens)\n"
+  "}\n"
+  "\n"
+  "\n"
+  "PARAMETER {\n"
+  "	dur[NSTEP] (ms)		<0, 1e9>\n"
+  "	amp[NSTEP] (mV)\n"
+  "	gain = 1e5		<0,1e9>\n"
+  "	rstim = 1 (megohm)	<1e-9,1e9>\n"
+  "	tau1 = .001 (ms)	<0,1e9>\n"
+  "	tau2 = 0   (ms)		<0,1e9>\n"
+  "	e0 (mV) vo0 (mV) vi0(mV)\n"
+  "	fac=0			<1,10>\n"
+  "}\n"
+  "\n"
+  "ASSIGNED {\n"
+  "	v (mV)	: automatically v + vext when extracellular is present\n"
+  "	dt (ms)\n"
+  "	i (nA)\n"
+  "	stim (mV)\n"
+  "	tc (ms)\n"
+  "}\n"
+  "\n"
+  "\n"
+  "STATE {\n"
+  "	e (mV)\n"
+  "	vo (mV)\n"
+  "	vi (mV)\n"
+  "}\n"
+  "\n"
+  "INITIAL {\n"
+  "	e0 = 0\n"
+  "	vo = v\n"
+  "	vo0 = v\n"
+  "	vi = v\n"
+  "	vi0 = v\n"
+  "	e = 0\n"
+  "	FROM j=0 TO NSTEP-1 { if (dur[j] > 0 && amp[j] != 0) {\n"
+  "		: nrn/lib/hoc/electrod.hoc always installs a VClamp\n"
+  "		: stopping cvode here if the clamp is on still allows\n"
+  "		: that tool to control a IClamp under cvode\n"
+  "		VERBATIM\n"
+  "		{extern int cvode_active_;\n"
+  "		if (cvode_active_) {\n"
+  "			hoc_execerror(\"VClamp\", \" does not work with CVODE\");\n"
+  "		}}\n"
+  "		ENDVERBATIM\n"
+  "	}}\n"
+  "}\n"
+  "\n"
+  "BREAKPOINT {\n"
+  "	SOLVE update METHOD after_cvode : but not really (see above)\n"
+  "	vstim()\n"
+  "	i = icur()\n"
+  "}\n"
+  "\n"
+  "PROCEDURE vstim() { : can't be called from update since vinput must\n"
+  "			: remain constant throughout dt interval and\n"
+  "			: update is called at t+dt\n"
+  "	tc = 0 (ms)\n"
+  "	FROM j=0 TO NSTEP-1 {\n"
+  "		stim = amp[j]\n"
+  "		tc = tc + dur[j]\n"
+  "		if (t < tc) {\n"
+  "			tc = tc + 100	: clamp is definitely not off\n"
+  "			VERBATIM\n"
+  "			break;\n"
+  "			ENDVERBATIM\n"
+  "		}\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "FUNCTION icur()(nA) {  : since this function uses range variables, it\n"
+  "			: should not be called from hoc. If you want to\n"
+  "			: know the current, look in i_vc\n"
+  "	LOCAL vout\n"
+  "	if (t > tc) {\n"
+  "		e0 = 0\n"
+  "		vo0 = 0\n"
+  "		icur = 0\n"
+  "	}else{\n"
+  "		SOLVE clamp\n"
+  "		icur = (vo - v)/rstim\n"
+  "	}\n"
+  "}\n"
+  "\n"
+  "LINEAR clamp {\n"
+  "	LOCAL t1, t2\n"
+  "	t1 = tau1/dt\n"
+  "	t2 = tau2/dt\n"
+  "	~ vi = v + fac*vo - fac*v\n"
+  "	~ t2*vo - t2*vo0 + vo = -gain * e\n"
+  "	~ -stim - e  +  vi - e  +  t1*vi - t1*e - t1*(vi0 - e0)\n"
+  "	  = 0\n"
+  "}\n"
+  "\n"
+  "PROCEDURE update() {\n"
+  "	i = icur()\n"
+  "	e0 = e\n"
+  "	vo0 = vo\n"
+  "	vi0 = vi\n"
+  "	VERBATIM\n"
+  "	return 0;\n"
+  "	ENDVERBATIM\n"
+  "}\n"
+  "\n"
+  "COMMENT\n"
+  "This implementation is not very high level since the clamp uses a state which\n"
+  "must be computed at the same time as the membrane potential and doesn't fit\n"
+  "into the paradigm normally used for channel states.\n"
+  "The state, vinput0, at t is integrated from its old value saved in vinput.\n"
+  "The value of vinput (as well as the initial values of v and the output\n"
+  "of the control amplifier) is updated when the SOLVE\n"
+  "is executed.  Notice that the icur function is very stiff with respect to\n"
+  "v. For this reason i is only good for the user after the SOLVE is\n"
+  "executed.\n"
+  "ENDCOMMENT\n"
+  ;
+#endif


More information about the debian-science-maintainers mailing list